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.
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.
Authorization
apiKey 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.
Positive integer amount in the currency's minor units, encoded as a string to preserve precision (e.g. "10000" for MYR 100.00).
^[1-9]\d*$ISO 3166-1 alpha-2 country code, e.g. "MY".
^[A-Z]{2}$ISO 4217 currency code (e.g. "MYR", "USD") or a 3–6 letter token symbol. Uppercase.
^[A-Z]{3,6}$Merchant-side idempotency key. A repeat POST with the same value returns the original intent.
1 <= length <= 256Response 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"}Get a payout intent GET
Fetch a payout intent by id. Scoped to the authenticating merchant and the key's stamped environment; intents that belong to another merchant or environment return 404 indistinguishably from unknown ids.
Cancel a payout intent POST
Cancel a payout intent that is still awaiting approval. Only valid while the intent is in `requires_approval`; once approved, the intent has moved into processing and cannot be cancelled through the public API.