微信支付 get_brand_wcpay_request fail,Undefined variable: openid
本文将为您描述微信H5支付,微信JSAPI支付返回支付签名验证失败的解决方法
微信JSAPI支付时报这个错误
查看错误详情
alert(JSON.stringify(res))
微信商户平台相关设置:
场景介绍
商户已有H5商城网站,用户通过消息或扫描二维码在微信内打开网页时,可以调用微信支付完成下单购买的流程。(用户打开商户网页选购商品,发起支付,在网页通过JavaScript调用getBrandWCPayRequest接口,发起微信支付请求,用户进入支付流程)
步骤(1):商户下发图文消息或者通过自定义菜单吸引用户点击进入商户网页。
步骤(2):进入商户网页,用户选择购买,完成选购流程。
步骤(3):调起微信支付控件,用户开始输入支付密码。
步骤(4):密码验证通过,支付成功。商户后台得到支付成功的通知。
在步骤3的时候发生异常,没有成功唤起微信支付控件,打印js错误,显示 get_brand_wcpay_request fail
在微信商户平台里面的开发配置找到支付授权目录 点击添加
将当前 请求的url的地址、异步请求的地址、当前请求的上一级地址 都添加到微信商户平台的支付授权目录中,即可解决问题!
如图所示:
如果还是不行,
1) 使用微信的在线签名工具检查签名是否和程序生成的一致
https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=20_1 签名工具用谷歌打开。
选择MD5,XML,然后把请求参数xml放进去,就能校验签名。
2)如果和微信的在线签名工具一致,说明程序没有错误,确定是API密钥错误(被别人改动或者记错了)
在商户平台的账户信息中更改API密钥(账户设置-安全设置-API安全), 15分钟后生效
2.1)统一下单用的是A商户号,也必须是A商户号登陆商户平台设置key才对。
2.2)要注意统一下单请求参数中total_fee参数的类型是int类型。
3) 如果和微信的在线签名工具不一致,说明程序有错误,常见的错误可能是:
3.1) 编码问题,确保所有的都是utf-8的. 如果有中文, 可以先把中文改成英文重新签名,看是否签名错误,如果英文不会错中文才会错,基本肯定是编码问题
3.2:)消息中字段大小写和文档中完全一致
4 统一下单和调起支付签名类型需要一致。
- 微信支付【get_brand_wcpay_request:fail_invalid appid】
- 微信支付 get_brand_wcpay_request:fail 和 url未授权问题
- 微信支付 总提示get_brand_wcpay_request:fail 也不跳转支付页面 的解决方案
- 微信支付之get_brand_wcpay_request:fail_invalid appid
- 使用MVC微信支付返回get_brand_wcpay_request:fail
- 用微信支付的demo测试,安卓正常支付,ios却报错,报错内容为:timestampget_brand_wcpay_request:fail
- 微信H5公众号支付问题-(get_brand_wcpay_request:fail)2017年10月
- get_brand_wcpay_request:fail
- 记一个微信支付-1错误JSAPI缺少参数app|get_brand_request:Fail
- 微信支付出错,该公众号支付签名无效 get_brand_wcpay_request:cancel
- 关于微信H5公众号支付我们踩过的坑(get_brand_wcpay_request:fail)
- 微信公众号支付get_brand_wcpay_request:fail
- 关于微信H5公众号支付我们踩过的坑(get_brand_wcpay_request:fail)
- 关于微信H5公众号支付我们踩过的坑(get_brand_wcpay_request:fail)(防止更多人踩坑)
- 微信公众号支付出错: 当前页面的URL未注册: get_brand_wcpay_request:fail
- get_brand_wcpay_request:fail,微信公众号支付的那点坑
- 微信企业号开发:企业支付get_brand_wcpay_request:fail当前页面的URL未注册
- 微信支公众号支付测试 页面URL未注册 get_brand_wcpay_request:fail 的问题解决
- 公众号支付开发appid get_brand_wcpay_request:fail错误解决方案
- 微信v3 JSAPI最新接口错误 get_brand_wcpay_request:fail