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 may be instructions — the recipient will receive a prompt on their phone.
Track payout status
completed, failed, canceled. Use webhooks to receive payment.completed and payment.failed events in real time instead of polling.