微信支付 WeixinJSBridge.invoke 函数执行,报错

微信支付JSAPI, WeixinJSBridge.invoke 函数执行,报错 err_msg: getBrandWCPayRequest:fail_no permission to execute 求具体指导,wx:z15030610683


 WeixinJSBridge.invoke(
          'getBrandWCPayRequest', {
            "appId": appId,     //公众号ID,由商户传入
            "timeStamp": timestamp,         //时间戳,自1970年以来的秒数
            "nonceStr": noncestr, //随机串
            "package": package1,
            "signType": signType,         //微信签名方式:
            "paySign": paySign //微信签名
          },
          function (res) {
            console.log(JSON.stringify(res))
            if (res.err_msg == "get_brand_wcpay_request:ok") {
              console.log("成功支付")
              //window.location.href="https://suyq.systoon.com/suzhoutoon-jewelry/m/index.html#/tips?flag=true"

            } else if (res.err_msg == "get_brand_wcpay_request:fail") {
              console.log("支付失败")
              // window.location.href="https://suyq.systoon.com/suzhoutoon-jewelry/m/index.html#/tips?flag=false"

            } else {
              console.log("取消支付")
            }
          }
          );

https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay/chapter2_8_2.shtml
这个问题我遇到过,是因为在小程序内部打开webview唤起支付遇到的问题,官方不支持这种方式

img

可以考虑通过h5唤起小程序,通过小程序支付后回到h5来实现

对于错误 "err_msg: getBrandWCPayRequest:fail_no permission to execute",主要是因为微信支付JSAPI没有权限调用。请检查以下几点:

该页面是否在微信浏览器中访问,如果不是,请在微信浏览器中访问该页面

公众号是否开通了微信支付功能

该页面是否在公众号后台设置的网页授权域名内

appId是否是公众号自己的appId,是否正确填写

timeStamp、nonceStr、package、signType、paySign是否正确填写

别人也有碰到这个情况的,你参考一下试试
https://blog.csdn.net/gbguanbo/article/details/68943060

微信支付中的 WeixinJSBridge.invoke 函数报错可能是由以下几种原因导致的:
1、网络问题:当网络不稳定时,微信支付的调用可能会失败。
2、兼容性问题:如果您的网页不支持微信支付的 JavaScript API,则会出现该错误。
3、API 错误:如果您的代码调用了不存在或已弃用的 API,则会出现该错误。
4、参数错误:如果您传递给 API 的参数不正确,则会出现该错误。
5、没有微信支付权限:如果您的账户没有开通微信支付,则会出现该错误。
解决方法:
1、检查网络:确保您的网络稳定并且可以正常访问微信支付的相关网站。
2、检查兼容性:确保您的网页支持微信支付的 JavaScript API。
3、检查 API:确保您的代码调用的 API 正确且存在。
4、检查参数:确保您传递给 API 的参数正确。
5、检查权限:确保您的账户已开通微信支付。

您好,如果安卓正常,ios报错fail_no permission的话,建议去查下小程序是否因为虚拟支付被处罚了ios支付权限。

这个错误是在使用微信支付 API 时遇到的。 "getBrandWCPayRequest:fail_no permission to execute" 的错误意思是你没有权限执行该 API 调用。
这通常是因为你的网站或应用没有经过微信支付的认证。要解决这个问题,你需要让你的网站或应用通过微信支付的认证。
另外,该 API 调用需要在微信客户端中执行,请确保你的网站或应用正在在微信客户端中打开。

现在微信支付相关调整很严格了,你这个问题建议到社区去咨询相关技术人员:
https://developers.weixin.qq.com/community/pay

发布问题这么久,还有人在回答。因为第一次支付所以碰到问题较多。在翻文档的时候发现,jsapi并不支付小程序打开的h5支付!!!!!