支付宝回调发生异常时,能否通知支付宝取消当前交易?

来源:11-10 支付模块所有功能自测

请叫我程序猿_呆维德

2017-12-07

Hi Geely Sir,

刚看到支付宝对接这部分,有个问题想请教一下,一般来说我们测试支付宝回调的时候,很可能不能保证一次性验证通过,也就是说有可能在我们自己的业务逻辑中间很可能会出现异常,那么在实际线上,当支付宝回调我们接口时,如果发生了异常,有没有什么办法通知支付宝取消当前交易,避免用户的损失呢?

谢谢...

==============分割线===============

自己开了下脑洞,在遇到回调异常的时候,捕获了该异常,然后在异常处理里面调用了退款接口,但是问题又来了,对于退款的订单,支付宝貌似把该订单关闭了,在我再次调用支付接口生成二维码进行付款的时候,提示当前交易已关闭,请收银员重新发起付款,请问这个怎么破?是需要我在自己的系统里把该订单也置为关闭状态,然后让用户重新下单吗?求指点!

可能我的这种解决方案有点愚蠢了,希望能给一个好的解决方案,谢谢...

写回答

1回答

Geely

2017-12-08

  1. 第一个问题是可以滴,系统肯定 要做补偿措施滴,例如用定时任务定时检测。异常订单主动取消退款 ,很好的问题

  2. 这个没关系,把咱们订单的状态重置,然后重新和支付宝生成新的交易号即可。




另外,看帖子看帖子看帖子,重要的说三遍哈


我给大家整理了这个,有问题可以来看看先找一下。 肯定有你想要的哈


部署环境的话 ,建议看下文章最后一小段哟~首先跟着课程阿里云部署那个章节过一遍,可以先不跟着操作,做到心里有数,环境部署都做了什么。


尽快进入咱们QQ群哟~~进群方法下面思维导图那个帖子有。非常详细


课程项目思维导图及线上环境、测试环境、部署linux和windows等解答

http://www.imooc.com/article/20193 


【重点】问答区常见问题整理

http://www.imooc.com/article/18998


课程项目QQ群分享手记

http://www.imooc.com/article/19094



找工作的季节之简历及找工作的分享

http://www.imooc.com/article/19998


项目环境、vsftpd、linux、mysql等各种配置、软件下载

http://learning.happymmall.com


课程求10分好评哇谢谢啦~~(づ ̄ 3 ̄)づ


咱们二期上线啦,【二期进阶Tomcat集群和Redis分布式课程已经上线】

二期课程网址 http://coding.imooc.com/class/162.html


0
2
Geely
回复
请叫我程序猿_呆维德
这个过程是在后端悄悄进行的,可以加一层校验,校验这个交易号是否已经过期,如果过期,在后端重新发起交易流水,展示给用户的还是最新的二维码,然后在pay表里记录好这个过程。另外你说的out_trade_no不能重复,这个的确是一个问题,我们还有一个办法。就是在后端在弄一共表,把用户真实的out_trade_no和我们悄悄发起的进行一个绑定。可以用这个out_trade_no加上下划线_1 _2这样发起。这个问题就解决了。 只不过回调的时候我们要判断一下绑定关系。是否正确。
2017-12-16
共2条回复

从0开始 独立完成企业级Java电商网站服务端开发

前后端分离,数据库接口设计,架构设计,功能开发,上线运维

9476 学习 · 8804 问题

查看课程