PAYMENT GATEWAY GUIDE

JazzCash Payment Gateway Integration in Website

How to add JazzCash and Easypaisa to a WooCommerce or custom website: credentials, sandbox testing, hash errors and go-live checks.

WEBSITE DEVELOPMENT JazzCash Payment GatewayIntegration in Website digital-marketing.pk

JazzCash payment gateway integration in a website takes three things: an approved JazzCash merchant account, its credentials (Merchant ID, Password and Integrity Salt), and a plugin or server code that signs each request with HMAC-SHA256 and verifies the response. Test in the sandbox first, then switch to live credentials. Easypaisa follows a similar pattern.

Key takeaways

  • You cannot go live without a merchant account approved by JazzCash, Easypaisa or a licensed aggregator; free sandbox access is for testing only.
  • Sandbox and live credentials are separate. Mixing them is the most common reason payments fail.
  • Most order-status failures trace back to a wrong Integrity Salt or hash key, or to a return/IPN URL not registered in the merchant portal.
  • Store currency must be PKR, and many Pakistani gateway plugins only support the classic WooCommerce checkout.

Quick answer: how JazzCash integration works

The customer picks JazzCash at checkout. Your site builds a payment request (amount, order reference, return URL), signs it with your Integrity Salt, and sends the customer to JazzCash's hosted page. The customer pays by card, JazzCash mobile account or over-the-counter voucher. JazzCash then returns a signed response to your site, which verifies the signature and marks the order paid, pending or failed.

JazzCash introduced a hosted checkout so card details are processed on payment-network servers rather than stored by the merchant, which keeps most card-security compliance off your plate. For WooCommerce you can use a plugin; for custom PHP, Laravel or Node.js sites you write the signing and callback handling yourself.

Who this guide is for

Store owners deciding how to accept wallet payments, and developers doing the integration. If you would rather have it done, our ecommerce development team handles gateway setup as part of a store build.

Key factors before you integrate an online payment gateway in Pakistan

1. Direct merchant account or aggregator

You can apply to JazzCash and Easypaisa separately, or use a licensed aggregator that offers several methods under one contract. Aggregators such as PayFast, which got a commercial licence from the State Bank of Pakistan in 2021, accept cards, wallets and bank accounts through one integration. Fewer contracts and one dashboard come at the cost of an extra party in the settlement chain.

Direct vs aggregator
Direct (JazzCash / Easypaisa)Aggregator
ContractsOne per providerOne
Integrations to buildOne per providerOne
Payment methodsThat provider's wallet, cards, vouchersCards, several wallets, bank accounts
SupportProvider's merchant supportAggregator's support
Best forStores wanting one wallet quicklyStores wanting every method in one checkout

2. Documents and approval

Providers verify your business before issuing live credentials. Expect to supply business registration or NTN details, owner CNIC, a business bank account and a working website showing products, prices, contact details, and refund and delivery policies. Requirements vary by provider and business type, so confirm the current list with their merchant team. Start this in week one of a build; approval is often the slowest step.

3. Your platform and checkout

WooCommerce has the widest choice of Pakistani gateway plugins. Shopify needs a gateway app approved for your store; our Shopify development team can advise which apps support Pakistani wallets. Custom sites need server-side code, which our software development team writes and maintains. In every case the store currency must be PKR.

4. Hosting and SSL

Callbacks only reach a site that is publicly accessible over HTTPS with a valid certificate. Cheap hosting that blocks outgoing requests or times out under load causes silent payment failures. Our guide to hosting in Pakistan covers what to look for.

Step-by-step plan: JazzCash and Easypaisa on WooCommerce

  1. Get sandbox credentials

    Register on the JazzCash sandbox portal. You receive a test Merchant ID, Password and Integrity Salt. Wallet and voucher methods may also need a Bank ID and Product ID.

  2. Install a gateway plugin

    On WooCommerce, install a JazzCash plugin such as Fauran Pay with JazzCash, which supports cards, mobile account and vouchers. Check it supports your WooCommerce and PHP versions.

  3. Enter credentials in sandbox mode

    Go to WooCommerce > Settings > Payments, enable each JazzCash method, paste the sandbox credentials and keep Sandbox Mode on. Turn on debug logging.

  4. Register return and IPN URLs

    Copy the Return URL and IPN URL the plugin shows and add them in your JazzCash portal. The IPN lets JazzCash update orders paid later, such as vouchers paid at a shop.

  5. Run test transactions

    Test a successful payment, a cancelled payment, insufficient balance and an expired voucher. Confirm each order lands in the right WooCommerce status.

  6. Apply for live credentials

    Complete merchant verification on the JazzCash merchant portal. Live credentials are different from sandbox ones.

  7. Switch to live and test with real money

    Paste live credentials, turn off Sandbox Mode, and place a small real order with each method. Refund it through the merchant portal.

  8. Add Easypaisa the same way

    Easypaisa issues a Store ID and Hash Key after the merchant agreement. Install an Easypaisa plugin, test in its sandbox, register the postback URL, then go live.

