### 支付成功异步通知接口
* * *
用户支付成功后,平台会发送异步通知到订单携带的notify\_url(如果有该参数的话),请求方式为 POST
请求参数:
| 字段名称 | 字段类型 | 必填参数 | 说明 |
| --- | --- | --- | --- |
| status | bool | Y | 1 支付成功状态 |
| total\_fee | int(16) | Y | 金额。单位:分 |
| out\_trade\_no | string(32) | Y | 用户端自主生成的订单号 |
| order\_no | string(32) | Y | 小微聚付 订单号 |
| transaction\_id | string(32) | Y | 微信用户手机显示订单号 |
| time\_end | string(32) | Y | 支付成功时间 |
| openid | string(32) | Y | 用户OPENID标示,本参数没有实际意义,旨在方便用户端区分不同用户 |
| attach | string(127) | N | 用户自定义数据 |
| mchid | string(16) | Y | 小微聚付 商户号 |
| sign | string(32) | Y | 数据签名 详见[签名算法](http://help.xiaoweijufu.com/1368912) |
提示:
1. 接收通知的服务器请在3秒钟内响应(http状态码200则标记通知成功,其它状态码则标记通知失败,推送结束)
2. 为保障推送到达率,系统可能多次进行通知推送,请做好去重逻辑
3. 推送可能增加参数,请做好冗余处理,勿使用 hard code
4. 商户系统对于支付结果通知的内容一定要验签,并校验返回的订单金额是否与商户侧的订单金额一致
5. 通知频率(秒):0 10s 1m 3m 15m 1h 2h 6h 15h。超过15小时后如需推送,可以在后台手动补发
6. 异步通知过程中,如果该订单接收到check接口的成功查询,则异步通知在执行完当前任务后终止,不再继续通知
> 特别提醒:接收异步通知的服务器需在大陆境内备案服务器
接收回调流程示例:
~~~
$data = $_POST;
if($data['status'] == 1){
// 1.验签逻辑
// 2.验重逻辑
// 3.自身业务逻辑
// 4.返回 success 字符串(http状态码为200)
echo 'success';
}
~~~