eekaam.docs

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 EekaamWhere to find itNotes
API KeySettings → API credentialsSent with every request
API SecretSettings → API credentialsSigns every request. Use your main merchant secret, not a sub-merchant one
Branch CodeBranchesRequired on every request. The branch must be approved by an AssanPay admin first
API base URLLeave 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

  1. Go to Settings → Payments.
  2. Under Add a payment provider, choose AssanPay and press Install.
  3. Paste the API Key, API Secret and Branch Code.
  4. Press Save, then Test connection. This performs a signed balance check — it moves no money and creates no order.
  5. 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

  1. The shopper picks AssanPay at checkout.
  2. Eekaam creates a checkout session and redirects them to AssanPay's hosted page.
  3. They pay by card, wallet or QR.
  4. 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