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
secretKeyas write-only; never expect it back. - Honor
isStoreLevel— a merchant may configure different credentials per store.
Reference: Payments & Billing.