• 微信支付异步通知的深坑


    在一次项目中,需要在商户收到用户的钱的时候发短信通知商户,所以在异步通知哪里写了这么一个功能,然后问题就来了,客户付一次钱,能发10条8条信息,到底是哪里出的问题?在发起支付前打印一下生成的支付单状态,发现是未支付的状态 ok,没问题,然后在异步通知接收到的参数去数据库查询支付单,发现支付单查出来的已经是改变了支付状态的,问题就来了,我是在改变支付单的逻辑前面查询的支付单就查询的,支付单怎么就会改变了状态呢,发起支付请求到微信给我的异步通知,中间没有其他的步骤了,是在哪里改变的支付单状态,我怎么不知道?然后一次次的调试,还是没撤,就找了我老大哥,说让他叫我把file_put_conetnets 加多一个写入模式,是追加进去,然后再测试了一次,OMG!原来微信第一次就给我发起了10条8条异步通知(就是不等我回它success为一次),所以我这个文件就执行了10次8次,问题找到了,马上就逻辑处理了一下。 不知道支付宝是不是这样,我也先不测了,就先当支付宝也是这样吧,特意留下此贴,记录一下开发过程中碰到的那些坑,加深印象,也防止别人遇到我这样的坑,能够避免踩雷

  • 相关阅读:
    设计模式之创建型模式
    Django Admin的简单使用
    单例模式
    自定义异步IO模块
    ps 处理gif
    安装vmware tools问题
    ppt图片在word中不能正常显示,只显示为矩形框的解决方法
    没有注册类别的一种解决方法
    VS2008安装“Visual Studio Web 创作组件”安装失败的解决方法
    Ubuntu重装VMwareTools
  • 原文地址:https://www.cnblogs.com/wqxq/p/13977600.html
Copyright © 2020-2023  润新知