文档

💶 支付结果通知

GET/POST
服务器异步通知、页面跳转通知
📢 通知类型
🔔
服务器异步通知 (notify_url)
用户支付成功后,平台自动POST请求,用于服务器端处理订单状态
🔗
页面跳转通知 (return_url)
用户支付成功后,页面自动跳转,用于前端展示支付结果
📝 请求参数
字段名
参数名
必填
类型
示例值
描述
商户ID
pid
必填
Int
1000
商户ID
订单号
trade_no
必填
String
Y2026063012300012345
平台订单号
商户订单号
out_trade_no
必填
String
20160806151343349
商户系统内部的订单号
支付方式
type
必填
String
alipay
alipay:支付宝, qqpay:QQ钱包, wxpay:微信支付
商品名称
name
必填
String
一个奥利奥
商品名称
商品金额
money
必填
String
1.00
商品金额
支付状态
trade_status
必填
String
TRADE_SUCCESS
只有 TRADE_SUCCESS 是成功
签名字符串
sign
必填
String
7c9e7a8c3b1f4e6d...
签名字符串,签名算法见下方说明
签名类型
sign_type
必填
String
MD5
默认为MD5
📊 trade_status 订单状态说明
TRADE_WAIT
待支付
TRADE_SUCCESS
支付成功
TRADE_FAIL
支付失败
TRADE_REFUND
已退款
🔐 签名算法
1
参数排序
按key升序排序
2
拼接字符串
key=value&key=value
3
添加密钥
末尾直接拼接密钥
4
MD5加密
结果即为sign
📖 签名计算示例
商户密钥
test_key_123456
📋 通知回调参数
pid=1000&trade_no=Y2026063012300012345&out_trade_no=20260806151343349&type=alipay&name=测试商品&money=1.00&trade_status=TRADE_SUCCESS
Step 4 - MD5签名结果
md5(排序拼接后字符串test_key_123456) = bfaf662f22c5ecc6ce0f09db7e44e945
📡 回调示例
POST
notify_url (服务器异步通知)
Content-Type: application/x-www-form-urlencoded
pid=1000&trade_no=Y2026063012300012345&out_trade_no=20260806151343349&type=alipay&name=测试商品&money=1.00&trade_status=TRADE_SUCCESS&sign=bfaf662f22c5ecc6ce0f09db7e44e945&sign_type=MD5
💡 接收通知建议
🔒
验签后再处理
收到通知后务必先验证签名,确保数据未被篡改
成功仅限TRADE_SUCCESS
只有 trade_status=TRADE_SUCCESS 才表示支付成功
🔁
处理后输出success
服务器端处理完成后输出 "success" 避免重复通知
🛡️
防止重复处理
建议使用订单号作为唯一键,防止同一订单重复处理