Zopping
API reference

Payments & Billing

Configure payment gateways and modes, store gateway credentials, initiate online payments, and reconcile against billing transactions and balance. Payment-provider partners integrate gateway configuration and reconciliation here. Order-level payments are covered under Orders.

Base URLhttps://zopping.com

Payment gateways

The gateway providers available to a retailer (e.g. Razorpay, PayU) and the payment modes each supports. requiredConfigs lists the credential fields a provider needs.

Fields
FieldTypeDescription
idstringread-only
providerNamestringrequiredGateway vendor.
statusstring
requiredConfigsobject[]Credential fields the provider needs.
paymentModesobject[]Supported modes + per-mode rate.
GET/api/account-service/payment-gateway

List payment gateways

Parameters
ParameterTypeDescription
organizationIdrequiredstring· query
Response
{
  "paymentgateway": [
    {
      "id": "pg_1",
      "providerName": "Razorpay",
      "status": "ENABLED",
      "paymentModes": [
        {
          "paymentMode": "UPI",
          "rate": "0.00"
        }
      ]
    }
  ],
  "count": 1
}

Payment modes

The individual methods (UPI, CARD, NETBANKING, WALLET, COD) with their display config and commission rate.

GET/api/account-service/payment-mode

List payment modes

Parameters
ParameterTypeDescription
organizationIdrequiredstring· query

Gateway credentials

Store the access/secret keys for a gateway, at organization or store level (isStoreLevel). These secrets are write-only from your side.

Fields
FieldTypeDescription
organizationIdstringrequired
accessKeystringGateway public key.
secretKeystringrequiredGateway private key.
storeIdintegerSet for store-level credentials.
isStoreLevelboolean
POST/api/account-service/online-payment

Store gateway credentials

Request body
{
  "organizationId": "<org-id>",
  "accessKey": "rzp_live_xxx",
  "secretKey": "••••••",
  "isStoreLevel": false
}
GET/api/account-service/online-payment

List credentials

Parameters
ParameterTypeDescription
organizationIdrequiredstring· query
PUT/api/account-service/online-payment

Update credentials

Online payments

Initiate an online payment and track it to completion. The create response returns a redirectUrl + transactionHmac to hand off to the gateway; poll the list/get endpoints for final status.

Fields
FieldTypeDescription
idintegerread-only
amountnumberrequired
referenceNumberstringread-onlyUnique payment reference.
statusenumPENDING · COMPLETED · FAILED.
gatewayTransactionIdstringread-onlyFor reconciliation.
POST/api/billing-service/online-payment

Initiate an online payment

Request body
{
  "organizationId": "<org-id>",
  "amount": 1500.5,
  "service": "WHATSAPP",
  "duration": "2026-06"
}
Response
{
  "transactionAmount": "1500.50",
  "redirectUrl": "https://pay.gateway/...",
  "transactionId": 90871,
  "transactionHmac": "…",
  "currency": "INR"
}
GET/api/billing-service/online-payment

List online payments

Parameters
ParameterTypeDescription
organizationIdrequiredstring· query
referenceNumberstring· query
statusenum· query
GET/api/billing-service/online-payment/{id}

Get a payment

Parameters
ParameterTypeDescription
idrequiredinteger· path
organizationIdrequiredstring· query

Transactions

The billing ledger. Filter by type (CREDIT/DEBIT), status, date range and service. Use gatewayTransactionId to reconcile against your records.

Fields
FieldTypeDescription
idintegerread-only
amountstringread-only
currencystringread-only
typeenumCREDIT or DEBIT.
statusenumCOMPLETED · PENDING · FAILED.
gatewayTransactionIdstringread-only
verificationStatusenum
GET/api/billing-service/transaction

List transactions

Parameters
ParameterTypeDescription
organizationIdrequiredstring· query
pageinteger· query
perPageinteger· queryDefault 20, max 100.
typeenum· queryCREDIT / DEBIT.
statusenum· query
startDatestring· queryyyyy-MM-dd HH:mm:ss.
endDatestring· query
GET/api/billing-service/transaction/{id}

Get a transaction

Parameters
ParameterTypeDescription
idrequiredinteger· path
organizationIdrequiredstring· query

Balance

The current ledger balance for the organization.

GET/api/billing-service/balance

Get balance

Parameters
ParameterTypeDescription
organizationIdrequiredstring· query
Response
{
  "organizationId": "<org-id>",
  "balance": 12450.75
}