支付通知
当支付状态扭转为终态,即支付成功或支付失败,聚合支付后台会根据notify_url地址,以事件通知的方式异步将支付结果回调给业务方。
业务方需自行实现接受逻辑处理回调信息。
业务方在接受到回调请求后,需在 5秒 内返回。如果 5秒 内收不到响应会断掉连接,并重新发起请求。平台会在12小时内,通过一定的策略(通知频率为 0s/15s/15s/30s/3m/10m/20m/30m/30/30m/1h/3h/3h/3h )间接性重新发起通知,尽可能提高通知的成功率,但不保证通知最终能成功。
回调公共参数
详见 公共参数->响应公共参数
事件回调参数
| 名称 | 必填 | 类型 | 说明 |
|---|---|---|---|
| mch_id | 是 | String | 商户id |
| pay_no | 是 | String | 聚合支付订单号 |
| out_trade_no | 是 | String | 业务系统订单号 |
| transaction_id | 否 | String | 支付平台交易流水号。微信、支付宝、云闪付等用户支付使用的平台返回流水号 |
| channel_transaction_id | 否 | String | 间连渠道交易流水号。聚合或其他第三方间连渠道返回流水号 |
| fee | 是 | int | 交易总额,单位:分 |
| origin_fee | 否 | int | 订单原金额,单位:分 |
| received_fee | 是 | int | 商户实收金额,单位:分 |
| user_pay_fee | 否 | int | 用户支付金额,单位:分 |
| refunded_fee | 否 | int | 此支付订单已退款金额,单位:分 |
| discount | 否 | Json | 优惠信息,支付订单包含优惠时返回。参见discount结构) |
| pay_time | 是 | String | 支付时间,格式"yyyy-MM-dd HH:mm:ss" |
| pay_finish_time | 否 | String | 支付完成时间,只有在支付成功时返回,格式"yyyy-MM-dd HH:mm:ss" |
| payment | 是 | String | 支付方式 |
| body | 是 | String | 支付简要描述 |
| status | 是 | int | 支付状态。参加支付状态值枚举 |
| bank_type | 否 | String | 银行类型,例:ICBC - 工商银行。参见银行类型对账表 |
| card_type | 否 | String | 银行卡类型,例:DEBIT - 借记卡。参见银行卡类型枚举 |
| attach | 否 | String | 附加信息,原样返回 |
优惠信息字段
| 字段名 | 必填 | 类型 | 说明 |
|---|---|---|---|
| m_discount_fee | 否 | int | 免充值优惠金额,不算到实收金额里,单位:分 |
| y_discount_fee | 否 | int | 预充值优惠金额,算到实收金额里,单位:分 |
| p_discount_fee | 否 | int | 第三方平台优惠金额,如支付宝红包、支付宝集分宝、补贴等,单位:分 |
回复参数
业务方接收到请求后,根据自身系统处理结果,返回平台纯字符串结果值,无需签名。
返回值如非"SUCCESS",平台将继续按策略重试发送通知。
| 返回结果 | 说明 |
|---|---|
| SUCCESS | 处理成功,平台收到此结果后不再进行后续通知 |
| FAIL或其他字符 | 处理不成功,平台将重试发送通知 |