Documentation Index
Fetch the complete documentation index at: https://waffo.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
Waffo amounts are represented uniformly as the String type. Do not use Number, float, or double.
✅ "100.00"
✅ "0.99"
✅ "10000" (zero-decimal currencies such as JPY)
❌ 100.00 (Number type — floating-point precision issues)
❌ 100 (Number type)
String is required instead of Number to avoid floating-point precision issues. 0.1 + 0.2 = 0.30000000000000004 is not acceptable in financial contexts.
Decimal place rules
Different currencies have different decimal place requirements.
Passing the wrong number of decimal places returns a parameter error (A0003).
2 decimal places (most currencies)
The following currencies require amounts expressed to exactly 2 decimal places:
"100.00" ✅
"9.99" ✅
"100" ❌ (missing decimal places)
"100.0" ❌ (only 1 decimal place)
| Region | Currencies |
|---|
| Asia-Pacific | PHP (Philippine Peso), MYR (Malaysian Ringgit), THB (Thai Baht), KHR (Cambodian Riel), SGD (Singapore Dollar), HKD (Hong Kong Dollar), MOP (Macanese Pataca), CNY (Chinese Yuan), AUD (Australian Dollar), MNT (Mongolian Tögrög) |
| Americas | USD (US Dollar), BRL (Brazilian Real), MXN (Mexican Peso), PEN (Peruvian Sol), CAD (Canadian Dollar), AWG (Aruban Florin) |
| Europe & Africa | EUR (Euro), GBP (British Pound), RUB (Russian Ruble), TRY (Turkish Lira), PLN (Polish Złoty), SEK (Swedish Krona), NGN (Nigerian Naira) |
| Crypto | USDC, USDT |
0 decimal places (no decimals)
The following currencies must not include a decimal point:
"1000" ✅
"1000.00" ❌ (decimals not allowed)
"999.50" ❌ (decimals not allowed)
| Currency | Name |
|---|
JPY | Japanese Yen |
KRW | South Korean Won |
VND | Vietnamese Dong |
CLP | Chilean Peso |
Special currencies (0 decimals same-currency, 2 decimals cross-currency)
The following currencies do not allow decimals for same-currency orders, but allow 2 decimal places for cross-currency orders:
| Currency | Name | Same-currency order | Cross-currency order |
|---|
IDR | Indonesian Rupiah | "10000" ✅ / "10000.50" ❌ | "10000.50" ✅ |
COP | Colombian Peso | "5000" ✅ / "5000.00" ❌ | "5000.00" ✅ |
KES | Kenyan Shilling | "100" ✅ / "100.50" ❌ | "100.50" ✅ |
TWD | New Taiwan Dollar | "300" ✅ / "300.00" ❌ | "300.00" ✅ |
Same-currency vs cross-currency orders
| Scenario | Example | Description |
|---|
| Same-currency | Product priced in IDR, user pays with DANA (IDR) | orderCurrency matches the user’s payment currency |
| Cross-currency | Product priced in USD, user pays with DANA (IDR) | orderCurrency differs from the user’s payment currency |
Cross-currency order parameters
{
"orderCurrency": "USD",
"orderAmount": "10.00"
}
In a cross-currency scenario, userCurrency is optional. However, if payMethodType or payMethodName is not fully specified, pass payMethodCountry to tell Waffo which country the user is in.
Waffo handles exchange rate conversion automatically. The user sees the local currency amount on the checkout page.
Full currency list
| Currency code | Name | Decimal places | Notes |
|---|
IDR | Indonesian Rupiah | 0 / 2 | Same-currency: 0, cross-currency: 2 |
USD | US Dollar | 2 | |
PHP | Philippine Peso | 2 | |
BRL | Brazilian Real | 2 | |
MXN | Mexican Peso | 2 | |
MYR | Malaysian Ringgit | 2 | |
THB | Thai Baht | 2 | |
CAD | Canadian Dollar | 2 | |
EUR | Euro | 2 | |
AUD | Australian Dollar | 2 | |
GBP | British Pound | 2 | |
VND | Vietnamese Dong | 0 | No decimals |
CLP | Chilean Peso | 0 | No decimals |
COP | Colombian Peso | 0 / 2 | Same-currency: 0, cross-currency: 2 |
PEN | Peruvian Sol | 2 | |
RUB | Russian Ruble | 2 | |
KES | Kenyan Shilling | 0 / 2 | Same-currency: 0, cross-currency: 2 |
NGN | Nigerian Naira | 2 | |
TWD | New Taiwan Dollar | 0 / 2 | Same-currency: 0, cross-currency: 2 |
HKD | Hong Kong Dollar | 2 | |
JPY | Japanese Yen | 0 | No decimals |
KRW | South Korean Won | 0 | No decimals |
MOP | Macanese Pataca | 2 | |
SGD | Singapore Dollar | 2 | |
CNY | Chinese Yuan | 2 | |
PLN | Polish Złoty | 2 | |
TRY | Turkish Lira | 2 | |
KHR | Cambodian Riel | 2 | |
SEK | Swedish Krona | 2 | |
AWG | Aruban Florin | 2 | |
MNT | Mongolian Tögrög | 2 | |
USDC | USD Coin | 2 | Cryptocurrency |
USDT | Tether | 2 | Cryptocurrency |