Skip to content
API DocsDocs

Initiating A Payment

1 min readUpdated Mar 28, 2026

Send a POST request to /api/v1/payments/apm with:

  • apmPayload — the payment method and type (see APM Payload References for all supported values)
  • checksum — HMAC-SHA256 signature of accountId | amount | currency | requestId (see Checksum Authentication)
  • Standard fields: requestId, accountId, amount, currency, billingDetails, device, order, callbackUrl

Amount format: Send amount as a decimal string (e.g. "100.00"). Use the exact same string when computing the checksum — do not convert to minor units.

{
  "requestId": "req-apm-001",
  "accountId": "merchant_001",
  "amount": "50.00",
  "currency": "USD",
  "apmPayload": {
    "paymentMethod": "PAYPAL",
    "paymentType": "E_WALLET"
  },
  "callbackUrl": "https://merchant.example.com/webhooks/payment",
  "successRedirectUrl": "https://merchant.example.com/payment/success",
  "failureRedirectUrl": "https://merchant.example.com/payment/failure",
  "billingDetails": {
    "firstName": "Jane",
    "lastName": "Smith",
    "email": "jane.smith@example.com",
    "country": "US"
  },
  "checksum": "<Base64EncodedHMAC>"
}

See POST /api/v1/payments/apm for the full request schema including all billingDetails, device, and order fields.

Was this helpful?