码迷,mamicode.com
首页 > 其他好文 > 详细

支付宝及时到账异步支付不成功问题

时间:2015-05-27 15:30:55      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:

简述:用handler来处理支付宝异步post过来的form信息。

 

前阵子给自己公司的站点做支付宝的支付即时到帐功能。

在客户支付的时候。尤其是通过银行网银转账将费用付款到公司支付宝的时候,会经过两次跳转。

比如用建设银行网银来举例:

第一次是:建行缴费成功后,会给一个支付成功的提示,然后3秒后跳转至支付宝支付成功页面

第二次是:支付宝成功页面等待3秒后,跳转回公司站点页面。

由于我接手的是现成的站点,站点的最初开发找的是本地一家规模不算很小的软件公司做的,asp.net,c#程序。(四线城市,能有软件公司就不错了……)

软件公司挺不负责的只做了即时到帐支付的同步(我不知道别人怎么叫,反正支付宝客服这么叫)部分,也就是经过最多两次跳转,最少一次跳转后,支付宝支付成功界面会跳转到公司站点预设的订单界面。公司站点在接收到这次跳转中包含的订单支付成功信息后,对这个订单进行逻辑处理操作。

这就出现了这么一个问题:如果一旦客户看到支付成功页面后,手快关闭了这个即将跳转回公司站点的页面,那就完蛋了。公司站点接收不到需要跳转回来才确认的订单信息,导致订单一直处于未支付成功状态。

经过两次投诉后,领导令我不许出现第三次这种问题。于是开始了为期三天的支付宝即时到帐接口研究之旅。

咨询支付宝,支付宝给的回复是:这是同步支付确认收款的弊病,建议使用异步支付。

下载了接口教程(原谅我是小白没接触过这个接口,原接口还是软件公司做的)研究过后发现,异步当时是写过了的,只不过不能用。

给支付宝打了几个电话,最后告诉我技术问题在站点咨询。(https://b.alipay.com/order/techService.htm?src=nsf05 页面右侧的 “有问题点我” 头像)

询问后,查了客户交费的订单号,给我支付宝发送异步post请求的一个截图,

技术分享(上方部分涉及隐私已截去)

告诉我说:是站点重定向问题。具体原因他们也没法确定,反正是公司站点的问题,不是他们的问题。

我以小白的身份继续追问,他们告诉我:

技术分享

作为一个小白,我很天真的去找站点中的redirect。

结果当然是没有找到。

继续追问,支付宝告诉我,他们这种方式是:

支付宝向指定的站点url发送一个form的post。

站点需要接收这个post后,反馈给支付宝服务器“sucess”,来确认站点已经完成了订单处理信息。

支付宝api教程中,给的是一个aspx页面。页面无内容,只有后台代码中插入了接收form的逻辑,并需要根据订单处理方式加入订单处理逻辑。

我检查了所有的跳转,包括url重写和web.config中的404跳转,都没有发现问题。

最后想到了以前用handler处理本站的form提交信息。试用一下,果然,异步成功。

(P.S.说了半天,除了上一句和第一句,其他的都是废话。)

(其实我就是记录一下支付宝问题的处理方式,兰后顺便遇到这种postform的问题知道可以用handler接收处理。)

(其实,就是我脑子小,怕忘了罢了。。。)

支付宝及时到账异步支付不成功问题

标签:

原文地址:http://www.cnblogs.com/ybqofbky/p/4533466.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!