除了通过网页重定向的API响应,API响应也可以以异步POST方法发送给合作伙伴,如果商家在请求中设置了参数“notify_url”并且目标URL会处理异步通知。这种支付解决方案必须处理异步通知。
支付宝会在25小时内自动重复多次发送异步通知直到商家服务器回复“success”消息在响应中。
在处理同步返回和异步通知的时候,需要考虑下面几个方面:
参数名 |
类型(长度字节) |
描述 |
示例 |
基本参数 |
|||
sign_type |
String |
签名方式 |
RSA |
sign |
String |
签名 |
e5815a4556db338ed237f7d3fd222184 |
业务参数 |
|||
notify_type |
String |
通知类型, value: trade_status_sync. |
trade_status_sync |
notify_id |
String(34) |
支付宝通知流水号,境外商户可以用这个流水号询问支付宝该条通知的合法性 |
92c60707dc43a5b2d648b7b4d3c2e1592g |
notify_time |
Timestamp |
通知时间(支付宝时间),格式:YYYY-MM-DD hh:mm:ss |
2015-06-30 09:56:02 |
trade_status |
String(32) |
交易状态: |
TRADE_FINISHED |
trade_no |
String(64) |
支付宝交易号。最短16位,最长64位 |
2015070800001000100080029361 |
out_trade_no |
String(64) |
境外商户交易号(确保在境外商户系统中唯一) |
2525759240575424 |
currency |
String(3) |
结算币种. |
USD |
total_fee |
Number(8,2) |
商品的外币金额,范围是0.01~1000000.00. |
11.00 |
https://www.namesilo.com/alipay_ipn.php?notify_id=92c60707dc43a5b2d648b7b4d3c2e1592g¬ify_type=trade_status_sync&sign=***&trade_no=2015063000001000080055080394&total_fee=7.99&out_trade_no=9677726c8757aea6d4df81091811b047¤cy=USD¬ify_time=2015-06-30 09:56:02&trade_status=TRADE_FINISHED&sign_type=MD5
http://www.namesilo.com/alipay_ipn.php?notify_id=0578bc470961e3b43fb676db616711fd2k¬ify_type=trade_status_sync&sign=***&trade_no=2015061700001000100000583330&total_fee=11.00&out_trade_no=2082389608326064¤cy=USD¬ify_time=2015-06-17+02%3A37%3A02&trade_status=TRADE_CLOSED&sign_type=RSA
为了系统的健康,支付宝建议校验异步通知。商家只能校验过去1分钟之内的异步通知消息,并且在商家服务器返回‘success’消息之前。
示例:
https://intlmapi.alipay.com/gateway.do? service=notify_verify&partner=2088101122136241¬ify_id=+4465b04e84cb6bacc2bd1b52232c0b8gjg&sign=ciSBXc7gjCfXW8KMBxFiFH2cbMZtFelfTOGKqY2NF7q98RnH3E%2BiF5Cj%2Fu%2Bl8py1D%2FOsE%2FAva1ls8A6Tw1MzhG6ideJSgh4FxWmAjEnlczdfLj%2FqzA6qGzxdKGEXaSDFmTGglOembXUqK8g8ajICD%2BBH7xoxBRY7vtfylEXtojs%3D&sign_type=RSA
更多的信息,请查看接口notify_verify。