简单介绍下支付宝的开发步骤
官方文档地址:即时到账
步骤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重定向的错误的原因。让我排查,并且最后帮我找到了是因为我的系统必须要登录的原因,没登录会直接跳到登录页面。
果然去掉必须登录之后,有日志信息了。终于解决了我的问题。
总结:支付宝这个东西,不懂就要多问客服才行,不给力就多问几个。