评论

微信云函数调用支付的时候,支付成功如何防止恶意调用

微信支付成功,如何安全回调

分析一下自己的做法!!

云函数发起支付,参考文档:developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/open/pay/CloudPay.unifiedOrder.html

如下代码


用户支付成功是会调用pay_cb云函数的,也就是进行回调。

也表示,官方建议支付成功的处理逻辑在云函数里面写。

那么这就有一个问题。

恶意用户可以直接调用云函数,来绕过支付。

所以为了安全起见,我们可以加上一个判断:判断pay_cb是回调调用而不是用户直接调用。

这个判断利用了cloud.getWXContext()

代码很简单,如下:

感觉有帮助麻烦给我来个赞!!需要升级一下谢谢。



最后一次编辑于  2021-03-27  
点赞 0
收藏
评论

2 个评论

  • JXun
    JXun
    2021-03-27

    又弄错了!!!

    wxContext.SOURCE==='wx_paycallback'

    这样才对

    2021-03-27
    赞同
    回复
  • JXun
    JXun
    2021-03-27

    修改一下:

    上图里面pay就是发起支付的云函数,根据需求修改。

    这样就保证了,这个回调是用户自己通过pay请求,成功支付了金额,才进行的回调。

    也就防止了恶意用户直接调用,来避免损失!!

    PS:

    为了安全起见我,加上了这一个判断。

    也有一些朋友认为这个是画蛇添足,这种情况不存在。

    借此文章,也希望大家探讨一下,共同进步。

    感觉有帮助麻烦给我来个赞!!谢谢。



    2021-03-27
    赞同
    回复
登录 后发表内容