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.

When integrating with Waffo, merchants need to choose a pricing currency strategy that fits their business model. Waffo supports three approaches.

Three pricing strategies

Global uniform pricing

Use case: SaaS products, digital content, and similar offerings where a single currency (typically USD) is used worldwide. Parameters:
  • orderCurrency: The merchant’s settlement currency (e.g. "USD")
  • orderAmount: The unified price (e.g. "9.99")
  • userCurrency: Omit this field — Waffo automatically converts to the user’s local currency
Advantage: Simple price management. Only one price list to maintain; Waffo handles exchange rates. Note: The local-currency amount shown to users at checkout will fluctuate with exchange rates.
{
  "orderCurrency": "USD",
  "orderAmount": "9.99",
  "orderDescription": "Pro Plan - Monthly"
}

Per-country pricing

Use case: E-commerce, gaming, and similar businesses where each country has its own local-currency price. Parameters:
  • orderCurrency: The local currency of the user’s country (e.g. "IDR" for Indonesia, "PHP" for the Philippines)
  • orderAmount: The local price for that country
  • userCurrency: Omit this field — orderCurrency is already the local currency, so this is a same-currency order
Advantage: Users see a fixed amount with no exchange-rate fluctuation, providing a more predictable experience. Note: You need to maintain a per-country price list and must follow the decimal rules for each currency. See Currency and amount. Indonesia (IDR, 0 decimal places):
{
  "orderCurrency": "IDR",
  "orderAmount": "149000",
  "orderDescription": "Product description"
}
Philippines (PHP, 2 decimal places):
{
  "orderCurrency": "PHP",
  "orderAmount": "499.00",
  "orderDescription": "Product description"
}

Regional pricing

Use case: Businesses that group markets into regions (e.g. Southeast Asia, Latin America, Europe) and apply a single pricing currency per region. Parameters:
  • orderCurrency: The pricing currency for the region (e.g. "USD" for Southeast Asia, "EUR" for Europe)
  • orderAmount: The unified price for the region
  • userCurrency: Omit this field — Waffo automatically converts
Advantage: Balances pricing complexity against localization. Fewer price lists to maintain compared to per-country pricing. Note: Users in different countries within the same region will still see different local amounts due to exchange-rate fluctuation.
{
  "orderCurrency": "EUR",
  "orderAmount": "8.99",
  "orderDescription": "Pro Plan - Monthly (Europe)"
}

Parameter comparison

StrategyorderCurrencyuserCurrencyorderAmountAmount shown to user
Global uniform pricingSingle currency (e.g. USD)Omit (auto-converted)Unified priceLocal-currency equivalent (fluctuates with exchange rates)
Per-country pricingLocal currencyOmitLocal priceFixed amount
Regional pricingRegional currencyOmit (auto-converted)Regional priceLocal-currency equivalent (fluctuates with exchange rates)

Amount format and decimal places

All amounts must be passed as String type. Number, float, and double are not accepted.
Different currencies use different decimal place rules:
TypeCurrenciesFormat
2 decimal placesUSD, PHP, HKD, SGD, EUR, etc."9.99"
0 decimal placesJPY, KRW, VND, CLP"1000"
Special (0 decimal for same-currency, 2 for cross-currency)IDR, COP, KES, TWDSame-currency: "50000", cross-currency: "50000.50"
If the decimal places are incorrect, the API returns error code A0003.
For the full currency list and rules, see Currency and amount.