Alipay, China's leading third-party online payment solutionAlipay, China's leading third-party online payment solution

接收通知

了解 Antom 所支持的通知接口及如何集成 Antom 的通知接口。

功能

各通知接口的功能及所支持的产品如下表所示:

通知接口

收银台

代扣

快捷支付

扫码签约

反扫支付

订单码支付

聚合码支付

说明

授权结果通知

✔️

✔️

✔️

在授权成功或授权取消时,Antom 使用该接口向您发送授权结果信息。authorizationNotifyType 字段表明授权通知的类型:

  • 值为 AUTHCODE_CREATED:表示授权成功。
  • 值为 TOKEN_CANCELED:表示授权取消。

支付通知

✔️

✔️

✔️

✔️

✔️

✔️

✔️

在支付或卡授权支付处理达到成功或失败终态时,Antom 使用该接口向您发送支付结果信息。result.resultStatus 字段表明支付或卡授权支付的结果:

  • 值为 S:当 notifyTypePAYMENT_RESULT,表示支付成功;当 notifyTypePAYMENT_PENDING,表示支付处理中。
  • 值为 F:表示支付失败。

请款通知(收银台)

✔️

在请款处理达到成功或失败终态时,Antom 使用该接口向您发送请款结果信息。result.resultStatus 字段表明请款的结果:

  • 值为 S:表示请款成功。
  • 值为 F:表示请款失败。

争议通知

✔️

✔️

✔️

✔️

Antom 使用该接口向您发送拒付信息。disputeNotificationType字段表明拒付通知的类型:

  • 值为 DISPUTE_CREATED:表示拒付已发起。
  • 值为 DISPUTE_JUDGED:表示拒付责任已判定。

退款通知

✔️

✔️

✔️

✔️

在退款处理达到成功或失败终态时,Antom 使用该接口向您发送退款结果信息。refundStatus 字段表明退款的结果:

  • 值为 S:表示退款成功。
  • 值为 F:表示退款失败。

表 1. 通知接口功能及支持的产品

配置通知地址

您可以通过接口或 Antom Dashboard 来配置通知地址。如果您同时使用了这两种方式进行配置,通知地址以接口配置的为准。

通知接口

接口中配置

在 Antom Dashboard 中配置

授权结果通知

-

Antom Dashboard > 开发者 > 通知地址 标签页中配置通知地址。

image

图 1. 在 Antom Dashboard 中配置通知地址

支付通知

支付(收银台)接口中指定 paymentNotifyUrl 字段。

请款通知(收银台)

支付(收银台)接口中指定 paymentNotifyUrl 字段。

争议通知

-

退款通知

退款 接口中指定 paymentNotifyUrl 字段。

表 2. 通知地址配置方法

处理通知

1. 验签

Antom 发送的通知结果由 Antom 加签,故建议您验证签名以确认通知由 Antom 发送。您可以自行验签或使用 Antom SDK 验签。

如您选择自行验签,请参考签名与验签。如您使用 Antom SDK,请在 SignatureTool.verify 方法中为对应参数赋值:

copy
boolean isSuccess = SignatureTool.verify(httpMethod, path, clientId, rspTimeStr, rspBody, signature, alipayPublicKey);

signature 的值来自通知头,如下例所示:

copy
"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 的消息头如下例所示:

copy
"Content-Type": "application/json", "response-time": "2019-07-12T12:08:56+05:30", "client-id": "T_111222333",

您发送给 Antom 的消息体如下例所示:

copy
{
  "result": {
    "resultCode": "SUCCESS",
    "resultStatus": "S",
    "resultMessage": "Success"
  }
}

如您未向 Antom 发送收到确认信息或因网络原因 Antom 未收到此信息,Antom 会在 24 小时内自动重发通知,最多重发 8 次或直至收到正确响应。发送间隔时间为:0 秒、2 分钟、10 分钟、10 分钟、1 小时、2 小时、6 小时和 15 小时。

注意:对于重复收到的 Antom 通知,记录下已处理的通知并做好幂等,防止同一请求多次处理。

常见问题

问:为什么有时无法收到异步通知呢?

答:可能买家已完成支付,但您未收到支付结果。可能的原因包括:

  • 支付完成后,Antom 服务器会发送异步通知,告知商户相应的支付结果。但对某些支付方式,支付失败时不会发送异步通知。
  • 异步通知不保证 100% 送达。

当出现这种情况时,您可以调用 支付结果查询 接口来获取准确的支付结果。