Prerequisites
- A registered beneficiary (
beneficiary_id) — see Beneficiaries - For NGN payouts: optionally pre-validate the account — see Beneficiary Validation
Single-currency payout
Disburse in a single currency with no FX conversion.currency and target_currency must match; amount must equal target_amount.
Mobile money payout (KES)
The
provider value in mobile_money_details must match the network name exactly as returned by POST /externals/networks. Also pass networkId — the id field from that same response — to ensure correct routing.Bank transfer payout (NGN)
Cross-border payout (with FX)
To disburse in a different currency from what you collected — for example, collect NGN and pay out KES — first lock in an exchange rate, then initiate the payment withdirection: "payin". PCX handles the FX conversion and outbound transfer automatically.
Step 1 — Fetch the exchange rate
org_rate_id. Rates expire at expires_at — initiate the payment promptly.
Step 2 — Initiate the cross-border payment
direction is payin for cross-border flows — it describes the collection leg. PCX automatically initiates the outbound KES payout to the beneficiary once the NGN payin confirms.
Handling the response
next_action is wait and PCX processes the payout in the background.
Track payout status
completed, failed, canceled. Use webhooks to receive payment.settled and payment.failed events in real time instead of polling.