关闭

微信公众号支付签名验证错误chooseWXPay:fail

标签: 支付nodejs微信公众号
3722人阅读 评论(0) 收藏 举报
分类:

最近用nodejs开发微信公众号支付功能后台,明明后台已经签名校验成功了(签名相关可参照我的上一篇文章),支付的prepay_id都已经拿到了,但是返回给H5,H5调起微信支付面板时一直报chooseWXPay:fail,关键是android机闪了下支付面板,然后就没了,连个错误弹框都没,而ios就弹支付签名验证失败,搞了我大半天,才搞定。

通过微信https://api.mch.weixin.qq.com/pay/unifiedorder接口成功返回prepay_id, nonce_str, sign 等参数,然后将这些参数返回给H5,h5调微信支付接口,然后就一直报支付签名验证失败了。

1.我的问题是,微信接口返回的 签名(sign) 不能直接给h5,需要再次签名!!!!https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6


h5调起微信支付参数

再次签名:paySign=MD5(appId=${appid}&nonceStr=${nonceStr}&package=prepay_id=${prepay_id}&signType=MD5&timeStamp=${timeStamp}&key=${key}).toString().toUpperCase();   得到签名paySign连同timeStamp,appid,nonceStr一并返回给H5,

需要注意的是:再次签名中的时间戳是秒,timeStamp中的S是大写,而H5请求支付时timestamp中的s是小写

2.当然,有些人时因为支付授权目录配置错误,需要检查h5支付授权目录是否正确,网上很多说是要配置到二级或三级目录,但发现它们的开发配置文档是之前的,8月1号后支付都移到微信支付平台了,而且官方也没提示要配置到二级或三级了,估计这个也坑了很多人,我这边情况就配置了审核过的域名,这个应该要根据项目而定。这块我没遇到问题就不写,怕写得不对就埋坑了。


H5支付授权目录配置
0
0
查看评论

发起一个微信支付请求接口— wx.chooseWXPay() – 微信JS开发文档

微信支付请求接口— wx.chooseWXPay(): wx.chooseWXPay({ timestamp: 0, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符 non...
  • xuanjiewu
  • xuanjiewu
  • 2016-10-26 10:33
  • 13975

微信公众号开发中遇到的问题——支付(二)

第一次开发微信公众号,也是第一次接触微信公众号的支付,我使用的是jssdk,用h5页面调用的支付,后台使用的是java。首先声明,我不是一个愤世嫉俗的人,也不喜欢吐槽,我认为别人提供接口就已经很不错了,干嘛要吐槽呢?但是,这一次,我不得不说,微信公众号支付的文档真是渣!!!你没有也就算了,既然有了,...
  • u013076997
  • u013076997
  • 2016-08-26 14:16
  • 18068

微信支付接口返回chooseWXPay:fail

微信支付接口返回chooseWXPay:fail基本都是参数问题引起的 wx.chooseWXPay({ appId: "", timestamp: "", // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支...
  • zyf_balance
  • zyf_balance
  • 2015-10-21 08:33
  • 13347

微信JSSDK_支付的使用,验证成功

微信jssdk支付功能-前端部分
  • u013022210
  • u013022210
  • 2016-04-22 13:17
  • 8772

微信公众号内网页调wx.chooseWXpay支付错误

1,JSAPI支付授权目录没有设置,或设置不正确 2,微信支付生成签名不正确 格式是这样的 "appId="+appid+"&nonceStr="+nonceStr+"&package="+packageStr...
  • eyugod
  • eyugod
  • 2017-08-21 01:21
  • 1393

微信开发问题(非支付目录问题)choosewxpay fail解决

开发微信支付,一直报错choosewxpay fail错误,按照网上说的,仔细检查了支付目录配置和代码,没有错,参数也传递正确,最终发现错误,改正如下: $('#chooseWXPay').on('click', function(){ wx.chooseWXPa...
  • u013283562
  • u013283562
  • 2015-12-28 18:14
  • 9682

golang微信公众平台支付错误 chooseWxPay:fail

上次的的血泪教训是4个小时,这次是2天,当时的情况是这样的: config  ok,各提起支付的参数获取正常,在微信支付接口签名校验工具的校对结果完全一致,但就是报 chooseWxPay:fail,同事的ios手机上报参数错误,但是校验工具告诉我没错。 翻遍了google前6页...
  • u012210379
  • u012210379
  • 2016-08-24 17:09
  • 1605

微信支付提示{"errMsg":"chooseWXPay:fail"}

微信支付,调用JSSDK wx.chooseWXPay({ timestamp: 0, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符 nonceStr: '...
  • ahywg
  • ahywg
  • 2015-11-06 09:47
  • 23525

微信支付部分问题总结(Config: invalid signature, chooseWXPay:fail)

微信支付问题总结 1.   Config: invalid signature 用http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign提供的工具校验得到是signature和我自己在后台计算出来的是一致的...
  • free555
  • free555
  • 2015-10-14 11:19
  • 5427

微信公众号支付支付验证签名失败及公众号支付总结

微信公众号支付总结:做完了微信支付想趁着这把火没灭继续把公众号支付也做完,但是没想到中途出了呢么多意外,每次都是感觉解决了这个问题就可以支付了,但每次都是一个问题接另一个问题的出现,特此总结一下出现的问题及原因。 1.没仔细看文档(有人会一个字一个字的全看完么。。。还是只有我一目十行。。)。如果你仔...
  • The_Knife
  • The_Knife
  • 2017-05-08 11:30
  • 11408
    个人资料
    • 访问:3699次
    • 积分:60
    • 等级:
    • 排名:千里之外
    • 原创:2篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档