开放 API v1 · 订单接口

订单对象

字段说明
trade_no平台订单号
out_trade_no商户订单号
typealipay / wxpay / qqpay
money下单金额
pay_money买家实际应付金额(开启金额尾数偏移时与 money 不同,务必展示给买家)
fee手续费
statuspending 待支付 / paid 已支付 / expired 已过期或已关闭 / refunded 已退款
param下单时传入的扩展参数
created_at / paid_at / expire_atUnix 时间戳,未支付时 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
statuspending / paid / expired / refunded,留空为全部
typealipay / 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}]}}