在线支付-快捷安全支付-通知
了解如何集成 Antom 提供的通知接口。
功能
以下表格列出了支持的产品及其通知描述:
通知接口 | 收银台支付 | 代扣 | 快捷安全支付 | 扫码签约 | 反扫支付 | 订单码支付 | 入口码支付 | 描述 |
❌ | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ | 当授权成功或授权取消成功时,向您发送授权结果。参数 authorizationNotifyType 指示授权通知的类型。
| |
✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | 当支付处理达到成功或失败的最终状态时,会将支付结果发送给您。参数 result.resultStatus 指示支付结果。
| |
✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | 当请款处理达到成功或失败的最终状态时,会将请款结果发送给您。参数 result.resultStatus 表示请款的结果。
| |
✔️ | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ | 发送争议信息给您。参数中 disputeNotificationType 表示争议通知的类型。
| |
✔️ | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ | 当退款处理达到成功或失败的最终状态时,向您发送退款结果。参数 refundStatus 指示退款结果。
|
表1. 通知的功能
配置接收地址
您可以通过接口或 Antom Dashboard 配置每个通知的接收地址。如果两种方式都指定了地址,接口中配置的链接优先。
表2. 接收地址配置
处理通知
1. 验证签名
来自 Antom 的结果通知是经过 Antom 签名的。建议验证签名,检查通知是否由 Antom 发送。您可以自行验证签名,或使用 Antom SDK 进行验证。
要自行验证签名,请参阅请求签名以及验证签名。若要使用 Antom SDK,请在提供的SignatureTool.verify
方法中指定相应参数的值,如 SDKs:
boolean isSuccess = SignatureTool.verify(httpMethod, path, clientId, rspTimeStr, rspBody, signature, alipayPublicKey);
signature 的值来自通知头。以下是一个通知头的示例:
"Content-Type": "application/json", "Request-Time": "2019-07-12T12:08:56+05:30", "client-id": "T_111222333", "Signature": "algorithm=RSA256,keyVersion=1,signature=jTOHqknjk%2fnDjEn8lfg%2beNODdoh2eHGJV%2blvrKaDwP782WxJ7ro49giqUu23MUM8sFVVNvhg32qHS3sd4O6uf5kAVLqztqNOPJFZcjw141EVi1vrs%2bIB4vU0%2fK%2f8z2GyWUByh2lHOWFsp%2b5QKCclXp%2bjacYqWYUur5IVbuebR1LoD5IiJ7u7J9qYriFxodkxmIAJYJyJs7mks2FWHh2YePLj3K%2f4B65idy7RBKqY1NN1XcvqnbQmlfCH8CIv75bg%2fr9sGmPE5a%2bYgL8N9Q41buGwMSq1IcNsbceMbyPhw5Z5HnJ7tPz12fvdSi0cEicPikDthQ2EQFmtpntXcAc%2fHA%3d%3d"
2. 返回收据确认消息
在验证签名并确认通知来自 Antom 后,你需要向 Antom 返回一个收据确认消息,以告知 Antom 已成功收到通知。返回收据确认消息的过程不需要数字签名。
以下示例展示了您发送给 Antom 的报文头:
"Content-Type": "application/json", "response-time": "2019-07-12T12:08:56+05:30", "client-id": "T_111222333",
以下示例展示了您发送给 Antom 的报文体:
{ "result": { "resultCode":"SUCCESS", "resultStatus":"S", "resultMessage":"success" } }
如果由于操作或网络问题,没有将此类消息返回给 Antom,Antom 将在24小时内自动重试异步通知,最多重试七次,直到收到正确的响应。发送间隔如下:0 秒, 2 分钟, 10 分钟, 10 分钟, 1 小时, 2 小时, 6 小时, 和 15 小时。
注意: 请记录从 Antom 接收到的支付请求处理过的通知,并妥善处理幂等性,以防止多次处理同一请求。