Document version: 0.9
常见信息
API端点
https://mp.axtonpay.com/api/v1/private/checkout
Content-type
API 接受 HTTP 请求,支持 2 种内容类型:'application/x-www-form-urlencoded', 'application/json'。
HTTP 头部应适合 POST 正文的内容。
缩写和定义
- {PID} - 发票的编号,通常是唯一的8位字母数字组合。
- Shop - 您的网站通过 AxtonPay 服务接受支付
与 API 一起工作的算法
收到付款的通常操作顺序:
- 创建发票 ('/api/v1/private/checkout/payment/create'),API 响应将返回发票 URL ('invoice_url'),
- 将买家引导到此发票以进行付款,
- 等待AxtonPay服务器通知,这些通知将发送到'server_notification_url',
- 在收到来自 AxtonPay 的任何通知后,检查其签名的有效性,并最好向 AxtonPay ('/api/v1/private/checkout/payment/confirm/{PID}') 发送接收确认,
- 如果发票的状态发生变化,请执行与该状态对应的操作(例如,请求有关发票的完整信息、发货、创建支持团队的工单等)。
如果在创建发票时设置了空白或无效的'server_notification_url',服务将无法发送有关状态更改的通知;在这种情况下,您应当在某个间隔时间内自行检查发票('/api/v1/private/checkout/payment/get/{PID}')。
请求授权
要授权请求,必须从以特定方式形成的字符串计算哈希。该字符串由连接(粘合)URL 参数(QUERY_STRING)和 POST 请求的主体(REQUEST_BODY)组成。重要的是,所有组件都应以传输到服务器的形式完整获取。URL 参数(QUERY_STRING)应从 URL 中获取为单行,不改变参数顺序,也不丢失任何元素。POST 请求主体(REQUEST_BODY)也应完整使用,不进行任何修改,包括不得去掉引号、空格、括号或换行符。
在空的 POST 请求体和空的 URL 参数的情况下,该组件将只是一个空字符串。
签名请求中的数据顺序:QUERY_STRING 首先,然后是 POST 数据。你不应在它们之间插入任何连接符号,只需将两个文本字符串连接起来。
再一次,每个符号都很重要。你不应该添加或删除任何空格或换行符号。只使用服务器接收到的原始数据。
从结果字符串中取出带有键 'Secret key' 的 SHA-256 哈希,并将其用作函数 hash_hmac() 的第二个参数。
必须传递包含当前 POSIX timestamp (Unix time) 的 'time' 参数。
此签名有效期为24小时。如果'time'参数的值与当前服务器时间相差超过24小时(无论是向前还是向后),即使签名计算正确,请求也会失败。
如果商户面板已经接受了带有某个签名的请求,该签名不能再次使用,即使是发送具有相同参数的请求(这包括参数'time')。
生成的哈希值会通过 HTTP 头 'Sign' 传递。
除了计算出的签名,请求还必须包含一个 'Api-Key' 头部,其中包含所使用的 API 密钥。示例:
$headers = [
'Api-Key: ' . $the_api_key,
'Sign: ' . $signature_sha256
];
您可以使用属于此结账的任何有效密钥签署发送到 AxtonPay 的请求。但是 AxtonPay 总是使用您在商户面板中选择的密钥。
签名计算示例:
/* Imagine there is the POST request: URI: '/api/v1/private/checkout/payment/create?time=1735084500.3561' POST body: '[email protected]&shop_payment_id=INVOICE-1746&pms=all&amount=19.95¤cy=USD' So there are HTTP query string and request body: */ $the_query_string = 'time=1735084500.3561'; $the_request_body = '[email protected]&shop_payment_id=INVOICE-1746&pms=all&amount=19.95¤cy=USD'; // • A pair of 'API key' and 'Secret key' gathered from the admin panel $the_api_key = 'key1'; $the_api_secret = 'secret1'; // • Concatenation: $string_for_sha = $the_query_string . $the_request_body; // Value: '[email protected]&shop_payment_id=INVOICE-1746&pms=all&amount=19.95¤cy=USD' // • Calculating the HTTP header 'Sign' // hash method is SHA-256 $signature_sha256 = hash_hmac("sha256", $string_for_sha, $the_api_secret); // '31ca271a15e45802e07b7559a5f520656c050dda79e6fa46d52a15fc51d193cd' /* • Signed HTTP request: Method: POST URI: '/api/v1/private/checkout/payment/create?time=1735084500.3561' HTTP header 'Api-Key': 'key1' HTTP header 'Sign': '31ca271a15e45802e07b7559a5f520656c050dda79e6fa46d52a15fc51d193cd' POST body: '[email protected]&shop_payment_id=INVOICE-1746&pms=all&amount=19.95¤cy=USD' */
注意另一个例子中的空格和换行:
/*
Imagine there is the POST request:
URI: '/api/v1/private/checkout/payment/create?shop_name=Very%20useful%20service'
POST body: '{
"shop_user_id": "[email protected]",
"shop_payment_id": "INVOICE-1746",
"shop_payment_desc": "Premium service
(1 month)",
"pms": "all",
"amount": "19.95",
"currency": "USD",
"time": "1735084500.3561"
}'
Attention! It's important to keep the raw data 'as is', including all tabulations, whitespaces, and line breaks.
For example, the signature becomes invalid if your software formats json, adds or removes spaces.
So there are such HTTP query string and POST request body:
*/
$the_query_string = 'shop_name=Very%20useful%20service';
$the_request_body = '{
"shop_user_id": "[email protected]",
"shop_payment_id": "INVOICE-1746",
"shop_payment_desc": "Premium service
(1 month)",
"pms": "all",
"amount": "19.95",
"currency": "USD",
"time": "1735084500.3561"
}';
// • A pair of 'API key' and 'Secret key' gathered from the merchant panel
$the_api_key = 'key1';
$the_api_secret = 'secret1';
// • Concatenation:
//
// hash method is SHA-256 (HTTP query string + request body)
$string_for_sha = $the_query_string . $the_request_body;
/* Value: 'shop_name=Very%20useful%20service{
"shop_user_id": "[email protected]",
"shop_payment_id": "INVOICE-1746",
"shop_payment_desc": "Premium service
(1 month)",
"pms": "all",
"amount": "19.95",
"currency": "USD",
"time": "1735084500.3561"
}'
*/
// • Calculating the HTTP header 'Sign'
$signature_sha256 = hash_hmac("sha256", $string_for_sha, $the_api_secret);
// 'ef15476f28b379e4b137a2dcd9ed495332e4766004ac3610bb92a69ba2303c28'
/* • Signed HTTP request:
Method: POST
URI: '/api/v1/private/checkout/payment/create'
HTTP header 'Api-Key': 'key1'
HTTP header 'Sign': 'ef15476f28b379e4b137a2dcd9ed495332e4766004ac3610bb92a69ba2303c28'
POST body: '{
"shop_user_id": "[email protected]",
"shop_payment_id": "INVOICE-1746",
"shop_payment_desc": "Premium service
(1 month)",
"pms": "all",
"amount": "19.95",
"currency": "USD",
"time": "1735084500.3561"
}'
*/
用于签名计算的字符串组合示例 Python:
string_for_hash_calculation = f'{request.query_params.urlencode()}{request.data.urlencode()}'
参数
该 API 接受所有参数,无论是在 QUERY_STRING 中还是在 POST 请求的正文中。
布尔变量
API 期望在布尔变量中接收 '0' 或 '1',但是由于隐式类型转换,任何文本字符串都会被视为 '1',甚至包括单词 'false'。因此,要显式设置布尔变量的“FALSE”值,您需要传递给它 '0' 值或空字符串。
小数分隔符
在数字中,只有小数点被用作小数分隔符。
参数中的字符大小写
除少数例外,所有参数都区分大小写。
回调 URL
在AxtonPay的管理面板中,在结账设置页面,可以设置用于接收来自AxtonPay的服务器到服务器通知的商店网址,以及在发票付款或取消后重定向买家的网址,以及在发生错误时的重定向网址。
这些 URL 可以在发票创建请求中被覆盖。
AxtonPay API 的方法
发票创建:/api/v1/private/checkout/payment/create
方法 /api/v1/private/checkout/payment/create 开始创建发票。
如果成功,该方法将返回一个链接('invoice_url'),您应将客户引导至该链接进行付款。
自有发票参数:
- time (必填) - POSIX timestamp (Unix time)
- amount (必填) - 应支付金额(商店希望收到的产品或服务价格)
- currency (必填) - 根据ISO 4217-alpha的3位字母货币代码,不区分大小写
- pms (必填) - 发票页面上显示的付款方式。如果您想允许所有付款方式,值为'all';如果您只想允许其中的某些方式,请列出它们以逗号分隔的数字标识符。
- pm - 所选支付方式的标识符。重要的是,如果传递了'pm'参数,发票将以“透明模式”创建,即买家不会看到发票页面,而是直接进入支付系统。
- extra_data - 一个包含任何附加数据的关联数组;这些数据将完整地返回给存储
- shop_user_id - 商店中的用户标识符,它以不变的形式返回给商店
- shop_payment_id - 商店中的支付标识符,它以不变的形式返回给商店
- shop_name - 商店名称(显示在发票页面上)
- shop_payment_desc - 订单描述(显示在发票页面上)
- shop_payment_remark - 关于此付款的备注(这是用于记录您对该付款的任何备注的字段,AxtonPay 不会将其传递到任何地方;它仅在付款列表中可见;不会返回到商店)
- valid_time - 发票可支付的时间间隔;以秒为单位
- view_time - 通过外部链接可查看发票的时间间隔;以秒为单位;倒计时在'valid_time'期间结束后开始
- server_notification_method - 将有关付款状态的服务器到服务器通知发送到商店的方法;有效值:POST, GET
发票的一些设置是在结账设置页面上进行的。但请求中传递的值将优先于这些设置。
可以为此发票覆盖的结账参数:
- customer_success_url - 如果发票支付成功(即发票状态为'paid'或'overpaid'),买家将被重定向到的链接。
- customer_cancel_url - 如果付款被取消,买家将被重定向到的链接
- customer_fail_url - 如果付款出现错误,买家将被重定向到的链接
- server_notification_url - 用于向商店发送服务器到服务器付款状态通知的链接
注意:为了遵守您自己的隐私政策,通常不需要在发票属性中包含客户的个人数据。例如,在"shop_user_id"参数中,最好指定一个抽象的客户ID,而不是他们的电子邮件或电话号码。在"shop_payment_desc"中,也最好完全不包含客户数据,因为他们自己已经知道所有信息;相反,您可以写一些关于已付款商品或服务的信息,或者只是写动作类型,例如“购买”或“余额充值”。
所有引用都必须通过协议传输。
请求示例:
<?php
// API credentials - get it from settings of the checkout
$api_key = 'API_KEY';
$api_secret = 'API_SECRET';
// API endpoint
$api_endpoint = 'https://mp.axtonpay.com/api/v1/private/checkout';
// Current POSIX timestamp
$time = time();
// API method URL
$api_url = $api_endpoint . '/payment/create';
// Prepare POST parameters
$post_data = [
'amount' => 4.99,
'currency' => 'USD',
'pms' => 'all', // visible payment methods; either 'all' or comma-separated list of selected GUIDs
// 'pm' => '92807385', // define the certain payment method if you do not want payer to see the list of all possible payment methods
// Below parameters are optional
'extra_data' => ['param1'=>'value 1', 'param2'=>'value 2'],
'shop_user_id' => '[email protected]',
'shop_payment_id' => 'TEST-333-' . $time,
'shop_name' => 'TEST-333 web shop',
'shop_payment_desc' => 'TEST-333 payment description visible to payer',
'shop_payment_remark' => 'TEST-333 payment remark for admin',
'customer_success_url' => 'https://example.com/?status=paid-or-overpaid&once=TEST-333-' . $time,
'customer_cancel_url' => 'https://example.com/?status=cancelled-by-payer&once=TEST-333-' . $time,
'customer_fail_url' => 'https://example.com/?status=error&once=TEST-333-' . $time,
'server_notification_url' => 'https://example.com/?for=server-to-server-notificataions',
'server_notification_method' => 'POST',
'valid_time' => 60*60*24*7, // seconds
'view_time' => 60*60*24*21, // seconds, clock starts after ending of 'valid_time' period
];
// Prepare GET parameters
$query_string = 'time=' . $time;
// Build the request body
$request_body = json_encode($post_data); // Encode as JSON
// $request_body = http_build_query($post_data);
// Concatenate QUERY_STRING and REQUEST_BODY
$string_for_sha = $query_string . $request_body;
// Calculate the signature
$signature = hash_hmac('sha256', $string_for_sha, $api_secret);
// Prepare HTTP headers
$headers = [
'Api-Key: ' . $api_key,
'Sign: ' . $signature,
'Content-Type: application/json'
];
// Initialize cURL
$ch = curl_init($api_url . '?' . $query_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $request_body);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
// Execute the request
$response = curl_exec($ch);
// Close cURL
curl_close($ch);
?>
请求创建发票时的成功回应示例:
{
"status": "ok",
"data": "invoice created",
"pid": "HNQ5CAHM",
"test": false,
"created_at": "2025-12-27T08:14:55.000000Z",
"invoice_url": "https:\/\/27375212.b88pay.com\/i\/HNQ5CAHM"
}
获取发票信息:/api/v1/private/checkout/payment/get/{PID}
要获取所需的信息,请调用方法 /api/v1/private/checkout/payment/get/{PID},在 URL 的末尾指定发票的 PID。
请求参数:
- time (必填) - POSIX timestamp (Unix time)
用于签名的一行示例:
// Full URL: https://mp.axtonpay.com/api/v1/private/checkout/payment/get/GIKR3XPY?time=1766837343 // String for signature calculation: time=1766837343
答案示例:
{
"status": "ok",
"data": {
"pid": "HNQ5CAHM",
"checkout_guid": 34677320,
"created_at": "2025-12-27 12:07:21",
"updated_at": "2025-12-27 12:07:34",
"data": {
"ip": "1.2.3.4",
"pms": "all",
"extra_data": {
"param1": "val1",
"param2": "val2",
"server_notification_url": "https:\/\/example.com\/?for=server-to-server-notificataions"
},
"redirect_url": "\/wait\/HNQ5CAHM",
"customer_fail_url": "https:\/\/example.com\/?status=error&id=TEST-333-1766837240",
"allow_change_amount": false,
"customer_cancel_url": "https:\/\/example.com\/?status=cancelled-by-payer&id=TEST-333-1766837240",
"customer_success_url": "https:\/\/example.com\/?status=paid-or-overpaid&id=TEST-333-1766837240"
},
"payment_status": 0,
"amount": "4.99",
"filled": "0.00",
"currency_id": 5,
"transparent": 1,
"expires_at": "2026-01-03 12:07:21",
"invisible_at": "2026-01-26 12:07:21",
"paid_at": null,
"confirmed_at": null,
"shop_name": "TEST-333 web shop",
"shop_user_id": "[email protected]",
"shop_payment_id": "TEST-333-1766837240",
"shop_payment_desc": "TEST-333 payment description visible to payer",
"shop_payment_remark": "TEST-333 payment remark for merchant",
"payment_method_id": 92807385,
"gateway_id": 40056646,
"payment_option_id": 297,
"txid": null,
"account_from": null,
"account_to": "TEnYvbfg9YqJeaVtVHAwEvG2kmAJcTzxTh",
"payment_option_amount": "17.865973",
"payment_option_filled": "0.000000",
"payment_option_currency_id": 317,
"exchange_rates_expires_at": "2025-12-27 12:27:33",
"test": false,
"initiator": "api",
"initiator_info": null,
"payment_option": {
"id": 297,
"gateway_id": 40056646,
"pm": "trx",
"currency_id": 317,
"name": "Tron",
"icon": "crypto\/tron.png",
"min_invoice": null,
"max_invoice": null
},
"payment_option_currency": {
"id": 317,
"name": "Tron",
"code": "TRX",
"minor_unit": 6
},
"currency": {
"id": 5,
"name": "United States dollar",
"code": "USD",
"minor_unit": 2
},
"invoice_url": "https:\/\/27375212.b88pay.com\/i\/HNQ5CAHM"
}
}
申请金额与支付金额的比较
响应中包含若干不同金额(以开具发票的货币计):
- "amount" - 开票金额
- "filled" - 支付了部分发票
- "total_filled" - 客户支付的总金额,包括佣金。
如果"filled = amount",那么它就支付了恰好所需的金额。
如果 "filled > amount",则有多付的情况。
如果"filled < amount",发票未全额支付(付款不足)。
发票:处理来自AxtonPay的状态变更通知
每次发票状态改变时,AxtonPay 会向 server_notification_url 发送通知(使用 server_notification_method)
示例数据:
{
"pid": "U5IB4WIO",
"status": "3",
"shop_user_id": "3q23g",
"shop_payment_id": "h76r5",
"amount": "240.00000000",
"filled": "0.00000000",
"fee": "0",
"total_filled": "0.00000000",
"currency": "DASH",
"test": "0"
}
作为对该通知的响应,AxtonPay 预期收到 HTTP code 200,以确认其成功接收。否则,AxtonPay 将在逐渐增加的间隔内重试 12 次,然后通知状态会变为 'error'(但这不会影响发票本身的状态)。
可能的状态值:
- 0 - pending
- 1 - paid
- 2 - error
- 3 - cancelled by customer
- 4 - underpaid
- 5 - overpaid
- 8 - expired
成功的支付状态是 1 (paid) 和 5 (overpaid);在收到这些状态时,您可以将已支付的购买转给客户或充值余额。对于状态为 5 (overpaid) 的付款,在充值余额时,可以按实际收到的付款金额充值,但在销售商品/服务且存在大量超额付款的情况下,建议联系付款人并与其决定如何处理超额付款。
部分成功状态为 4 (underpaid);在收到此状态的情况下,可以按实际收到的付款金额充值余额。然而,此状态不能被视为商品/服务销售成功。
所有其他状态 - 0 (pending), 2 (error), 3 (canceled by customer) 意味着完全没有付款;在收到这些状态时,不应进行余额充值或商品/服务销售的任何操作。
签名检查
为了确保通知确实由AxtonPay发送,必须在信任之前验证收到的通知的签名。验证方式类似于签署你自己的请求,只是增加了最后一步,即你应该将计算出的签名与接收到的HTTP头'Sign'进行比较。
收到有关付款状态变更的通知后的主要步骤如下:
- 从接收到的通知中获取整串参数 (QUERY_STRING),
- 从收到的通知中取出整个 POST data (REQUEST_BODY),
- 使用那些 QUERY_STRING + REQUEST_BODY 和适当的 'Secret key' 计算签名,
- 将计算出的签名与在 HTTP 头中接收到的签名进行比较 'Sign',
- 如果签名相同,通知确实来自 AxtonPay;
- 如果签名不同,付款人可能在尝试作弊。
用于生成签名的示例行:
// Full URL: https://EXAMPLE.COM?time=1737027838.1237 // POST body: pid=ABCD5678&status=1&shop_user_id=&shop_payment_id=&amount=25.00000000&filled=25.00000000&fee=0&total_filled=25.00000000¤cy=RDD&test=0 // String for signature calculation: time=1737027838.1237pid=ABCD5678&status=1&shop_user_id=&shop_payment_id=&amount=25.00000000&filled=25.00000000&fee=0&total_filled=25.00000000¤cy=RDD&test=0
确认商店已处理付款信息:/api/v1/private/checkout/payment/confirm/{PID}
此请求是发送给 AxtonPay 的,以回应从它收到的通知。从功能上讲,这是对商店已成功接收并处理所收到通知的确认。
要发送请求,请调用方法/api/v1/private/checkout/payment/confirm/{PID},在URL末尾指定发票的pid。
请求参数:
- time (必填) - POSIX timestamp (Unix time)
- status (必填,整数) - 商店发送确认的支付状态编号
如果传输的状态与系统中此发票的当前状态匹配,AxtonPay 将以 'OK' 响应;如果不匹配,将返回错误。
用于生成签名的示例行:
// Full URL:
https://mp.axtonpay.com/api/v1/private/checkout/payment/confirm/ABCD5678?time=1737011414
// POST body:
{"status":"1"}
// String for signature calculation:
time=1737011414{"status":"1"}
如果当前付款状态相同的回应示例:
{
"status": "ok",
"data": "\"Paid\" status notification is confirmed"
}
如果当前付款状态与请求中传输的状态不同,响应示例:
{
"status": "error",
"message": "Something went wrong"
}
货币代码
可以用于创建发票的货币。
大多数使用的货币代码属于法定货币,它们等于ISO 4217。列表中也包含若干加密货币。
| 代码 | 姓名 | 十进制数字 | 类型 |
| BCH | Bitcoin Cash | 8 | 加密货币 |
| BLK | Blackcoin | 8 | 加密货币 |
| BNB | Binancecoin | 18 | 加密货币 |
| BTC | Bitcoin | 8 | 加密货币 |
| BTT | BitTorrent | 18 | 加密代币 |
| BUSD | Binance USD | 18 | 加密代币 |
| DAI | Dai | 18 | 加密代币 |
| DASH | Dash | 8 | 加密货币 |
| DOGE | Dogecoin | 8 | 加密货币 |
| ETC | Ethereum Classic | 18 | 加密货币 |
| ETH | Ethereum | 18 | 加密货币 |
| LTC | Litecoin | 8 | 加密货币 |
| NLG | Gulden | 8 | 加密货币 |
| RDD | ReddCoin | 8 | 加密货币 |
| TRX | Tron | 6 | 加密货币 |
| USDC | USD Coin | 6 | 加密代币 |
| USDD | Decentralized USD | 18 | 加密代币 |
| USDT | Tether USDT | 6 | 加密代币 |
| VTC | Vertcoin | 8 | 加密货币 |
| XVG | Verge | 8 | 加密货币 |
| AED | United Arab Emirates dirham | 2 | 法定货币 |
| AFN | Afghan afghani | 2 | 法定货币 |
| ALL | Albanian lek | 2 | 法定货币 |
| AMD | Armenian dram | 2 | 法定货币 |
| ANG | Netherlands Antillean guilder | 2 | 法定货币 |
| AOA | Angolan kwanza | 2 | 法定货币 |
| ARS | Argentine peso | 2 | 法定货币 |
| AUD | Australian dollar | 2 | 法定货币 |
| AWG | Aruban florin | 2 | 法定货币 |
| AZN | Azerbaijani manat | 2 | 法定货币 |
| BAM | Bosnia and Herzegovina convertible mark | 2 | 法定货币 |
| BBD | Barbados dollar | 2 | 法定货币 |
| BDT | Bangladeshi taka | 2 | 法定货币 |
| BGN | Bulgarian lev | 2 | 法定货币 |
| BHD | Bahraini dinar | 3 | 法定货币 |
| BIF | Burundian franc | 2 | 法定货币 |
| BMD | Bermudian dollar | 2 | 法定货币 |
| BND | Brunei dollar | 2 | 法定货币 |
| BOB | Boliviano | 2 | 法定货币 |
| BRL | Brazilian real | 2 | 法定货币 |
| BSD | Bahamian dollar | 2 | 法定货币 |
| BTN | Bhutanese ngultrum | 2 | 法定货币 |
| BWP | Botswana pula | 2 | 法定货币 |
| BYN | Belarusian ruble | 2 | 法定货币 |
| BZD | Belize dollar | 2 | 法定货币 |
| CAD | Canadian dollar | 2 | 法定货币 |
| CDF | Congolese franc | 2 | 法定货币 |
| CHF | Swiss franc | 2 | 法定货币 |
| CLP | Chilean peso | 2 | 法定货币 |
| CNY | Renminbi (Chinese) yuan | 2 | 法定货币 |
| COP | Colombian peso | 2 | 法定货币 |
| CRC | Costa Rican colon | 2 | 法定货币 |
| CUC | Cuban convertible peso | 2 | 法定货币 |
| CUP | Cuban peso | 2 | 法定货币 |
| CVE | Cape Verde escudo | 2 | 法定货币 |
| CZK | Czech koruna | 2 | 法定货币 |
| DJF | Djiboutian franc | 2 | 法定货币 |
| DKK | Danish krone | 2 | 法定货币 |
| DOP | Dominican peso | 2 | 法定货币 |
| DZD | Algerian dinar | 2 | 法定货币 |
| EGP | Egyptian pound | 2 | 法定货币 |
| ERN | Eritrean nakfa | 2 | 法定货币 |
| ETB | Ethiopian birr | 2 | 法定货币 |
| EUR | Euro | 2 | 法定货币 |
| FJD | Fiji dollar | 2 | 法定货币 |
| FKP | Falkland Islands pound | 2 | 法定货币 |
| GBP | Pound sterling | 2 | 法定货币 |
| GEL | Georgian lari | 2 | 法定货币 |
| GHS | Ghanaian cedi | 2 | 法定货币 |
| GIP | Gibraltar pound | 2 | 法定货币 |
| GMD | Gambian dalasi | 2 | 法定货币 |
| GNF | Guinean franc | 0 | 法定货币 |
| GTQ | Guatemalan quetzal | 2 | 法定货币 |
| GYD | Guyanese dollar | 2 | 法定货币 |
| HKD | Hong Kong dollar | 2 | 法定货币 |
| HNL | Honduran lempira | 2 | 法定货币 |
| HRK | Croatian kuna | 2 | 法定货币 |
| HTG | Haitian gourde | 2 | 法定货币 |
| HUF | Hungarian forint | 2 | 法定货币 |
| IDR | Indonesian rupiah | 2 | 法定货币 |
| ILS | Israeli new shekel | 2 | 法定货币 |
| INR | Indian rupee | 2 | 法定货币 |
| IQD | Iraqi dinar | 3 | 法定货币 |
| IRR | Iranian rial | 2 | 法定货币 |
| ISK | Icelandic krona | 2 | 法定货币 |
| JMD | Jamaican dollar | 2 | 法定货币 |
| JOD | Jordanian dinar | 3 | 法定货币 |
| JPY | Japanese yen | 3 | 法定货币 |
| KES | Kenyan shilling | 2 | 法定货币 |
| KGS | Kyrgyzstani som | 2 | 法定货币 |
| KHR | Cambodian riel | 2 | 法定货币 |
| KMF | Comoro franc | 2 | 法定货币 |
| KPW | North Korean won | 2 | 法定货币 |
| KRW | South Korean won | 2 | 法定货币 |
| KWD | Kuwaiti dinar | 3 | 法定货币 |
| KYD | Cayman Islands dollar | 2 | 法定货币 |
| KZT | Kazakhstani tenge | 2 | 法定货币 |
| LAK | Lao kip | 2 | 法定货币 |
| LBP | Lebanese pound | 2 | 法定货币 |
| LKR | Sri Lankan rupee | 2 | 法定货币 |
| LRD | Liberian dollar | 2 | 法定货币 |
| LSL | Lesotho loti | 2 | 法定货币 |
| LYD | Libyan dinar | 3 | 法定货币 |
| MAD | Moroccan dirham | 2 | 法定货币 |
| MDL | Moldovan leu | 2 | 法定货币 |
| MGA | Malagasy ariary | 2 | 法定货币 |
| MKD | Macedonian denar | 2 | 法定货币 |
| MMK | Myanmar kyat | 2 | 法定货币 |
| MNT | Mongolian togrog | 2 | 法定货币 |
| MOP | Macanese pataca | 2 | 法定货币 |
| MRU | Mauritanian ouguiya | 2 | 法定货币 |
| MUR | Mauritian rupee | 2 | 法定货币 |
| MVR | Maldivian rufiyaa | 2 | 法定货币 |
| MWK | Malawian kwacha | 2 | 法定货币 |
| MXN | Mexican peso | 2 | 法定货币 |
| MYR | Malaysian ringgit | 2 | 法定货币 |
| MZN | Mozambican metical | 2 | 法定货币 |
| NAD | Namibian dollar | 2 | 法定货币 |
| NGN | Nigerian naira | 2 | 法定货币 |
| NIO | Nicaraguan cordoba | 2 | 法定货币 |
| NOK | Norwegian krone | 2 | 法定货币 |
| NPR | Nepalese rupee | 2 | 法定货币 |
| NZD | New Zealand dollar | 2 | 法定货币 |
| OMR | Omani rial | 3 | 法定货币 |
| PAB | Panamanian balboa | 2 | 法定货币 |
| PEN | Peruvian sol | 2 | 法定货币 |
| PGK | Papua New Guinean kina | 2 | 法定货币 |
| PHP | Philippine peso | 2 | 法定货币 |
| PKR | Pakistani rupee | 2 | 法定货币 |
| PLN | Polish zloty | 2 | 法定货币 |
| PYG | Paraguayan guarani | 2 | 法定货币 |
| QAR | Qatari riyal | 2 | 法定货币 |
| RON | Romanian leu | 2 | 法定货币 |
| RSD | Serbian dinar | 2 | 法定货币 |
| RUB | Russian ruble | 2 | 法定货币 |
| RWF | Rwandan franc | 2 | 法定货币 |
| SAR | Saudi riyal | 2 | 法定货币 |
| SBD | Solomon Islands dollar | 2 | 法定货币 |
| SCR | Seychelles rupee | 2 | 法定货币 |
| SDG | Sudanese pound | 2 | 法定货币 |
| SEK | Swedish krona/kronor | 2 | 法定货币 |
| SGD | Singapore dollar | 2 | 法定货币 |
| SHP | Saint Helena pound | 2 | 法定货币 |
| SLL | Sierra Leonean leone | 2 | 法定货币 |
| SOS | Somali shilling | 2 | 法定货币 |
| SRD | Surinamese dollar | 2 | 法定货币 |
| SSP | South Sudanese pound | 2 | 法定货币 |
| STN | Sao Tome and Pricipe dobra | 2 | 法定货币 |
| SVC | Salvadoran colon | 2 | 法定货币 |
| SYP | Syrian pound | 2 | 法定货币 |
| SZL | Swazi lilangeni | 2 | 法定货币 |
| THB | Thai baht | 2 | 法定货币 |
| TJS | Tajikistani somoni | 2 | 法定货币 |
| TMT | Turkmenistan manat | 2 | 法定货币 |
| TND | Tunisian dinar | 3 | 法定货币 |
| TOP | Tongan paanga | 2 | 法定货币 |
| TRY | Turkish lira | 2 | 法定货币 |
| TTD | Trinidad and Tobago dollar | 2 | 法定货币 |
| TWD | New Taiwan dollar | 2 | 法定货币 |
| TZS | Tanzanian shilling | 2 | 法定货币 |
| UAH | Ukrainian hryvnia | 2 | 法定货币 |
| UGX | Ugandan shilling | 0 | 法定货币 |
| USD | United States dollar | 2 | 法定货币 |
| UYU | Uruguayan peso | 2 | 法定货币 |
| UZS | Uzbekistan som | 2 | 法定货币 |
| VES | Venezuelan bolivar soberano | 2 | 法定货币 |
| VND | Vietnamese dong | 2 | 法定货币 |
| VUV | Vanuatu vatu | 0 | 法定货币 |
| WST | Samoan tala | 2 | 法定货币 |
| XAF | CFA franc BEAC | 3 | 法定货币 |
| XCD | East Caribbean dollar | 2 | 法定货币 |
| XOF | CFA franc BCEAO | 2 | 法定货币 |
| XPF | CFP franc (franc Pacifique) | 3 | 法定货币 |
| XTS | 专门保留用于测试目的的代码 | 2 | 保留代码 |
| XXX | 为没有涉及货币的交易分配的代码 | 2 | 保留代码 |
| YER | Yemeni rial | 2 | 法定货币 |
| ZAR | South African rand | 2 | 法定货币 |
| ZMW | Zambian kwacha | 2 | 法定货币 |
| ZWL | Zimbabwean dollar | 2 | 法定货币 |
