Devises et unités mineures
Chaque valeur monétaire dans l'API — amount, subtotal, tax_amount, setup_fee, montants de remboursement — est un entier dans l'unité mineure de la devise.
Pour la plupart des devises cela signifie des centimes ($10.00 USD → 1000). Quelques devises utilisent 0 ou 3 décimales — la table ci-dessous liste chaque devise supportée et son facteur d'unité mineure.
Ne hardcodez pas × 100
Une charge ¥10 JPY est 10, pas 1000. Une charge KD 10.000 KWD est 10000, pas 1000. Les intégrations boutique lisent le facteur d'unité mineure depuis cette table (le CurrencyService de la plateforme est la source de vérité) — votre code aussi.
Comment convertir
amount_minor = round(amount_display * 10^minor_unit)
amount_display = amount_minor / 10^minor_unitExemples :
| Affichage | Devise | Unité mineure | API amount |
|---|---|---|---|
| $25.00 | USD | 2 | 2500 |
| J$1,500.00 | JMD | 2 | 150000 |
| ¥1,200 | JPY | 0 | 1200 |
| KD 12.500 | KWD | 3 | 12500 |
Devises supportées
Les codes suivent ISO 4217 (alpha-3). La colonne numeric est le code numérique ISO 4217.
2 décimales (centimes)
| Code | Numérique | Nom |
|---|---|---|
| USD | 840 | US Dollar |
| EUR | 978 | Euro |
| GBP | 826 | Pound Sterling |
| CAD | 124 | Canadian Dollar |
| AUD | 036 | Australian Dollar |
| NZD | 554 | New Zealand Dollar |
| SGD | 702 | Singapore Dollar |
| HKD | 344 | Hong Kong Dollar |
| CHF | 756 | Swiss Franc |
| MXN | 484 | Mexican Peso |
| BRL | 986 | Brazilian Real |
| COP | 170 | Colombian Peso |
| ARS | 032 | Argentine Peso |
| PEN | 604 | Peruvian Sol |
| HUF | 348 | Hungarian Forint |
| TWD | 901 | New Taiwan Dollar |
| INR | 356 | Indian Rupee |
| SEK | 752 | Swedish Krona |
| NOK | 578 | Norwegian Krone |
| DKK | 208 | Danish Krone |
| ZAR | 710 | South African Rand |
| AED | 784 | UAE Dirham |
| SAR | 682 | Saudi Riyal |
| PLN | 985 | Polish Zloty |
| CZK | 203 | Czech Koruna |
| ILS | 376 | Israeli New Shekel |
| THB | 764 | Thai Baht |
| MYR | 458 | Malaysian Ringgit |
| PHP | 608 | Philippine Peso |
| IDR | 360 | Indonesian Rupiah |
| NGN | 566 | Nigerian Naira |
| KES | 404 | Kenyan Shilling |
| GHS | 936 | Ghanaian Cedi |
Caraïbes (2 décimales)
| Code | Numérique | Nom |
|---|---|---|
| JMD | 388 | Jamaican Dollar |
| TTD | 780 | Trinidad and Tobago Dollar |
| BBD | 052 | Barbados Dollar |
| BSD | 044 | Bahamian Dollar |
| GYD | 328 | Guyana Dollar |
| BZD | 084 | Belize Dollar |
| XCD | 951 | East Caribbean Dollar |
| HTG | 332 | Haitian Gourde |
| ANG | 532 | Netherlands Antillean Guilder |
| AWG | 533 | Aruban Florin |
| KYD | 136 | Cayman Islands Dollar |
| BMD | 060 | Bermudian Dollar |
Zéro décimale
Ces devises n'ont pas d'unité fractionnaire. amount est la valeur entière en devise.
| Code | Numérique | Nom |
|---|---|---|
| JPY | 392 | Japanese Yen |
| KRW | 410 | South Korean Won |
| VND | 704 | Vietnamese Dong |
| CLP | 152 | Chilean Peso |
Trois décimales
Ces devises ont une subdivision en millièmes. Multipliez l'affichage par 1 000 (pas 100) pour obtenir la valeur API.
| Code | Numérique | Nom |
|---|---|---|
| BHD | 048 | Bahraini Dinar |
| KWD | 414 | Kuwaiti Dinar |
| OMR | 512 | Omani Rial |
Choisir le bon code
- Passez le code alpha dans les champs
currency("USD","JMD"). Majuscules et minuscules sont acceptées. - Une requête avec une devise non supportée renvoie
422 { "error": "Currency 'XYZ' is not supported." }. - Le fait que votre compte marchand puisse réellement régler dans une devise donnée dépend de la passerelle connectée — "supportée ici" signifie "la plateforme connaît la devise" ; la passerelle sous-jacente (PowerTranz / FAC / MPGS) détermine ce que vous pouvez régler.
Besoin d'une devise non listée ?
Écrivez au support avec le code ISO 4217 et votre cas d'usage. Ajouter une nouvelle devise est un changement d'une ligne dans CurrencyService une fois qu'on a confirmé qu'une passerelle downstream l'accepte.
Suite
- Sessions de paiement —
amountetcurrencyà la création de session - Lignes, taxes et détails —
subtotal,tax_amountaussi en unités mineures
