Skip to main content

金额格式

Waffo 的金额统一使用 String 类型,不要使用 Number / float / double。
使用 String 而非 Number 是为了避免浮点精度问题。0.1 + 0.2 = 0.30000000000000004 在金融场景中不可接受。

金额小数位规则

不同币种对小数位的要求不同。
传错小数位会返回参数错误(A0003)。

2 位小数的币种(大部分)

以下币种金额必须精确到 2 位小数:

0 位小数的币种

以下币种的金额精度为 0 位小数。对于 VND,小数位可以省略,也可以保留为全 0;小数部分只要包含非 0 数字,就无法通过金额校验。

特殊币种(同币种 0 位,跨币种 2 位)

以下币种在同币种下单时不允许有小数,但在跨币种下单时允许 2 位小数:

什么是同币种 / 跨币种下单

跨币种下单传参

跨币种场景下,userCurrency 可不传。但如果 payMethodTypepayMethodName 未完全指定,需要额外传 payMethodCountry 告诉 Waffo 用户在哪个国家。 Waffo 自动处理汇率换算,用户在收银台看到的是当地货币金额。

完整币种列表