Storecrafto

Payments

How to accept EasyPaisa payments on your website

The difference between taking EasyPaisa by screenshot and taking it properly — what an integrated checkout does, what you need to apply, and the one mistake that will cost you real money.

Almost every Pakistani seller starts by taking EasyPaisa the manual way: the customer transfers to your number, sends a screenshot, and you check your app before dispatching. It works, right up until it doesn't.

This guide covers what integrated EasyPaisa checkout actually is, what you need before you apply for it, and the one settlement mistake that catches nearly everybody who builds this themselves.

The manual method, and why it stops working

Sending customers your EasyPaisa number and asking for a screenshot has four problems that grow with your order volume:

  • Screenshots are trivially faked. A cropped or edited screenshot is enough to get a parcel

dispatched if nobody checks the actual account.

  • You are the reconciliation system. Every order needs a human to open the app, find the

transfer, and match it to a customer. That is fine at five orders a day and impossible at fifty.

  • You lose the customers who won't wait. A buyer who has to leave your site, open another app,

transfer, screenshot, and come back has four opportunities to abandon the purchase.

  • A personal account isn't built for this. Consumer accounts carry transaction and balance

limits that a growing store will run into.

The fix isn't to work harder at reconciliation. It's to make the payment part of the checkout.

What an integrated checkout actually does

With a proper EasyPaisa merchant integration, the flow looks like this:

  1. The customer picks EasyPaisa at your checkout and taps Pay.
  2. They're taken to EasyPaisa's own hosted payment page — you never handle their PIN, OTP or

account credentials.

  1. They authorise the payment there.
  2. They're returned to your store, and your system confirms the payment with EasyPaisa directly

before the order is marked paid.

  1. The money settles into your own EasyPaisa merchant account.

The important part is step 4, and it's where most home-built integrations go wrong. More on that below.

What you need before you apply

EasyPaisa's merchant onboarding is a business process, not a signup form. Broadly you'll be asked to establish that you are a real business with a real bank relationship — business documentation, identity documents for the owner, and settlement account details.

We're deliberately not listing exact documents, fees or approval timelines here. Those change, they vary by the type of account you're applying for, and a stale list on a blog is worse than no list. Get them from EasyPaisa directly, or ask your bank's merchant services desk.

What we can tell you is the shape of it: expect it to take longer than a day, expect the business details you give to be checked, and expect a registered business address and a working contact number to be non-negotiable. Have that in order before you start.

The mistake that will cost you money

Here is the part almost nobody writes down.

When the customer finishes paying, they get redirected back to your site — and that redirect usually carries a status parameter that looks like a success code. Do not mark the order paid on the basis of that redirect.

Two things go wrong if you do:

  • The redirect can be forged. It travels through the customer's browser. Anyone can construct a

URL with a success-looking code and hit your return page.

  • A success-looking code is not the same as settled money. Gateway response codes are about

whether the *request* was accepted, not whether funds actually cleared. It is entirely possible to get an encouraging-looking code on a transaction that never completed.

The correct pattern, whatever platform you're on:

StepDo thisNever do this
Customer returnsTreat it as "check now", nothing moreMark the order paid
Confirming paymentCall the gateway's order-status API from your serverTrust a value from the browser
Deciding to shipShip only on an explicit paid status from that APIShip on a redirect parameter
Repeat callbacksMake settlement idempotent — the same payment may be reported twiceCreate a second order

If you're building this yourself, that table is the whole game. Get it wrong and you will dispatch parcels against payments that never arrived, and you will not find out for weeks.

How this works on Storecrafto

You connect your own EasyPaisa merchant account. Money moves from your customer to your account — it never passes through us, and we take 0% commission on your sales. Our only revenue is the flat monthly subscription.

The settlement logic above is already handled: the return from the gateway triggers a server-side verification, orders are only marked paid on a confirmed status, and repeated callbacks can't create duplicate orders. You switch EasyPaisa on in your payment settings and it appears at checkout alongside whichever other methods you've enabled — cards via PayFast, bank transfer, and Cash on Delivery.

Once an order is paid, your customer can get the confirmation on WhatsApp rather than an email they may never open.

The short version

  • Screenshot-and-confirm works until it doesn't. Plan to move off it before you have to.
  • An integrated checkout keeps the customer on your store and removes manual reconciliation.
  • Get document and fee requirements from EasyPaisa directly — don't trust a list on a blog.
  • Never mark an order paid from a browser redirect. Verify server-side, ship on that.

*Last verified: July 2026. EasyPaisa's merchant requirements, fees and APIs change — confirm current details with EasyPaisa before you build or apply.*

Ready to open your store?

Connect your own EasyPaisa, card and COD accounts, and keep 100% of every sale.

Start free trial