- 新平台
关于接口中的金额计算规则如下:
也可以参考官方文档:
https://www.checkout.com/docs/four/resources/calculating-the-amount
接口中的金额字段 amount 对应的数值要求是正整数(验卡场景除外),不同币种对应的金额计算规则不同,主要可以分为以下3类。
- 金额=数值
- 金额=数值/100
- 金额=数值/1000
请注意:对于所有币种,金额字段最少为1位,最多为9位。
类型 1: 金额=数值
对于以下币种,金额=数值,例如 amount =100 等同于100日元。
| 币种代码 | 币种名称 |
|---|---|
| BIF | Burundian Franc |
| CLF | Chilean Unidad de Fomentos |
| DJF | Djiboutian Franc |
| GNF | Guinean Franc |
| ISK | Icelandic Krona |
| JPY | Japanese Yen |
| KMF | Comoran Franc |
| KRW | South Korean Won |
| PYG | Paraguayan Guarani |
| RWF | Rwandan Franc |
| UGX | Ugandan Shilling |
| VUV | Vanuatu Vatu |
| VND | Vietnamese Dong |
| XAF | Central African Franc |
| XOF | West African CFA franc |
| XPF | Comptoirs Français du Pacifique |
以下为一笔5000日元的支付请求示例:
{"source": {"type": "card","number": "4242424242424242","expiry_month": 6,"expiry_year": 2022},"amount": 5000,"currency": "JPY"}
类型 2: 金额=数值/1000
对于以下币种,实际支付金额=数值除以1000后计算得到数字。例如,amount = 1000 等于 1 巴林第纳尔。
请注意: amount的最后一位数字必须位0,例如,例如 amount = 1310 可以处理,如果 amount = 1312 将无法处理并导致系统报错。
| 币种代码 | 币种名称 |
|---|---|
| BHD | Bahraini Dinar |
| IQD | Iraqi Dinar |
| JOD | Jordanian Dinar |
| KWD | Kuwaiti Dinar |
| LYD | Libyan Dinar |
| OMR | Omani Rial |
| TND | Tunisian Dinar |
以下为一笔50巴林第纳尔的支付请求示例:
{"source": {"type": "card","number": "4242424242424242","expiry_month": 6,"expiry_year": 2022},"amount": 50000,"currency": "BHD"}
类型 3: 金额=数值/100
对于其他币种,也就是大部分币种,金额=数值除以100后计算得到的数字,例如,amount = 100 等同于1美金。
对于币种Chilean Peso (CLP) :最后两位数字必须是 00,例如,amount = 500100可以处理,但是 amount = 500095将无法处理并导致系统报错。
以下为一笔50.95美金的支付请求示例:
{{"source": {"type": "card","number": "4242424242424242","expiry_month": 6,"expiry_year": 2022},"amount": 5095,"currency": "USD"}
特别注意
对于币种印尼盾IDR,当前在Checkout.com系统内也需要按照【类型3】金额=数值/100处理。
以下为一笔100 IDR的支付请求示例:
{"source": {"type": "card","number": "4242424242424242","expiry_month": 6,"expiry_year": 2022},"amount": 10000,"currency": "IDR"}
