Skip to content

Logo

PIQPAY

Local payments. Global success.

Supports in this guide: Payments, Payouts

Provider website: piqpay.com


What you need to do for start processing transactions (brief summary)

  1. Get your credentials (from PIQPAY)
  2. Connect in Dashboard
  3. Send an API request

Prerequisites: get from PIQPAY

Contact your PIQPAY account manager to get your account verified and receive the following credentials. One Provider account connection covers both Payments and Payouts.

  • Merchant ID -> Corefy field merchant_id.
  • API Key -> Corefy field api_key.
  • Secret Key -> Corefy field secret_key.
  • Public Key -> Corefy field public_key.

BDT (Bangladesh) and PKR (Pakistan) only.


Payments processing (connect Provider account, create payment-invoice)

Connect Provider account in Corefy Dashboard

Step 1 - Open connection form

Open PIQPAY in the provider directory and press Connect at PIQPAY Provider Overview page in the New connection section.

Step 2 - Fill in fields and select settings

  • Merchant ID
  • API Key
  • Secret Key
  • Public Key
  • Test Mode -> (enable if you are using sandbox credentials)

Choose Currency / Features; check with your Corefy account manager which methods are enabled for your account.

Success

You have connected PIQPAY Provider account!


First request to Corefy API (MIN)

What it does: creates a payment-invoice. bKash and Nagad (Bangladesh, BDT) redirect the customer to a PIQPAY-hosted page. JazzCash and EasyPaisa (Pakistan, PKR) are available as two different service variants - see the important note below.

Payment - MIN

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "1a2b3c4d-5e6f-4a7b-8c91-2d3e4f5a6b7c",
      "service": "bkash_limited_bdt_hpp",
      "currency": "BDT",
      "amount": 10
    }
  }
}

This connector also supports nagad_wallet_bdt_hpp (BDT), and for Pakistan jazzcash_pkr_transfer/jazzcash_pkr_invoice/easypaisa_pkr_transfer/easypaisa_pkr_invoice (PKR).

Payment - MAX

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "2b3c4d5e-6f7a-4b8c-8d02-3e4f5a6b7c8d",
      "service": "bkash_limited_bdt_hpp",
      "currency": "BDT",
      "amount": 10,
      "customer": {
        "reference_id": "cus_123"
      }
    }
  }
}

customer is entirely optional - only customer.reference_id is forwarded, nothing else from customer is used.


Extended request (MAX)

Why add extra fields (typical reasons): - Provide additional customer details for compliance/reconciliation - Positively influence conversion rate - Include optional fields required by your specific flow

Important

For JazzCash/EasyPaisa, PIQPAY offers two different flows per method:

  • *_transfer services -> a direct push to the customer's wallet, no redirect. fields.phone_number (the customer's own wallet number) is required in the initial request.
  • *_invoice services -> creates the payment-invoice first; Corefy then requires a confirmation step where the customer's phone number is submitted separately to finalize the transaction, instead of collecting it upfront.
{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "3c4d5e6f-7a8b-4c9d-8e13-4f5a6b7c8d9e",
      "service": "jazzcash_pkr_transfer",
      "currency": "PKR",
      "amount": 10,
      "fields": {
        "phone_number": "+923001234567"
      }
    }
  }
}

Options

  • autofail_delay_in_hours -> optional, number (minimum 1) - once this many hours have passed since creation, an active status check additionally treats a cancelled/expired-like provider status as a final failure, instead of leaving it pending indefinitely.

Refunds

This connector does not support refunds.


Payouts processing (connect Provider account, create payout-invoice)

Connect Provider account in Corefy Dashboard

Uses the same Provider account connection as Payments above - one connection covers both directions, nothing extra to fill in for payouts specifically.


First request to Corefy API (MIN)

What it does: creates a payout-invoice and sends funds to a bKash, Nagad, JazzCash, or EasyPaisa wallet, depending on what's enabled for your account.

Payout - MIN

POST /api/payout-invoices

{
  "data": {
    "type": "payout-invoice",
    "attributes": {
      "reference_id": "4d5e6f7a-8b9c-4d0e-8f24-5a6b7c8d9e0f",
      "service": "bkash_limited_bdt",
      "currency": "BDT",
      "amount": 10,
      "fields": {
        "account_number": "+8801234567890"
      }
    }
  }
}

Important

fields.account_number (the recipient's wallet number) is required.

Payout - MAX

POST /api/payout-invoices

{
  "data": {
    "type": "payout-invoice",
    "attributes": {
      "reference_id": "5e6f7a8b-9c0d-4e1f-8a35-6b7c8d9e0f1a",
      "service": "bkash_limited_bdt",
      "currency": "BDT",
      "amount": 10,
      "customer": {
        "reference_id": "cus_123"
      },
      "fields": {
        "account_number": "+8801234567890"
      }
    }
  }
}

customer is entirely optional.


Extended request (MAX)

Why add extra fields (typical reasons): - Provide additional customer details for compliance/reconciliation - Positively influence conversion rate - Include optional fields required by your specific flow


Additional info

  1. Callback routing is automatic - Corefy generates the callback/return URLs per transaction, nothing to configure in PIQPAY's own back-office.
  2. Active reconciliation is available - both Payments and Payouts support an active status request, in addition to the asynchronous callback.
  3. No refunds - this connector does not support refunds through Corefy.

FAQ / Troubleshooting

  • Invalid credentials / auth error -> verify Merchant ID/API Key/Secret Key/Public Key for the selected environment
  • Payment fails with a missing phone number error -> for JazzCash/EasyPaisa *_transfer services, fields.phone_number is required upfront; for *_invoice services, it's collected via a separate confirmation step instead
  • Refund request fails -> refunds aren't supported by this connector
  • Currency or service is not supported -> confirm allowed methods in your PIQPAY account and in Corefy - only BDT (Bangladesh) and PKR (Pakistan) are available

Question

Still looking for help connecting your PIQPAY account? Please contact our support team!