| 字段 | 说明 |
|---|---|
trade_no | 平台订单号 |
out_trade_no | 商户订单号 |
type | alipay / wxpay / qqpay |
money | 下单金额 |
pay_money | 买家实际应付金额(开启金额尾数偏移时与 money 不同,务必展示给买家) |
fee | 手续费 |
status | pending 待支付 / paid 已支付 / expired 已过期或已关闭 / refunded 已退款 |
param | 下单时传入的扩展参数 |
created_at / paid_at / expire_at | Unix 时间戳,未支付时 paid_at 为 0 |
notified | 回调是否已被商户确认 |
pay_url | 收银台地址,可直接跳转 |
qrcode_url | 收款码图片地址,可嵌入你自己的支付页 |
POST /api/v1/order/create
| 参数 | 必填 | 说明 |
|---|---|---|
type | 是 | alipay / wxpay / qqpay |
out_trade_no | 是 | 商户订单号,同一商户唯一,最长 64 |
name | 是 | 商品名称 |
money | 是 | 金额(元) |
notify_url | 否 | 支付成功回调地址(JSON POST,见 Webhook) |
return_url | 否 | 支付后浏览器跳转地址 |
param | 否 | 扩展参数,原样返回 |
device | 否 | pc / mobile,默认 pc |
with_qr_img | 否 | true 时额外返回收银台二维码 base64(qr_img) |
同一 out_trade_no 未过期时重复调用返回同一订单(幂等);已支付则返回 40901。
// 请求
{"type":"alipay","out_trade_no":"A1001","name":"VIP 月卡","money":"9.90","notify_url":"https://your.site/aipay/notify"}
// 返回
{"code":0,"msg":"success","data":{"trade_no":"2026101306395112345","out_trade_no":"A1001","type":"alipay",
"name":"VIP 月卡","money":"9.90","pay_money":"9.93","fee":"0.00","status":"pending","param":"",
"created_at":1760320000,"paid_at":0,"expire_at":1760320300,"notified":false,
"pay_url":"https://pay.example.com/pay/2026101306395112345",
"qrcode_url":"https://pay.example.com/pay/2026101306395112345/qr"}}
POST /api/v1/order/query 参数 trade_no 或 out_trade_no(二选一),返回订单对象。
POST /api/v1/order/close 参数同上。仅待支付订单可关闭,关闭后到账不再匹配;已过期订单返回成功。
POST /api/v1/order/refund 参数 trade_no 或 out_trade_no,可选 reason。
仅已支付订单可退款,状态改为 refunded 并从余额扣回 (money − fee)。个人收款码无法原路退款,款项需你线下退回买家。重复调用返回 40901,不会重复扣款。
POST /api/v1/order/list
| 参数 | 说明 |
|---|---|
page / page_size | 默认 1 / 20,page_size 最大 100 |
status | pending / paid / expired / refunded,留空为全部 |
type | alipay / wxpay / qqpay |
start_time / end_time | 按下单时间过滤 [start, end) |
{"code":0,"msg":"success","data":{"page":1,"page_size":20,"total":135,"list":[{订单对象}, ...]}}
POST /api/v1/order/notify 参数 trade_no 或 out_trade_no。
立即同步向 notify_url 投递一次回调(无论之前是否已成功),返回投递结果。失败时自动转入后台重试队列。仅已支付订单可用,否则返回 40901。
{"code":0,"msg":"success","data":{"delivered":true,"response":"HTTP 200 success","order":{订单对象}}}
POST /api/v1/order/notify_logs 参数同上,返回最近 50 次投递。
{"code":0,"msg":"success","data":{"trade_no":"...","notified":true,"notify_count":0,"next_retry":0,
"list":[{"id":12,"url":"[v1 POST] https://your.site/aipay/notify","response":"HTTP 200 success","success":true,"created_at":1760320060}]}}