分析一下自己的做法!!
云函数发起支付,参考文档:developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/open/pay/CloudPay.unifiedOrder.html
如下代码
用户支付成功是会调用pay_cb云函数的,也就是进行回调。
也表示,官方建议支付成功的处理逻辑在云函数里面写。
那么这就有一个问题。
恶意用户可以直接调用云函数,来绕过支付。
所以为了安全起见,我们可以加上一个判断:判断pay_cb是回调调用而不是用户直接调用。
这个判断利用了cloud.getWXContext()
代码很简单,如下:
感觉有帮助麻烦给我来个赞!!需要升级一下谢谢。
又弄错了!!!
wxContext.SOURCE==='wx_paycallback'
这样才对
修改一下:
上图里面pay就是发起支付的云函数,根据需求修改。
这样就保证了,这个回调是用户自己通过pay请求,成功支付了金额,才进行的回调。
也就防止了恶意用户直接调用,来避免损失!!
PS:
为了安全起见我,加上了这一个判断。
也有一些朋友认为这个是画蛇添足,这种情况不存在。
借此文章,也希望大家探讨一下,共同进步。
感觉有帮助麻烦给我来个赞!!谢谢。