Zopping

Integrate a payment gateway

This guide is for payment providers (PSPs) offering a gateway to Zopping merchants. If you just want to take payment for an order, see Accept payments instead.

What you configure

A retailer picks a gateway and supplies credentials; orders then route online payments through it. Your integration touches three things: the gateway listing, the credentials, and reconciliation.

1. See available gateways and modes

curl "https://zopping.com/api/account-service/payment-gateway?organizationId=<org-id>" \
  -H "Authorization: Bearer $ZOPPING_TOKEN"

curl "https://zopping.com/api/account-service/payment-mode?organizationId=<org-id>" \
  -H "Authorization: Bearer $ZOPPING_TOKEN"

Each gateway exposes requiredConfigs (the credential fields it needs) and the paymentModes it supports, with a per-mode rate.

2. Store the merchant's credentials

Save access/secret keys at organization or store level (isStoreLevel). Secrets are write-only — they're never returned on reads.

curl -X POST https://zopping.com/api/account-service/online-payment \
  -H "Authorization: Bearer $ZOPPING_TOKEN" -H "Content-Type: application/json" \
  -d '{"organizationId":"<org-id>","accessKey":"key_live_xxx","secretKey":"••••••","isStoreLevel":false}'

3. Reconcile settlements

Match Zopping's transaction ledger against your gateway's records on gatewayTransactionId, and read the organization's running balance:

curl "https://zopping.com/api/billing-service/transaction?organizationId=<org-id>&status=COMPLETED&startDate=2026-06-01%2000:00:00" \
  -H "Authorization: Bearer $ZOPPING_TOKEN"

curl "https://zopping.com/api/billing-service/balance?organizationId=<org-id>" \
  -H "Authorization: Bearer $ZOPPING_TOKEN"

Good practices

  • Reconcile on gatewayTransactionId, not amount — amounts repeat.
  • Treat secretKey as write-only; never expect it back.
  • Honor isStoreLevel — a merchant may configure different credentials per store.

Reference: Payments & Billing.