1.9 支付异步通知.md
3.47 KB
/* Title: 1.9 支付异步通知 Sort: 19 */
支付API异步通知
接口说明:通知失败会重试,通知次数:8,时间:10s 40s 120s 320s 800s 1920s 4480s 10240s
如因业务系统停机等原因造成的通知失败,可以登录统一支付后台手动发起异步通知!
业务系统接收通知应进行请求签名验证,避免恶意请求!验证时应包含所有参数,不限于下面列表中的参数,避免因程序升级而导致的验证失败!
通知参数
| 字段名称 | 描述 | 类型 | 必填 | 备注 |
|---|---|---|---|---|
| error_code | 错误编号 | varchar(50) | 是 | 0 成功 其它失败 |
| error_msg | 错误消息 | varchar(100) | 是 | |
| sp_id | 开发者ID | varchar(50) | 是 | |
| out_trade_no | 业务系统中的 订单号 | varchar(50) | 是 | |
| total_fee | 订单总价 | int | 是 | 单价分 |
| user_id | 用户ID | varchar(50) | 否 | 业务系统用户ID |
| frmId | 渠道ID | varchar(50) | 否 | |
| transport_fee | 运费 | int | 否 | 单位 分 如果设置了该项并使用了微信支付接口,将要求微信支付后要调用发货接口. |
| attach.${key} | 业务回传参数 | varchar(300) | 否 | Map 键值对,调用生成订时提交的attach 参数,原样返回。 |
| transid | 交易号 | varchar(20) | 是 | |
| pay_time | 支付时间 | varchar(20) | 是 | 格式 yyyyMMddHHmmss |
| pay_type | 支付类型 | int | 是 | 1 微信 2 百度钱包 3支付宝 4和包 5移动短信支付 6移动话费支付 |
| status | 支付状态 | int | 是 | 2 已支付 3 退订(仅移动话费支付) |
| monthly | 包月 | int | 是 | 0 or 1 |
| phone | 手机号 | String | 否 | 短信支付 或 话费支付的手机号码 |
| sign | 签名串 | varchar(50) | 是 |
收到通知后,应返回 success
//java 示例
response.getOutputStream().write("success".getBytes());