TchokoPay
Guides

Multi-currency

Price in one currency, settle in whatever the payer used.

You can price a payment in any active currency — XAF, USD, NGN, BTC, and more. There's no account-level "settlement currency" to match — every payment settles independently, in whatever currency your customer actually pays with.

curl -X POST https://connect.tchokopay.com/v1/collect/checkout \
  -H "Authorization: Bearer tchoko_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 50,
    "currency": "USD",
    "description": "Premium plan — 1 month"
  }'

Before anyone has paid, the response mirrors exactly what you asked for — nothing is converted yet:

{
  "reference": "REQ-1785296850838-A5303B",
  "status": "PENDING",
  "amount": 50,
  "currency": "USD",
  "requestedAmount": 50,
  "requestedCurrency": "USD",
  "checkoutUrl": "https://tchokopay.com/pay/REQ-1785296850838-A5303B"
}

After payment, amount/currency reflect what actually settled

Say your customer pays with Bitcoin. Once payment completes, GET /v1/collect/:reference returns:

{
  "reference": "REQ-1785296850838-A5303B",
  "status": "SUCCESS",
  "amount": 0.00078347,
  "currency": "BTC",
  "requestedAmount": 50,
  "requestedCurrency": "USD"
}

You settle net of fees in whatever currency your customer actually paid with — your wallet is genuinely multi-currency, with one real balance per currency that's ever come in. A customer paying in XAF, another in NGN, and another in BTC for the same $50 price point all land in three separate wallet balances — there's currently no automatic conversion or consolidation into a single currency.

requestedAmount/requestedCurrency never change once a payment is created. amount/currency always reflect the live/settled truth — identical to the request before payment, the real settled amount after.

Where the money goes

Money accepted through the API stays on TchokoPay — held in your wallet, not routed anywhere automatically — until you withdraw it from your merchant dashboard (/merchant/payouts). There's no per-payment payout dispatch to configure or think about; every payment, in every currency, settles the same way.

On this page