Currencies & amount format

Supported currencies, minor units, zero-decimal rules, min/max.

Currencies & amount format

All amount fields in the Southbill API are integers in the smallest currency unit (minor units), following the ISO 4217 exponent for that currency.

Amount format

Currency type Example 10.00 → integer
2-decimal (most currencies) EUR, USD, GBP, CHF, CAD, AUD, SEK, NOK, DKK, PLN, CZK, RON, BGN 1000
0-decimal (zero-decimal) JPY, KRW, VND, CLP, ISK, HUF 10
3-decimal BHD, JOD, KWD, OMR, TND 1000 = 1.000

Send integers only. 10.5 or "10.00" are rejected with invalid_request.

Supported currencies

Currencies accepted on POST /v1/checkout/sessions:

eur, usd, gbp, chf, sek, nok, dkk, pln, czk, ron, bgn, huf, cad, aud, nzd, jpy, sgd, hkd.

Always lowercase 3-letter ISO. Currencies outside this list return 400 invalid_request (currency_unsupported).

Payment method coverage

Not every method supports every currency. Southbill automatically hides methods at checkout that the currency does not support (e.g. Klarna is EU-only, iDEAL is EUR-only, Bancontact is EUR-only).

Minimum and maximum

  • Minimum: 2.50 EUR equivalent (e.g. 250 in EUR/USD/CHF, 300 in JPY). Below this: 400 amount_too_small.
  • Maximum per charge: 999,999.99 in the transaction currency. Above this: 400 amount_too_large.

See Fees, currency & minimum amounts for the reasoning behind the minimum.

Payout currency

Merchants are paid out in their onboarding currency (usually EUR or CHF). Charges in other currencies are converted at the daily FX rate with a +2.00% FX surcharge.