使用Bmob后端云实现的微信支付(后端处理),如何防止重复通知/多次回调

1、复制云函数的完整调用链接

2、将该链接配置为支付成功异步通知的url

3、云函数处理逻辑

        先查看微信支付的开发文档,防止处理逻辑有所遗漏导致一些不必要的麻烦

        下面有我测试的案例,经过我多次测试才找到正确的方法

// request.getParams()获取携带的参数,参数如下:
// {"out_trade_no":"商户单号","trade_status":"1","trade_no":"交易单号"}
JSONObject paramsObj = request.getParams();

// 查询支付订单信息,参数如下:
HttpResponse res = modules.oData.payQuery(paramsObj.getString("out_trade_no"));

if(该订单还未处理) { // 必须判断,防止同个订单被多次处理
    
    // 处理数据...
    
    // 反馈给微信服务器,这一步很重要
    // 测试1:失败,重复通知
    // response.send("<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>");
    // 测试2:失败,重复通知
    // response.send("<xml><return_code>SUCCESS</return_code><return_msg>OK</return_msg></xml>");
    // 测试3:失败,重复通知
    // response.send(true);
    // 测试4:失败,重复通知
    // return;

    // 测试5:成功,微信已响应并停止继续通知
    response.send("SUCCESS");
}

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Homilier

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值