How to Open a Merchant Account for Online Payments in Pakistan: Self-Onboarding Guide

How to Open a Merchant Account for Online Payments in Pakistan: Self-Onboarding Guide

To accept payments on your website you first need a merchant account. With ZurvaPay you can open a merchant account online: register, submit your KYC, track your approval from the dashboard and receive your API keys once you are approved. There is no need to wait for a salesperson to set you up.

This guide walks you through merchant onboarding from the first form to your first live payment, explains what verification involves, and lists the mistakes that slow businesses down.

What is a merchant account?

A merchant account is your business's identity inside a payment gateway. It holds your API keys, your transactions, your balance and the settings that tell the gateway which website may use it. When a customer pays, the payment is recorded against your merchant account, and you can later withdraw your balance to your bank account.

Why self-onboarding matters

  • You start on your own schedule. Registration is a form, not a meeting.
  • You see where you stand. Your verification status is visible in the dashboard, so you are never guessing.
  • You can prepare while you wait. Build the integration with your developer while your account is being reviewed.
  • It scales. Once you are verified you can add more websites as sub-merchants without repeating the paperwork.

Step by step: from registration to go-live

Step 1: Register

Go to the merchant registration page and enter a username, email address, country, mobile number and password. Agree to the terms if the form asks you to, and complete the captcha. If you came through an agent's referral link, the form shows who referred you.

Step 2: Verify your contact details if asked

Depending on the account settings, you may be asked to confirm your email address or mobile number with a 6-digit code. Use a mailbox and phone number you control, because account messages and verification codes are sent there.

Step 3: Complete the KYC form

After you sign in, the dashboard takes you to the KYC form. Fill in your business details and upload the documents it asks for. The form shows the current requirements, so you always see exactly what is needed.

Step 4: Wait for review

After you submit, your account shows a pending screen while our team reviews your application. You do not need to resubmit or chase anyone; you can return to the dashboard at any time to see the status.

Step 5: Receive your API keys and approve your domain

Once you are approved, open the API key page in your dashboard. You get a public key that identifies your business and a secret key that stays on your server. Your callback URLs must be on the website domain approved for your account.

Step 6: Integrate and go live

Send payments from your server with one API request, then verify the signed IPN before you mark an order as paid. The API documentation has the full parameters and code samples for PHP, cURL, Python and Node.js.

What to prepare before you start

  • The business name and the website you will accept payments on.
  • An email address and mobile number you can access.
  • The documents requested on the KYC form, in clear scans or photos.
  • A bank account in your business's name for withdrawals.
  • A developer, or a plugin or platform that can send an HTTPS request and receive a callback.

Understanding KYC and your verification status

KYC, short for "know your customer", is how a payment provider confirms who it is working with. Your account is in one of three situations:

  • Not submitted: you are asked to fill in the KYC form.
  • Pending: you have submitted and the team is reviewing it.
  • Approved: you can use your API keys and accept payments.

To avoid delays, make sure the names and details on your documents match what you entered, keep scans readable, and answer every required field.

What you get after approval

  • A dashboard with transactions, reports and pending payments.
  • API keys that can be regenerated if they are ever exposed.
  • Three live payment methods on one hosted checkout: JazzCash, Easypaisa and Raast QR.
  • Invoices you can send to clients who pay online.
  • Withdrawals of your balance to your registered bank account.
  • Support tickets from inside your account.
  • Sub-merchants for extra websites or clients.

Connecting your website

The integration has two halves. First, create the order on your server and start the payment:

curl -X POST "https://zurvapay.com/payment/initiate" \
  -F "public_key=YOUR_PUBLIC_KEY" \
  -F "identifier=ORD1790000000123" \
  -F "currency=PKR" \
  -F "amount=2500" \
  -F "details=Order 1234" \
  -F "ipn_url=https://yourdomain.com/zurvapay/ipn.php" \
  -F "success_url=https://yourdomain.com/payment/success" \
  -F "cancel_url=https://yourdomain.com/payment/cancel" \
  -F "customer_name=John Doe" \
  -F "customer_email=john@example.com"

Second, handle the result. The customer pays on the ZurvaPay checkout and ZurvaPay sends a signed IPN to your ipn_url. Verify both signatures with your secret key, mark the order paid, and answer HTTP 200. If your server does not answer, ZurvaPay retries up to 8 times in total.

Common mistakes

  • Submitting unclear documents. Blurry scans are the most common reason a review takes longer.
  • Using a personal email you no longer check. Verification and account messages go there.
  • Putting the secret key in browser or app code. It belongs on your server only.
  • Callback URLs on a different domain. They must be on the domain approved for your account.
  • Reusing order identifiers. Each identifier must be unique forever.
  • Marking orders paid from the success page. Only the verified IPN is proof of payment.

Go-live checklist

  1. Account approved and KYC status shows approved.
  2. Public and secret keys copied and stored safely.
  3. Domain approved and callback URLs on that domain.
  4. Order saved as pending before each payment starts.
  5. IPN handler verifies both signatures and always answers HTTP 200.
  6. A small real test payment completed end to end. ZurvaPay processes live payments only.
  7. Withdrawal bank account added in the dashboard.

Frequently asked questions

How do I open a ZurvaPay merchant account?

Register on the merchant sign-up page, complete the KYC form in your dashboard and wait for approval. After approval you receive your API keys.

How long does approval take?

It depends on your application and how complete your documents are. You can follow the status in your dashboard.

Do I need a website?

To use the API you need a website or app on a domain that is approved for your account. If you only want to send invoices, you can use the invoice feature in the dashboard.

Can I run more than one website?

Yes. Add each extra website or client as a sub-merchant under your verified account.

Can I earn by referring other businesses?

Yes. Join the agent program and earn commission on merchants you refer.

How much does it cost?

Charges are configured per merchant account. Contact us to see the rate for your business.

Open your merchant account today

Open a merchant account, read the merchant onboarding page and keep the API documentation at hand while you build.

Related guides

Brand, bank and card network names are used only to describe payment methods and belong to their respective owners. ZurvaPay is an independent payment gateway and is not affiliated with or endorsed by them.

Start accepting payments with ZurvaPay

Open a merchant account, connect your website with one API and get notified the moment a customer pays.