美文网首页
2019-06-12 微信支付回调坑

2019-06-12 微信支付回调坑

作者: 江江江123 | 来源:发表于2019-06-12 14:44 被阅读0次

    背景描述:
    在支付,退款回调的方法中添加Transactional ,来保证订单状态和业务状态一致
    问题出现:
    在一个支付回调中,处理第三方预约,如果第三方预约失败,则调用微信退款接口;然而第三方因为网络原因,处理时间超过30s;
    这时候发现微信的回调会在30s内触发2次,第一次触发和第二次触发,因为有事务的隔离,所以2次方法是完全一样的,在第一次事务正确结束后,第二次事务又将正确结果修改为异常数据;
    解决方法:
    在支付成功失败后执行的sql上添加for update, 实现行级锁,即当update执行时,该条数据无法查询,待修改完成后,才会继续向下执行;

    相关文章

      网友评论

          本文标题:2019-06-12 微信支付回调坑

          本文链接:https://www.haomeiwen.com/subject/vxhlfctx.html