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

简述:用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接收处理。)

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

转载于:https://www.cnblogs.com/ybqofbky/p/4533466.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值