Create a checkout session to collect payment from a customer. Returns a checkout URL where the customer completes payment.
| Field | Type | Required | Description |
|---|---|---|---|
amount | number | Yes | Payment amount in USD |
currency | string | No | Currency code (default: USD). Only USD supported, other values are ignored |
orderId | string | Yes | Your unique order/invoice ID (max 100 chars) |
description | string | Yes | Payment description (max 100 chars) |
callbackUrl | string | No | Return URL after payment (overrides dashboard setting) |
webhookUrl | string | No | IPN URL for server-to-server notifications (overrides dashboard setting) |
metadata | object | No | Custom data to attach to the payment |
callbackUrl and webhookUrl are optional overrides. If not provided, the URLs configured in your app dashboard will be used.| Field | Type | Description |
|---|---|---|
collectionId | string | Unique collection identifier |
reference | string | Human-readable reference (shown to payer) |
orderId | string | Your order ID (if provided) |
amount | number | Payment amount |
fee | number | Processing fee (deducted from amount) |
netAmount | number | Amount you receive (amount - fee) |
currency | string | Currency code |
status | string | PENDING |
checkoutUrl | string | URL to redirect customer for payment |
expiresAt | string | Session expiry time (60 minutes) |
checkoutUrlwebhookUrl (server-to-server)callbackUrl with statuscallbackUrl with query parameters:
| Parameter | Description |
|---|---|
batch | The collection ID |
status | Payment status (COMPLETED, FAILED, CANCELLED) |
webhookUrl receives a POST request with the payment details:
EXPIREDorderId must be unique per apporderId returns 409 ConflictorderId to link payments to your order/invoice systemJWT access token obtained from /auth/token
Payment amount in USD
x >= 1Your unique order/invoice ID (required)
100Payment description (max 100 chars)
100Currency code (only USD supported, other values ignored)
Return URL after payment (overrides dashboard setting)
IPN URL for server-to-server notifications (overrides dashboard setting)
Custom data to attach