Merchant API
Payout Intents

Create a payout intent

Create a payout intent. Idempotent on the merchant reference: a repeat POST with the same `merchant_reference` returns the original intent rather than creating a duplicate. The key's environment stamps the intent.

POST
/payout_intents

Create a payout intent. Idempotent on the merchant reference: a repeat POST with the same merchant_reference returns the original intent rather than creating a duplicate. The key's environment stamps the intent.

AuthorizationBasic <token>

Merchant API key pair. Send as Authorization: Basic base64(publicKey:secretKey) — username is the public key (pk_live_… / pk_test_…), password is the secret key (sk_live_… / sk_test_…). The public key prefix determines the environment of every order created by the request — there is no body, query, or header override.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

amount*string

Positive integer amount in the currency's minor units, encoded as a string to preserve precision (e.g. "10000" for MYR 100.00).

Match^[1-9]\d*$
country*string

ISO 3166-1 alpha-2 country code, e.g. "MY".

Match^[A-Z]{2}$
currency*string

ISO 4217 currency code (e.g. "MYR", "USD") or a 3–6 letter token symbol. Uppercase.

Match^[A-Z]{3,6}$
merchant_reference*string

Merchant-side idempotency key. A repeat POST with the same value returns the original intent.

Length1 <= length <= 256
metadata?
recipient*

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/payout_intents" \  -H "Content-Type: application/json" \  -d '{    "amount": "string",    "country": "string",    "currency": "string",    "merchant_reference": "string",    "recipient": {      "account_number": "string",      "bank_code": "string",      "holder_name": "string",      "type": "bank_account"    }  }'
{  "amount": "10000",  "country": "MY",  "created_at": "2026-05-09T12:34:00.000Z",  "currency": "MYR",  "environment": "test",  "failure_code": null,  "failure_message": null,  "id": "word_01HZYABCDXYZ",  "merchant_reference": "payout-2026-05-09-0001",  "object": "payout_intent",  "recipient": {    "account_last4": "7890",    "bank_code": "MBBEMYKL",    "holder_name": "Alice Tan",    "type": "bank_account"  },  "status": "requires_approval",  "updated_at": "2026-05-09T12:34:02.000Z"}