Money format
Every money field is a base-10 signed-int64 string. Sendamount as a positive
string. VND has exponent zero; other currencies use ISO minor units. Parse
responses with a 64-bit or arbitrary-precision integer type.
Create a payout
Response (
202 Accepted for a new payout; 200 OK for replay):
amount is the requested payout amount, recipient_amount is the amount sent
to the destination, fee_details contains the fee components, fee is their
sum, and total is the amount reserved from prefund. All five values use the
same int64-string money format; configured values vary by enabled route.
Fee handling is configured for the account and route; it is not a create-payout
request field. Check
recipient_amount and total in the response when
reconciling. Fund the payout currency before
creating a payout.
Idempotency
Idempotency-Key is required, non-empty, and at most 255 characters. The
server stores the key and a canonical request hash within the tenant and
environment:
- same key and same input: original payout,
Idempotent-Replayed: true; - same key and different input:
409 duplicate_payout.
Retrieve
payout_not_found.
List
data uses the complete payout response shape shown above.
Status lifecycle
POST /v1/payouts/{payout_id}/cancel currently returns
409 payout_not_cancelable. The API never reports cancellation unless it can
be guaranteed.
Errors
Public messages are generic. Branch on
error.code and retain request_id.