JazzCash
The customer approves the payment on their handset. You are told the moment they do.
PayFlow takes JazzCash and EasyPaisa payments from your own checkout — one signed API call, one dashboard, one settlement into your bank account. No bank integration project, no monthly fee.
Every method below is the same two API calls: create a payment, then charge it. Rupees only, for now.
The customer approves the payment on their handset. You are told the moment they do.
Same flow, same API call, one different endpoint. Nothing else in your integration changes.
A QR code any wallet app can read — for a counter, an invoice, or a printed bill.
Taken from each completed payment. Nothing on failed payments, nothing monthly, nothing to start.
10%
per completed payment, in rupees. The rate is snapshotted onto the payment when it completes, so a change never reaches one already taken.
Both figures appear on every payment in your dashboard and on every statement, so a settlement can be checked line by line. Completed payments are gathered into a statement and settled to your bank account on a 3-business-day cycle.
Plain REST over HTTPS, JSON or form-encoded, signed with HMAC-SHA256. No SDK to install, no library to keep up to date, nothing that has to run on your server but a POST.
Join the values with a pipe, in the documented order, and sign the result with your API secret.
$string = "PGW-M-000123|1999.99|PKR|ORDER-4417|buyer@example.com|1757000000";
$signature = hash_hmac('sha256', $string, $secret);
Any language with an HMAC function does this in two lines. The reference publishes a signing string, a secret and the digest they produce, so you can prove your implementation before you send a live request.
Create the payment and redirect. The checkout is ours to keep working on every handset — wallet choice, mobile number, confirmation and the wait, all of it.
POST /api/v1/payments/
→ { "checkout_url": "…/pay/PGW-…" }
Redirect the customer there.
The page holds a payment open for 25 minutes, then expires it. You are told the outcome by webhook either way, so you never have to guess.
The ones support is asked most, answered without a hedge.
Pakistani rupees only. The API rejects anything else outright rather than converting it, so there is never a question about what a customer was charged.
No. Create the payment and redirect the customer to the checkout we host; it handles wallet choice, the mobile number, the confirmation wait and the result. If you would rather keep the customer on your own site, call the charge endpoints yourself — both routes use the same API.
We send you a signed webhook the moment a payment reaches a final state, and retry it if your server does not acknowledge. The status endpoint is always authoritative, so a missed webhook is never a lost payment. One rule matters: a 202 means the customer has not approved it yet. Wait for completed before you release anything.
Completed payments are gathered into a statement and paid out to your verified bank account on a rolling cycle, currently 3 business days. Every statement itemises the payments in it alongside the fee taken, so it reconciles against your own records without a phone call.
Your CNIC, your business details, and the bank account you want to be paid into. Until that is done and approved your account can sign in and read the docs, but payments are declined — we will not take money we have no verified way to send onward.
Not yet, and we would rather say so than point you at something that does not exist. Two things make the first integration safe anyway: the reference page publishes a real signing string, secret and digest so you can verify your HMAC before you send a single request, and a payment you create but never charge costs nothing and expires by itself.
We try 3 times, spaced out over the following minutes. After that the delivery is left recorded as failed and the payment is unaffected — ask the status endpoint whenever you come back up.
Still unsure about something? support@payflow.com reaches a person.
Create the account now and read the reference while you wait for verification. Nothing is charged until you take your first payment.
Create an account