跳到主要内容

回调通知说明

对于收单,退款,提现的交易,在用户交易完成之后,Pay Protocol 会根据 API 中商家传入的 notifyUrl,通过 POST 请求的形式将交易结果作为参数通知到商家系统。

而对于充值的交易,用户在充值完成后,Pay Protocol 会根据商户在管理后台设置的充值回调地址,通过 POST 请求的形式将交易结果作为参数通知到商家系统。充值的回调配置请访问充值接入流程->(调用流程4)完成设置。

回调通知参数

请求标头

所有回调通知都会在请求标头中包含以下参数:

参数类型描述示例值
X-PAY-KEY字符串商户的 API KeyF1R28pRQ
X-PAY-TIMESTAMP字符串发送请求的 Unix 时间戳,单位为秒1684304935
X-PAY-SIGN字符串签名,详情可查看请求签名的介绍Z0VwhFhFIFePC5M62DdcABkIQDQQUvshzItY9wSKVcg=
Content-Type字符串请求体的类型application/json

请求体

具体的回调通知内容请查看对应的接口文档:

回调响应

商户系统在收到回调后,需要返回 plain/text 类型的字符串 success,以告知 Pay Protocol 回调通知已经成功接收。

回调通知特性

  1. 商户提供的回调通知地址必须是公网可访问的 HTTPS 地址。
  2. 回调通知是异步的,商户系统必须能够处理重复的通知。
  3. 回调都是用 POST 请求发送的。
  4. 回调一般是在交易确认时(成功或者失败)发送,最多发送6次,分别在交易确认后的0秒、15秒、30秒、3分钟、5分钟、10分钟时发送。
  5. 当商户回调地址正常返回 success 时,系统会认为回调成功,不再发送后续的回调通知。
  6. 商户也可以调用 API 接口主动触发一次回调通知,具体可以参考相应的接入流程文档。

回调通知验签

回调通知的加签方式与 API 请求的加签方式相同,详情可查看请求签名的生成

需要注意的地方:

  1. timestamp 即为请求标头中的 X-PAY-TIMESTAMP
  2. method 固定为 POST。
  3. requestPath 为回调通知的路径,如某商户设置的回调地址为 https://your-callback-url.com/callback,则 requestPath/callback
  4. body 为回调通知的请求体字符串。

对加签得到的 sign 与回调通知中的 X-PAY-SIGN 进行比对,同时将商户的 API Key 与回调请求标头中的 X-PAY-KEY 进行比对,若一致则表示验签通过。