支付成功异步通知接口
通知参数
用户支付成功后,平台会发送异步通知到订单指定的notify_url(该参数不为空的话),请求方式为 POST
参数 | 类型 | 是否必填 | 描述 | 示例值 |
result_code | String | 是 | 接口响应结果 | SUCCESS:支付成功 |
result_msg | String | 是 | 接口响应结果描述 | 支付成功 |
app_id | String | 是 | 19支付平台分配和商户的APPID,19开头 | 191008821006 |
mch_id | String | 是 | 合作商户的商户号 | 1575500091 |
total_fee | int | 是 | 订单总金额 | 单位:分 |
pay_order_id | String | 是 | 19支付平台 订单号 | 19开头 |
out_trade_no | String | 是 | 商户订单号,需保证在商户端不重复 | 20150320010101001 |
transaction_id | String | 是 | 微信系统交易单号 | 42000004652019110530698852419 |
time_end | String | 是 | 支付成功时间,格式:yyyyMMddHHmmss | 20191105220802 |
openid | String | 是 | 用户OPENID标示,本参数没有实际意义,旨在方便用户端区分不同用户 | oT_0R1etkSgOiwGgNve-tmd0h1h2 |
type | String | 否 | 渠道类型 | 微信订单不返回该字段;支付宝订单返回:alipay |
attach | String | 否 | 商户自定义数据包,在查询API和异步通知中原样返回 | 主要用于商户携带订单的自定义数据 |
sign | String | 是 | 数据签名,详见 签名算法 | 95AD5686E715127AA03F8324079673F0 |
异步通知结果示例(本示例仅供参考,具体参数以实际通知为准)
http://商户自定义地址/notify_url.html?sign=95AD5686E715127AA03F8324079673F0&app_id=191008821006&mch_id=1575500091&result_msg=支付成功&total_fee=500&pay_order_id=1919110522051700&time_end=20191105220802&openid=oT_0R1etkSgOiwGgNve-tmd0h1h2&out_trade_no=20150320010101001&return_code=SUCCESS&transaction_id=42000004652019110530698852419
重要提示
1. 为保障推送到达率,系统可能多次进行通知推送,请做好去重逻辑
2. 推送可能增加参数,请做好冗余处理,勿使用 hard code
3. 商户系统对于支付结果通知的内容一定要验签,并校验返回的订单金额是否与商户侧的订单金额是否一致
4. 该方式的调试与运行必须在服务器上,即互联网上能访问;
5. 商户端程序执行完后必须打印输出“success”(不包含引号)。如果商户反馈的字符不是success这7个字符,平台会不断重发通知,直到超过24小时4分钟。
一般情况下,25小时以内完成15次通知(通知的间隔频率一般是:15s/15s/30s/3m/10m/20m/30m/30m/30m/60m/3h/3h/3h/6h/6h);
6. 通知超过25小时后如需推送,可以在后台手动补发