Create Payout
Initiate a PayPal payout. Requires X-Idempotency-Key.
Initiates a PayPal payout to the supplied payee. Funds are debited from your project wallet immediately. Final state (SUCCESS / FAILED) is delivered asynchronously via webhook.
Required header
X-Idempotency-KeystringheaderrequiredUnique key per logical request (e.g. your own order id). Retrying with the same key returns the same merOrderNo and does not double-charge. Distinct from X-Nonce (which is one-time anti-replay and must change on every retry).
Body
paymentTypestringbodyrequiredCurrently only "PayPal".
arriveCurrencystringbodyrequiredISO-3 code the payee receives. Must be one of the supported currencies: USD · GBP · EUR · AUD · JPY · CAD · MXN. Any other value returns 400 Unsupported currency: <code>.
arriveAmountintegerbodyrequiredAmount in minor units (cents) of arriveCurrency. Min 1.
payeeobjectbodyrequiredPayee details. Full payload required on every request — we do not persist a payee book.
remarkstringbodyResponse
merOrderNostringstatusstringPENDING, PROCESSING, UNCLAIMED, SUCCESS, FAILED, or CANCELED. Initial response is usually PENDING; terminal state comes via webhook.paymentTypestringarriveCurrencystringarriveAmountintegerquoteRatenumbersettleAmountintegerpayeeFirstNamestringpayeeLastNamestringpayeeAccountNostringremarkstringcreatedAtintegercompletedAtintegernull until terminal.canCancelbooleantrue only if status is non-terminal AND created ≥ 24h ago.{
"paymentType": "PayPal",
"arriveCurrency": "EUR",
"arriveAmount": 10000,
"payee": {
"firstName": "John",
"lastName": "Smith",
"accountNo": "[email protected]",
"payeeType": "PERSON"
},
"remark": "Order 88231"
}{
"code": 0,
"message": "SUCCESS",
"data": {
"merOrderNo": "PO20260528155955tdi9fpi4",
"status": "PENDING",
"paymentType": "PayPal",
"arriveCurrency": "EUR",
"arriveAmount": 10000,
"quoteRate": 0.8624,
"settleAmount": 11696,
"payeeFirstName": "John",
"payeeLastName": "Smith",
"payeeAccountNo": "[email protected]",
"remark": "Order 88231",
"createdAt": 1779955195000,
"completedAt": null,
"canCancel": false
}
}The wallet is debited synchronously. On terminal FAILED or CANCELED, the full amount is refunded automatically and a PAYOUT_FAILED / PAYOUT_CANCELED webhook is delivered.