Skip to main content
POST
Error

Authorizations

Authorization
string
header
required

Secret API key. Use sk_test_... for sandbox data or sk_live_... for live data (after verification and live mode). Do not use pk_ keys.

Headers

Idempotency-Key
string
required

Body

application/json

escrowId or customerId (not both), amount in naira, currency, optional paymentMethods, and optional callbackUrl.

amount
number
required

Charge amount in naira. Must match the escrow when funding one.

Example:

400

currency
string
required

ISO currency code. Must match the escrow or wallet.

Example:

"NGN"

escrowId
string

Escrow to fund. Provide this or customerId, not both.

Example:

"esc_01hxyz"

customerId
string

Customer whose wallet to credit. Provide this or escrowId, not both.

Example:

"cus_01hxyz"

paymentMethods
enum<string>[]

Checkout channels for this session. Allowed: card, bank, bank_transfer, ussd. If omitted, the channels enabled on your Demat dashboard are used (card only until you turn others on).

Available options:
card,
bank,
bank_transfer,
ussd
Example:
callbackUrl
string

Browser return URL after checkout. Must be https with a public domain. If omitted, the merchant account callbackUrl is used. If that is also empty, we send no default so the payer is not sent to a Demat page.

Example:

"https://yourapp.com/payments/callback"

Response

Resource created

success
boolean
Example:

true

data
object
meta
object