Skip to main content

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.

Amount format

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)
RegionCurrencies
Asia-PacificPHP (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)
AmericasUSD (US Dollar), BRL (Brazilian Real), MXN (Mexican Peso), PEN (Peruvian Sol), CAD (Canadian Dollar), AWG (Aruban Florin)
Europe & AfricaEUR (Euro), GBP (British Pound), RUB (Russian Ruble), TRY (Turkish Lira), PLN (Polish Złoty), SEK (Swedish Krona), NGN (Nigerian Naira)
CryptoUSDC, 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)
CurrencyName
JPYJapanese Yen
KRWSouth Korean Won
VNDVietnamese Dong
CLPChilean 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:
CurrencyNameSame-currency orderCross-currency order
IDRIndonesian Rupiah"10000" ✅ / "10000.50""10000.50"
COPColombian Peso"5000" ✅ / "5000.00""5000.00"
KESKenyan Shilling"100" ✅ / "100.50""100.50"
TWDNew Taiwan Dollar"300" ✅ / "300.00""300.00"

Same-currency vs cross-currency orders

ScenarioExampleDescription
Same-currencyProduct priced in IDR, user pays with DANA (IDR)orderCurrency matches the user’s payment currency
Cross-currencyProduct 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 codeNameDecimal placesNotes
IDRIndonesian Rupiah0 / 2Same-currency: 0, cross-currency: 2
USDUS Dollar2
PHPPhilippine Peso2
BRLBrazilian Real2
MXNMexican Peso2
MYRMalaysian Ringgit2
THBThai Baht2
CADCanadian Dollar2
EUREuro2
AUDAustralian Dollar2
GBPBritish Pound2
VNDVietnamese Dong0No decimals
CLPChilean Peso0No decimals
COPColombian Peso0 / 2Same-currency: 0, cross-currency: 2
PENPeruvian Sol2
RUBRussian Ruble2
KESKenyan Shilling0 / 2Same-currency: 0, cross-currency: 2
NGNNigerian Naira2
TWDNew Taiwan Dollar0 / 2Same-currency: 0, cross-currency: 2
HKDHong Kong Dollar2
JPYJapanese Yen0No decimals
KRWSouth Korean Won0No decimals
MOPMacanese Pataca2
SGDSingapore Dollar2
CNYChinese Yuan2
PLNPolish Złoty2
TRYTurkish Lira2
KHRCambodian Riel2
SEKSwedish Krona2
AWGAruban Florin2
MNTMongolian Tögrög2
USDCUSD Coin2Cryptocurrency
USDTTether2Cryptocurrency