Skip to content

Hosted checkout

One checkout link for every gateway. Paid on the gateway’s own secure page.

Your website asks ZopPay for a payment and sends your customer to the checkout link it gets back. ZopPay passes them straight to the gateway you turned on, such as Razorpay or Cashfree, and brings them back to your site when they have paid.

What your customer sees

Four steps. Two of them on your own site.

Example with Cashfree

  1. Your customer taps Pay

    On your website or app. Your server asks ZopPay for a payment and gets back a checkout link.

  2. ZopPay hands over

    The checkout link opens and passes your customer straight on to the gateway you turned on.

  3. They pay on the gateway’s page

    Your customer pays on the gateway’s own secure page, with the methods your gateway account offers.

  4. They come back to your site

    When they have paid, they land back on the page you chose, and the payment shows in your dashboard.

Payment methods

Your gateway’s methods.

Your customer can pay with whatever your gateway account offers. ZopPay doesn’t add or remove methods, so if your gateway turns on a new one, your customers get it too.

Payment methods each gateway’s page offers
GatewayUPICardsNetbankingNetbankingWalletsAlso
RazorpayUPI: yesCards: yesNetbanking: yesWallets: yes
CashfreeUPI: yesCards: yesNetbanking: yesWallets: yes
PaytmUPI: yesCards: yesNetbanking: yesWallets: yes
PayUUPI: yesCards: yesNetbanking: yesWallets: yesEMI
PhonePeUPI: yesCards: yesNetbanking: yesWallets: no
StripeUPI: noCards: yesNetbanking: noWallets: yes
PayPalUPI: noCards: yesNetbanking: noWallets: noPayPal balance
HyperPayUPI: noCards: yesNetbanking: noWallets: noVisa, Mastercard, Mada, Amex

What your gateway offers can depend on your account with it. PayU also offers EMI, PayPal also takes PayPal balance, and HyperPay takes Visa, Mastercard, Mada and Amex. For other gateways, see each gateway’s page.

Good to know

The plain details.

  • Most gateways: your customer goes straight to the gateway’s page, after a brief “Loading…”. ZopPay shows its own summary screen (store name, amount and a Pay button) only in test mode and for HyperPay.
  • Card numbers never reach ZopPay’s servers. With HyperPay, the card form loads on ZopPay’s checkout page, but the card details go from the browser straight to HyperPay.
  • Paytm payments finish on a page ZopPay serves, using Paytm’s own checkout. ePayLater asks business customers for their PAN and Aadhaar, which pass through ZopPay’s server.
  • The checkout doesn’t carry your logo or colours. The page your customer pays on is your gateway’s, with whatever branding your gateway account allows.
  • A checkout link lasts 30 minutes. If it isn’t paid by then, the payment is marked failed and you are told by webhook.

For your developer

One API call to start a payment.

Your server creates the payment with its secret key and sends the customer to the checkout_url in the reply. The same call works whichever gateway is turned on.

  • Your secret key stays on your server; the browser only sees the checkout link.
  • Your customer comes back to your return_url with the outcome in the address, such as ?status=captured.
  • A signed webhook confirms the result, so you don’t rely on the browser coming back.
POST /v1/payments
# Create a payment. Needs: export ZOPPAY_SECRET_KEY=sk_test_…
curl https://api.zoppay.in/v1/payments \
  -H "Authorization: Bearer $ZOPPAY_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order_1042" \
  -d '{
    "amount": 49900,
    "currency": "INR",
    "reference": "order_1042",
    "return_url": "https://shop.example.com/orders/1042/complete",
    "customer": {
      "name": "Asha Rao",
      "email": "asha@example.com",
      "phone": "+919876543210"
    }
  }'

# The answer is 201 Created, with the payment under "data".
# Send the shopper's browser to data.checkout_url.

Start with test mode today.

Sign up free, make a test payment from your dashboard and see how it works. Connect your gateway when you're ready.