Create a payout intent
Create a payout intent. `Idempotency-Key` is required and fingerprints every create field. `merchant_reference` is unique business identity, not an idempotency key. Once persisted, creation returns 201 with the current projection for accepted, rejected, and unknown Provider outcomes. The API key's Environment stamps the intent.
Create a payout intent. Idempotency-Key is required and fingerprints every create field. merchant_reference is unique business identity, not an idempotency key. Once persisted, creation returns 201 with the current projection for accepted, rejected, and unknown Provider outcomes. The API 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
Header Parameters
Merchant retry identity for this create request. Reuse only with the exact same request fields.
^[!-~]+$1 <= length <= 255Request 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}$Unique Merchant business reference for the Payout. Transport retries use Idempotency-Key.
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 "Idempotency-Key: string" \ -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", "completed_amount": "0", "country": "MY", "created_at": "2026-05-09T12:34:00.000Z", "currency": "MYR", "environment": "test", "approval_status": "pending", "failure_code": null, "failure_message": null, "id": "word_01HZYABCDXYZ", "merchant_reference": "payout-2026-05-09-0001", "next_action": null, "object": "payout_intent", "recipient": { "account_last4": "7890", "bank_code": "MBBEMYKL", "holder_name": "Alice Tan", "type": "bank_account" }, "reserved_amount": "0", "returned_amount": "0", "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.
Approve a Payout intent POST
Approve a Payout that explicitly requires Merchant approval.