Pakistan payment methods PAYJN supports
Final availability, limits and fees are confirmed for each approved merchant setup.
| Method | Pay-in | Payouts |
|---|---|---|
| JazzCash | Customer pays from a JazzCash wallet | PKR sent to a JazzCash wallet account |
| Easypaisa | Customer pays from an Easypaisa wallet | PKR sent to an Easypaisa wallet account |
Published scope only. Each method, limit and fee depends on merchant approval. Collection approval does not by itself enable payouts.
How a Pakistan wallet payment works, step by step
- Your system creates the order with a unique merchant reference and the exact PKR amount, and calls the PAYJN API.
- PAYJN returns the payment step for the chosen wallet, as described in your integration documentation.
- The customer approves the payment in JazzCash or Easypaisa. Your page should explain what the customer will see and how long the request stays open.
- PAYJN sends a callback when the payment result is known. Your server verifies it and updates the order once, even if the callback arrives more than once.
- If the callback is late, query the order status instead of asking the customer to pay again.
- Reconcile daily against the transaction report, including expired and failed attempts.
JazzCash and Easypaisa: what to get right
Follow the authorization steps documented for each approved wallet route. Where the customer approves the payment outside your page, design the checkout so a slow or interrupted approval does not turn into a lost order or a double charge.
- Wallet account details: collect the details your documentation requires, typically the mobile number linked to the wallet, and validate the format before creating the order.
- Exact amount: show the PKR amount the customer will approve and do not let it change after the order is created.
- Expiry: show how long the customer has to approve, and decide what happens to an approval that arrives after the order has expired.
- Return to your page: treat it as navigation only. Mark the order paid only after your server receives and verifies the PAYJN callback, or confirms the status by query.
- Never ask for a PIN: your support team should never request a customer's wallet PIN, password or one-time code.
For a detailed planning checklist, read the Easypaisa and JazzCash integration guide.
Transaction states and what your system should do
| State | Meaning | Your system should |
|---|---|---|
| Created / pending | Payment requested, not yet confirmed | Wait for the customer's approval; do not fulfil |
| Paid | Payment confirmed for the order | Fulfil once, record the PAYJN reference |
| Failed | Payment declined or not completed | Let the customer start a new attempt |
| Expired | No confirmed payment before the deadline | Close the order; investigate any later payment |
| Unknown after timeout | Your request or callback timed out | Query status before any retry; never create a duplicate order |
Pakistan payouts to JazzCash and Easypaisa
PAYJN payouts in Pakistan send PKR to JazzCash and Easypaisa wallet accounts. Common uses include seller settlements, commissions and customer withdrawals. Plan each payout with validated beneficiary details, a funded balance, one stable merchant reference and a clear rule for timeouts: query the original payout first, and create a replacement only after the original is confirmed as failed and the replacement is approved.
The Pakistan payout API page covers beneficiary checks, payout states and controls in detail.
Reconciliation and exception handling
Finance teams should be able to explain every PKR movement. Match each paid order to its PAYJN transaction reference and amount every day, and keep a short list of open exceptions with an owner for each.
- Paid but order still pending: check whether the callback reached your server, then query the order status.
- Customer says they paid, no record: ask for the payment time, amount and wallet transaction ID, and send them to PAYJN support through the agreed channel.
- Duplicate callbacks: acknowledge each one, but credit the order only once. See how to handle duplicate payment webhooks.
- Repeated attempts: if a customer tries again after a failure, link the attempts to the same order so only one can be fulfilled.
What you need before going live in Pakistan
- Company details, product website and a clear description of what customers pay for.
- The methods and directions you need (JazzCash or Easypaisa, collections, payouts or both) and expected monthly PKR volume and average order value.
- Your callback endpoint, status query handling and a test plan for success, failure, expiry and duplicate callbacks.
- A named contact for daily reconciliation and escalation.
Fees, limits, settlement arrangements and timelines are agreed for each approved business. If you operate a platform for several merchants, describe each underlying merchant during review. Start with the local payment API checklist or review the integration approach. A new business with no prior processing history can apply too; see what PAYJN reviews instead.
