微信云函数调用支付的时候,支付成功如何防止恶意调用
发布于 3 年前 作者 shenxiuying 1042 次浏览 来自 分享

分析一下自己的做法!!

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

如下代码

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

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

那么这就有一个问题。

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

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

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

代码很简单,如下:

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

2 回复

又弄错了!!!

wxContext.SOURCE==='wx_paycallback'

这样才对

修改一下:

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

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

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

PS:

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

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

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

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


回到顶部