Payment providers
AssanPay
Connecting AssanPay
AssanPay is a Pakistani payment gateway that puts cards, JazzCash, Easypaisa and QR behind a single hosted checkout page. Connecting it lets shoppers pay with any of those without you holding an account with each one.
Money settles into your AssanPay merchant account.
Before you start: the IP allowlist
AssanPay refuses API calls from any server it does not recognise. Before anything else, ask AssanPay to allowlist your store's server IP. Until they do, saving credentials will appear to work but Test connection will fail, and shoppers will not be able to pay.
This is the single most common reason an AssanPay connection does not work.
What you need
From the AssanPay merchant portal:
| Field in Eekaam | Where to find it | Notes |
|---|---|---|
| API Key | Settings → API credentials | Sent with every request |
| API Secret | Settings → API credentials | Signs every request. Use your main merchant secret, not a sub-merchant one |
| Branch Code | Branches | Required on every request. The branch must be approved by an AssanPay admin first |
| API base URL | — | Leave blank unless AssanPay gave you a different host |
You can also pin a single payment method — Easypaisa, JazzCash, QR or Card — if you want the hosted page to offer only one. Leave it blank to let the shopper choose.
Connect it in Eekaam
- Go to Settings → Payments.
- Under Add a payment provider, choose AssanPay and press Install.
- Paste the API Key, API Secret and Branch Code.
- Press Save, then Test connection. This performs a signed balance check — it moves no money and creates no order.
- Switch At checkout on and press Save in the header.
You do not need to paste anything into AssanPay's dashboard. Eekaam sends the callback and return URLs with each individual payment.
How a payment runs
- The shopper picks AssanPay at checkout.
- Eekaam creates a checkout session and redirects them to AssanPay's hosted page.
- They pay by card, wallet or QR.
- AssanPay calls your store back with a signed result, and the order moves to paid.
Every callback signature is verified before an order is touched. A payment result that does not verify is rejected.
Limits
Refunds must be issued from the AssanPay merchant portal. They are not part of AssanPay's API, so Eekaam cannot issue them for you.
Encrypted callbacks are not supported. If AssanPay has enabled payload encryption on your account, ask them to turn it off for this integration.
Troubleshooting
"Test connection" fails with an IP message. Your server is not allowlisted. Only AssanPay can fix this.
"Invalid credentials". Check the Branch Code is present and approved, and that you used the main merchant API secret.
Orders stay pending. AssanPay retries its callback three times — after 15 seconds, 30 seconds, then 60 seconds — before giving up. If nothing arrives, Eekaam settles the order by asking AssanPay for the payment status directly, so a pending order usually resolves on its own within the reconciliation window.
Updated 15 September 2026