Skip to main content
PCX supports single-currency and cross-border payouts to bank accounts and mobile money wallets. All flows require a registered beneficiary and follow the same initiation endpoint.

Prerequisites


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 with direction: "payin". PCX handles the FX conversion and outbound transfer automatically.

Step 1 — Fetch the exchange rate

Response:
Store 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

For mobile money payouts, next_action may be instructions — the recipient will receive a prompt on their phone.

Track payout status

Or look up by transaction:
Terminal statuses: completed, failed, canceled. Use webhooks to receive payment.completed and payment.failed events in real time instead of polling.