支付宝即时到账异步通知不被调用的一点总结

简单介绍下支付宝的开发步骤

官方文档地址:即时到账

步骤1:申请接口,上传公钥

步骤2:下载官方提供的demo,对照接口列表,把参数改成自己申请的对应的参数,其他都不管,先把demo跑起来再说。

  当然,把demo跑起来也不是那么容易的,特别是签名,调得整个人都不好了(主要是公钥要记得上传,公私钥要配对)。

  具体请参见这篇博客,写得很详细,特别注意标红的那些注意事项。

步骤3:支付成功后的一系列的校验。

差不多就这么多了,按照官方文档走,然后参照demo就行了。

下面说说遇到的坑:

发布网站之后,测试支付宝异步通知,始终不调用

URL也完全按照规定的来的,也在控制器中写了日志,但是没有日志输出,搞了好几天无果,期间也问过客服,一个劲的让我换个浏览器,和浏览器有半毛钱关系啊;

百度搜了一下,很多人遇到这个问题,但是没有找到答案,比如这篇,说被csrf拦住了,403了。

虽然没找到想要的答案,不过给了我启发,查看IIS日志,看看到底支付宝调没调用,如果不知道怎么查看IIS日志,自己搜搜。

2017-03-20 06:46:10 114.55.91.137 POST /Order/AliPayNotify - 80 - 110.75.248.133 Mozilla/4.0 302 0 0 29

果然,日志中有被调用,而且被调用很多次,但是后面跟着302,那不是重定向吗。哪里来的重定向,一直想不通。

最后,再次找客服,这次客服很给力,立马就知道是302重定向的错误的原因。让我排查,并且最后帮我找到了是因为我的系统必须要登录的原因,没登录会直接跳到登录页面。

果然去掉必须登录之后,有日志信息了。终于解决了我的问题。

总结:支付宝这个东西,不懂就要多问客服才行,不给力就多问几个。

 

posted @ 2017-03-20 22:24  ~冰  阅读(10713)  评论(0编辑  收藏  举报