For custom PHP, Laravel or Node.js sites

  • Build the request with the required pp_ fields (amount, bill reference, transaction reference, date-time, expiry, return URL).
  • Send the amount in paisa: PKR multiplied by 100 as an integer, so PKR 1,500 becomes 150000, per community integration notes such as this JazzCash connector reference.
  • Compute pp_SecureHash with HMAC-SHA256 over the sorted field values using your Integrity Salt, on the server only.
  • On return and IPN, recompute the hash and compare before changing order status. Never trust the browser redirect alone.
  • Treat response code 000 as success and handle pending and failure codes explicitly. Verify field names and endpoints against the integration document JazzCash gives you, since public references are unofficial.

Real examples of how Pakistani stores set up payments

These are typical setups we recommend by business type. They are patterns, not client results.

Common payment setups
BusinessRecommended setupWhy
Fashion brand, mostly CODCOD + JazzCash + Easypaisa, prepaid discountNudges buyers to prepay and cuts refused parcels
Electronics storeCards + wallets via aggregator, COD capped by valueHigh-value orders need protection from fake COD
School or academy feesWallets + vouchers, IPN-driven confirmationParents often pay at a shop after ordering
Clinic booking depositsWallet payment on a booking formReduces no-shows without a full store
Exporter selling abroadInternational card processor, not PK walletsOverseas buyers do not hold PK wallets
Placeholder: Add real case result: Pakistani store after adding JazzCash/Easypaisa, prepaid order share before/after, timeframe

Courier and COD workflows sit next to payments, and stores selling via chat often send payment links after click-to-WhatsApp ads or WhatsApp broadcasts. Plugins such as TrackKaro reconcile COD collected by PostEx, TCS, Leopards and others against courier payouts, which helps finance match wallet and cash income in one place.

Mistakes to avoid

Common errors and fixes
SymptomLikely causeFix
Payment succeeds but order stays pendingIPN/return URL not registered or blockedRegister both URLs in the portal; check firewall and security plugins
Hash or signature mismatchWrong Integrity Salt or hash key, or wrong field orderRecopy the salt without spaces; match the field order in the provider's spec
Gateway missing at checkoutBlock-based checkout or non-PKR currencyUse the classic checkout shortcode; set currency to PKR
Works in sandbox, fails liveSandbox credentials still in use, or live account not activatedSwap all credentials and confirm activation with merchant support
Random timeoutsSlow or restricted shared hostingMove to better hosting; allow outbound HTTPS
  • Storing the Integrity Salt or hash key in front-end JavaScript. Keep it server-side.
  • Marking orders paid on the browser redirect without verifying the hash.
  • Leaving debug logs on in production, where they may record transaction details.
  • Not testing refunds and partial failures before launch.
  • Applying for the merchant account after the site is finished, then waiting weeks to go live.
Junaid Tariq

When a client tells us JazzCash is broken, nine times out of ten the gateway is fine. The callback URL was never added to the portal, or the salt was pasted with a trailing space.

Junaid Tariq, Founder

When to get help

A WooCommerce store owner comfortable with plugin settings can usually finish a sandbox setup in an afternoon. If you want a second opinion first, a free website audit covers checkout and gateway checks. Get a developer involved if you run a custom-coded site, need several gateways in one checkout, want COD rules tied to payment method, or have orders stuck in the wrong status.

Gateway work is included in our Scale tier and available as an add-on; see the website development price page. For full builds, start with our website development services in Pakistan, or our Lahore team if you want to meet in person. If wallet payments are part of a wider sales flow, our CRM development work can log every payment against the customer record. You can also contact our team directly with your store URL.

Frequently asked questions

What is the quickest way to start?

Open a free JazzCash sandbox account, install a JazzCash WooCommerce plugin, enter the sandbox credentials and run test orders the same day. In parallel, apply for a live merchant account, since approval usually takes the longest. If you want every method under one contract, ask a licensed aggregator about onboarding instead of applying to each wallet separately.

What mistakes should I avoid?

Do not mix sandbox and live credentials, skip registering the return and IPN URLs, or mark orders paid without verifying the hash. Keep the Integrity Salt on the server, set store currency to PKR, and check that your plugin supports your checkout type. Test cancelled, failed and expired payments, plus refunds, before you launch.

Do I need an agency for this?

Not always. A WooCommerce owner who is comfortable with plugin settings can set up JazzCash with a plugin and the provider's instructions. An agency or developer makes sense for custom-coded sites, several gateways in one checkout, COD rules linked to payment method, or troubleshooting orders stuck on pending. We offer a free audit if you are unsure.

Can I accept Easypaisa and JazzCash on the same website?

Yes. You can install separate plugins for each provider, each with its own credentials, or use an aggregator that offers both wallets plus cards through one integration. Customers then choose their wallet at checkout. Test both methods end to end, since each provider has its own callback format and response codes.

Sources & further reading

  1. WordPress.org — Fauran Pay with JazzCash for WooCommerce
  2. ProPakistani — JazzCash introduces hosted checkout
  3. ProPakistani — PayFast gets commercial licence from SBP
  4. Ecosire docs — JazzCash payment gateway connector reference
  5. Ecosire docs — Easypaisa payment gateway connector reference
  6. WordPress.org — TrackKaro Pakistan courier tracking & COD

Ready to grow your business?

Get a free strategy session and a clear plan for more leads and sales, with honest numbers and no lock-in.

Get Free Consultation WhatsApp us