PK_EASYPAISA_QRPH
POST/payments
Pakistan Easypaisa QR payment. Same flow as PK_EASYPAISA; the payment content is a QR code.
Next action and action.payContent
Choose one mode inside the matching paymentMethod branch (pkEasypaisa, pkJazzcash, pkEasypaisaQrph or pkJazzcashQrph). The Request examples below include all three modes.
| Mode | Fields | Creation result |
|---|---|---|
| Direct | direct: "1" and mobile; omit autoFill | Normally PROCESSING; use action.url to continue payment |
| Empty form | autoFill: "0"; omit direct | PENDING with the platform checkout; payer enters mobile and submits |
| Prefilled form | autoFill: "1" and mobile; omit direct | PENDING with the platform checkout; payer confirms or edits mobile and submits |
Use strings "0" and "1", not numbers or booleans. direct="1" cannot be combined with either autoFill value. A supplied mobile must contain 11 digits starting with 03. With autoFill="0", a supplied mobile is not prefilled.
If both modes are omitted, mobile present means immediate channel creation; mobile absent means an empty hosted form. direct="0" does not by itself select interactive checkout: use autoFill explicitly. Upstream direct-mode settings affect the upstream flow, not whether the platform waits for form submission.
Interactive checkout must be submitted within 30 minutes of order creation. Late submissions are rejected even before the background scan updates the status. Unsubmitted orders are closed as EXPIRED by a periodic scan after 30 minutes and 15 seconds, and a webhook is sent. The scan runs every minute, so closing may happen later. This deadline does not apply to direct orders or orders already submitted to the channel. Create a new order to retry after expiry.
Always open action.url; action.payContent may be absent before submission. The payer may edit the mobile before submitting, but the payment method stays the one selected at creation. Merchants do not need to call the hosted form's internal submission endpoint. HTTP 200, PROCESSING and a browser redirect do not confirm payment success; use order queries or verified webhooks. The default response example is for direct mode.
For QR methods, payment content depends on the channel response. Use the hosted checkout at action.url to display it.
Request
Responses
- 200
- 400
- 401
- 403
- 409
- 429
- 500
- 503
Success
INVALID_FIELD
UNAUTHORIZED
METHOD_NOT_ENABLED
IDEMPOTENCY_CONFLICT
RATE_LIMITED
INTERNAL_ERROR
SERVICE_UNAVAILABLE