API接口文档
概述
阿若易付通提供RESTful API接口,方便商户系统接入支付服务。所有接口均采用HTTPS协议,支持POST请求方式。
异步通知
通知说明
当订单状态发生变更时,系统会向商户设置的通知URL发送POST请求。通知采用JSON格式传输。
通知参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| trade_no | string | 平台订单号 |
| out_trade_no | string | 商户订单号 |
| status | int | 订单状态:1-成功,0-失败 |
| amount | string | 订单金额 |
| sign | string | 签名 |
创建订单接口
接口地址
/api/create_order
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| appid | string | 是 | 商户ID |
| out_trade_no | string | 是 | 商户订单号 |
| total_amount | string | 是 | 订单金额(元) |
| subject | string | 是 | 商品名称 |
| notify_url | string | 是 | 异步通知URL |
| return_url | string | 否 | 同步跳转URL |
| sign | string | 是 | 签名 |
返回示例
{
"code": 200,
"msg": "success",
"data": {
"trade_no": "P2024010100001",
"out_trade_no": "202401010001",
"pay_url": "https://pay.example.com/pay?order=xxx",
"qr_code": "base64_image_data"
}
}
查询订单接口
接口地址
/api/query_order
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| appid | string | 是 | 商户ID |
| trade_no | string | 否 | 平台订单号 |
| out_trade_no | string | 否 | 商户订单号 |
| sign | string | 是 | 签名 |
返回示例
{
"code": 200,
"msg": "success",
"data": {
"trade_no": "P2024010100001",
"out_trade_no": "202401010001",
"status": 1,
"total_amount": "100.00",
"subject": "商品名称",
"create_time": "2024-01-01 12:00:00",
"pay_time": "2024-01-01 12:01:00"
}
}
申请退款接口
接口地址
/api/refund
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| appid | string | 是 | 商户ID |
| trade_no | string | 是 | 平台订单号 |
| refund_amount | string | 是 | 退款金额 |
| refund_reason | string | 否 | 退款原因 |
| sign | string | 是 | 签名 |
请求示例
PHP示例
<?php
$apiUrl = 'https://pay.example.com/api/create_order';
$data = array(
'appid' => 'your_appid',
'out_trade_no' => '202401010001',
'total_amount' => '100.00',
'subject' => '商品名称',
'notify_url' => 'https://yourdomain.com/notify'
);
ksort($data);
$signStr = http_build_query($data);
$signStr .= '&key=your_api_key';
$data['sign'] = md5($signStr);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
?>
签名规则
1. 将所有请求参数按key升序排列
2. 使用http_build_query拼接成字符串
3. 在字符串末尾拼接 &key=你的密钥
4. 对拼接后的字符串进行MD5加密,得到签名