前端通知地址: 支付完成后,浏览器完成页面的重定向,并附带单号、金额等必要的交易参数
后端通知地址: 支付完成后,交易平台后端服务会发送POST请求到接收地址,并附带单号、金额等必要的交易参数,若接收方未能返回成功响应,交易平台会重复发送,重试次数最大为5次
注意:在订单状态不明或者没有收到支付结果通知的情况下,建议业务方主动调用订单详情查询接口确认订单状态。
参数名 | 参数含义 | 参数类型 | 是否必填 |
---|---|---|---|
inputCharset | 字符编码, 固定为UTF-8 | String(8) | 是 |
gVersion | 服务版本, 固定为1 | String(1) | 是 |
signType | 签名算法, 固定为SHA-256 | String(8) | 是 |
appKey | 应用Key | String(32) | 是 |
orderId | 交易平台的订单ID | String(32) | 是 |
outOrderId | 交易平台的外部订单编号 | String(100) | 是 |
payId | 交易平台的支付流水ID | String(50) | 否 |
messageType | 消息类型, 1: 支付完成, 后续可能会扩展,如退款完成等 | Integer | 是 |
messageContent | 消息通知描述, 暂时一般为空 | String(1) | 否 |
payProvider | 支付服务商:3为支付宝,4为微信,21为招行 | Integer | 否 |
gSignature | 签名 | String | 是 |
extra | 自定义参数,下单时提交, 通知时会不变回传 | String(255) | 否 |
notifyTime | 通知时间的时间戳, 数值为1970-1-1后经历的毫秒数 | Long | 是 |
payTime | 支付时间的时间戳, 数值为1970-1-1后经历的毫秒数 | Long | 否 |
为了保证支付中心与应用方的通信安全性,支付中心会对发出的通知做签名处理,应用方接到通知后需先做验签操作(gSignature字段不参与生成签名),验签通过后方可进行后续的业务处理,具体签名规则参考接入指南
应用方在接收到通知消息时, 应根据处理结果返回相应的应答内容,告知交易平台是否已成功接收消息通知,若被通知方未能正确的返回应答内容, 交易平台后续会继续以一定的频率发送通知, 应答格式如下:
应答内容 | 备注 |
---|---|
success | 代表应用已成功处理通知, 无需交易平台继续发送 |
fail | 处理失败, 交易平台后续会重复发送通知 |
返回内容的格式为普通的字符串即可