支持的货币
了解 Tokenz Checkout 支持哪些货币,以及如何正确格式化每种货币的金额。
支持的货币列表
Tokenz Checkout 支持亚太、欧洲、北美、中东、拉丁美洲、非洲和南亚等地区的货币。完整列表如下:
亚太地区货币
- AUD澳大利亚元$
- CNY人民币¥
- HKD港元$
- IDR*印尼盾Rp
- JPY日元¥
- KRW韩元₩
- MYR马来西亚林吉特RM
- PHP菲律宾比索₱
- SGD新加坡元$
- THB泰铢฿
- TWD*新台币NT$
欧洲货币
- BGN保加利亚列弗лв
- CHF瑞士法郎Fr.
- CZK捷克克朗Kč
- DKK丹麦克朗kr
- EUR欧元€
- GBP英镑£
- HUF匈牙利福林Ft
- NOK挪威克朗kr
- PLN波兰兹罗提zł
- RON罗马尼亚列伊lei
- SEK瑞典克朗kr
北美货币
- CAD加拿大元$
- USD美元$
中东货币
- AED阿联酋迪拉姆د.إ
- BHD巴林第纳尔.د.ب
- KWD科威特第纳尔د.ك
- OMR阿曼里亚尔﷼
- QAR卡塔尔里亚尔ر.ق
- SAR沙特里亚尔﷼
拉丁美洲货币
- BRL巴西雷亚尔R$
- CLP智利比索$
- COP哥伦比亚比索$
- MXN墨西哥比索Mex$
- PEN秘鲁索尔S/
非洲货币
- GHS加纳塞地GH₵
- KES肯尼亚先令KSh
- MAD摩洛哥迪拉姆DH
南亚货币
- BDT孟加拉塔卡৳
- LKR斯里兰卡卢比௹
- PKR巴基斯坦卢比Rs
其他货币
- NZDNew Zealand Dollar$
- TZSTanzanian ShillingTSh
- UGXUgandan ShillingUSh
- VNDVietnamese Dong₫
* Tokenz 将 IDR, TWD 视为零小数位货币。这与将其视为两位小数的 ISO 4217 规约不同。JPY、KRW 和 CLP 在 Tokenz 和 ISO 4217 中均为零小数位货币。
货币最小单位
在 Tokenz API 中指定金额时请注意:大多数货币需要以最小单位(如分、派萨等)而非主单位来传递。这样可以避免金额错误,确保支付准确处理。
最小单位的工作原理
世界上大多数货币采用十进制,主单位由 100 个最小单位组成:
- 1 USD = 100 分
- 1 EUR = 100 分
- 1 GBP = 100 便士
在 API 中使用这些货币时,需要将金额乘以 100。例如,要收取 $10.99,应发送 1099(10.99 × 100)。
零小数位货币
部分货币不使用小数位,其本身就是以最小单位表示的。这类货币称为零小数位货币。使用这类货币时,按实际金额直接传值即可,无需任何换算:
- CLP - 智利比索
- IDR - 印尼盾
- JPY - 日元
- KRW - 韩元
- TWD - 新台币
- UGX - 乌干达先令
- VND - 越南盾
说明: IDR 和 TWD 在 Tokenz API 中为零小数位货币,但 ISO 4217 将其规定为两位小数。下方参考表中以星号(*)标记。
三位小数货币
部分货币使用小数点后三位,而非标准的两位。这类货币的金额需要乘以 1000:
- BHD - 巴林第纳尔
- KWD - 科威特第纳尔
- OMR - 阿曼里亚尔
例如,要收取 10.500 BHD,应发送 10500(10.500 × 1000)。
其余所有支持的货币均使用最小单位,需要乘以 100。
货币最小单位完整参考
* Tokenz 将 IDR, TWD 视为零小数位货币。这与将其视为两位小数的 ISO 4217 规约不同。JPY、KRW 和 CLP 在 Tokenz 和 ISO 4217 中均为零小数位货币。
- AED阿联酋迪拉姆费尔
- 转换×100
- 显示金额د.إ10.00
- API金额
1000 - AUD澳大利亚元分
- 转换×100
- 显示金额$10.00
- API金额
1000 - BDT孟加拉塔卡派萨
- 转换×100
- 显示金额৳10.00
- API金额
1000 - BGN保加利亚列弗斯托廷基
- 转换×100
- 显示金额лв10.00
- API金额
1000 - BHD巴林第纳尔费尔
- 转换×1000
- 显示金额.د.ب10.000
- API金额
10000 - BRL巴西雷亚尔分
- 转换×100
- 显示金额R$10.00
- API金额
1000 - CAD加拿大元分
- 转换×100
- 显示金额$10.00
- API金额
1000 - CHF瑞士法郎生丁/分
- 转换×100
- 显示金额Fr.10.00
- API金额
1000 - CLP智利比索-
- 转换×1
- 显示金额$1000
- API金额
1000 - CNY人民币分
- 转换×100
- 显示金额¥10.00
- API金额
1000 - COP哥伦比亚比索分
- 转换×100
- 显示金额$10.00
- API金额
1000 - CZK捷克克朗赫勒
- 转换×100
- 显示金额Kč10.00
- API金额
1000 - DKK丹麦克朗欧尔
- 转换×100
- 显示金额kr10.00
- API金额
1000 - EUR欧元分
- 转换×100
- 显示金额€10.00
- API金额
1000 - GBP英镑便士
- 转换×100
- 显示金额£10.00
- API金额
1000 - GHS加纳塞地比塞瓦
- 转换×100
- 显示金额GH₵10.00
- API金额
1000 - HKD港元分
- 转换×100
- 显示金额$10.00
- API金额
1000 - HUF匈牙利福林菲勒
- 转换×100
- 显示金额Ft10.00
- API金额
1000 - IDR*印尼盾-
- 转换×1
- 显示金额Rp1000
- API金额
1000 - JPY日元-
- 转换×1
- 显示金额¥1000
- API金额
1000 - KES肯尼亚先令分
- 转换×100
- 显示金额KSh10.00
- API金额
1000 - KRW韩元-
- 转换×1
- 显示金额₩1000
- API金额
1000 - KWD科威特第纳尔费尔
- 转换×1000
- 显示金额د.ك10.000
- API金额
10000 - LKR斯里兰卡卢比分
- 转换×100
- 显示金额௹10.00
- API金额
1000 - MAD摩洛哥迪拉姆分蒂姆
- 转换×100
- 显示金额DH10.00
- API金额
1000 - MXN墨西哥比索分
- 转换×100
- 显示金额Mex$10.00
- API金额
1000 - MYR马来西亚林吉特仙
- 转换×100
- 显示金额RM10.00
- API金额
1000 - NOK挪威克朗欧尔
- 转换×100
- 显示金额kr10.00
- API金额
1000 - NZDNew Zealand Dollar—
- 转换×100
- 显示金额$10.00
- API金额
1000 - OMR阿曼里亚尔派萨
- 转换×1000
- 显示金额﷼10.000
- API金额
10000 - PEN秘鲁索尔分
- 转换×100
- 显示金额S/10.00
- API金额
1000 - PHP菲律宾比索分
- 转换×100
- 显示金额₱10.00
- API金额
1000 - PKR巴基斯坦卢比派萨
- 转换×100
- 显示金额Rs10.00
- API金额
1000 - PLN波兰兹罗提格罗希
- 转换×100
- 显示金额zł10.00
- API金额
1000 - QAR卡塔尔里亚尔迪拉姆
- 转换×100
- 显示金额ر.ق10.00
- API金额
1000 - RON罗马尼亚列伊巴尼
- 转换×100
- 显示金额lei10.00
- API金额
1000 - SAR沙特里亚尔哈拉拉
- 转换×100
- 显示金额﷼10.00
- API金额
1000 - SEK瑞典克朗欧尔
- 转换×100
- 显示金额kr10.00
- API金额
1000 - SGD新加坡元分
- 转换×100
- 显示金额$10.00
- API金额
1000 - THB泰铢萨当
- 转换×100
- 显示金额฿10.00
- API金额
1000 - TWD*新台币-
- 转换×1
- 显示金额NT$1000
- API金额
1000 - TZSTanzanian Shilling—
- 转换×100
- 显示金额TSh10.00
- API金额
1000 - UGXUgandan Shilling—
- 转换×1
- 显示金额USh1000
- API金额
1000 - USD美元分
- 转换×100
- 显示金额$10.00
- API金额
1000 - VNDVietnamese Dong—
- 转换×1
- 显示金额₫1000
- API金额
1000
API 格式一致性
重要: API 请求和响应均使用相同的最小单位格式。在 API 响应中收到的金额也遵循同样的规则:
- 零小数位货币(CLP、IDR、JPY、KRW、TWD、UGX、VND)按基本单位返回
- 三位小数货币(BHD、KWD、OMR)按乘以 1000 后的值返回
- 其他所有货币均按最小单位(乘以 100)返回
得益于这种一致性,响应中的金额可以直接用于后续的 API 请求,无需任何转换。
API 示例
以下示例展示了如何在请求和响应中正确格式化不同货币的金额:
两位小数货币(USD) - 以分为单位的金额
{
"price": {
"currency": "USD",
"amount": 2499
}
}
零小数位货币(JPY) - 直接传入的金额
{
"price": {
"currency": "JPY",
"amount": 5000
}
}
两位小数货币(EUR) - 以分为单位的金额
{
"price": {
"currency": "EUR",
"amount": 15050
}
}
零小数位货币(KRW) - 直接传入的金额
{
"price": {
"currency": "KRW",
"amount": 50000
}
}
重要提示
- 处理支付前请务必确认金额格式,避免收取错误的金额。
- 零小数位货币切勿再乘以 100。
- 两位小数货币必须换算为最小单位。
- 向用户展示金额时,请记得从最小单位换算回显示用的金额。
- 某些支付方式的最小和最大金额限制因货币而异。