Skip to main content
POST

Authorizations

Authorization
string
header
required

Your secret key as a Bearer token. The key prefix selects the environment: sk_test_... (staging) or sk_live_... (production); a key on the wrong host is refused with 403 Unauthorized Access. Each key is limited to 10 requests per minute (429 beyond that) and, on production, to the IP addresses on your dashboard allowlist when one is configured.

Headers

customer-id
string
required

The merchant customer this request acts on behalf of.

Body

application/json
amount
number
required

Total amount to charge the buyer. Must equal the escrow amount plus the buyer's fee share plus the escrow's additionalFee, otherwise the request is rejected with "Amount mismatch". Read the escrow first if you are unsure: amount, fee, whoPays and additionalFee are all on it.

Required range: x >= 1000
Example:

10503.75

reference
string
required

Your unique reference for this payment.

Example:

"ESC_REF_98765"

transactionType
enum<string>
default:escrow
required
Available options:
escrow
Example:

"escrow"

escrowDetails
object
required
gateway
enum<string>
default:card

Funding source. wallet debits the buyer's Payluk wallet; card charges the saved card named in cardId. Defaults to card, so send wallet explicitly for wallet payments.

Available options:
wallet,
card
Example:

"wallet"

cardId
string

Saved card identifier from GET /v1/cards. Required when gateway is card.

currency
string
default:NGN

Optional. Defaults to NGN.

Response

Escrow funded.