Monedas y unidades menores
Cada valor monetario en la API — amount, subtotal, tax_amount, setup_fee, montos de reembolso — es un entero en la unidad menor de la moneda.
Para la mayoría eso significa centavos ($10.00 USD → 1000). Algunas monedas usan 0 o 3 decimales — la tabla de abajo lista cada moneda soportada y su factor de unidad menor.
No hardcodees × 100
Un cargo de ¥10 JPY es 10, no 1000. Un cargo de KD 10.000 KWD es 10000, no 1000. Las integraciones de tienda leen el factor de unidad menor desde esta tabla (el CurrencyService de la plataforma es la fuente de verdad) — tu código debería también.
Cómo convertir
amount_minor = round(amount_display * 10^minor_unit)
amount_display = amount_minor / 10^minor_unitEjemplos:
| Display | Moneda | Unidad menor | 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 |
Monedas soportadas
Los códigos siguen ISO 4217 (alpha-3). La columna numeric es el código numérico ISO 4217.
2 decimales (centavos)
| Código | Numérico | Nombre |
|---|---|---|
| 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 |
Caribe (2 decimales)
| Código | Numérico | Nombre |
|---|---|---|
| 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 |
Cero decimales
Estas monedas no tienen unidad fraccionaria. amount es el valor en moneda entera.
| Código | Numérico | Nombre |
|---|---|---|
| JPY | 392 | Japanese Yen |
| KRW | 410 | South Korean Won |
| VND | 704 | Vietnamese Dong |
| CLP | 152 | Chilean Peso |
Tres decimales
Estas monedas tienen subdivisión en milésimas. Multiplica el display por 1,000 (no 100) para obtener el valor API.
| Código | Numérico | Nombre |
|---|---|---|
| BHD | 048 | Bahraini Dinar |
| KWD | 414 | Kuwaiti Dinar |
| OMR | 512 | Omani Rial |
Elegir el código correcto
- Pasa el código alfa en los campos
currency("USD","JMD"). Se aceptan mayúsculas y minúsculas. - Una solicitud con una moneda no soportada devuelve
422 { "error": "Currency 'XYZ' is not supported." }. - Que tu cuenta pueda efectivamente liquidar en una moneda depende del gateway conectado — "soportada aquí" significa "la plataforma conoce la moneda"; el gateway subyacente (PowerTranz / FAC / MPGS) determina lo que puedes liquidar.
¿Necesitas una moneda fuera de la lista?
Escribe a soporte con el código ISO 4217 y tu caso. Agregar una nueva moneda es un cambio de 1 línea en CurrencyService una vez confirmamos que un gateway downstream la aceptará.
Siguiente
- Sesiones de Checkout —
amountycurrencyen la creación de sesión - Líneas, impuestos y detalles —
subtotal,tax_amounttambién en unidades menores
