微信公众平台支付问题
微信公众平台的js支付接口,需要根据一系列的参数生成wxpay_sign,现在有一个业务需求是在生成微信的wxpay_sign时,不能预先知道微信的支付金额,也就是total_fee
参数。
有一个思路是通过ajax请求传递一系列参数,然后生成wxpay_sign
并传递到接口,现在遇到的问题是一直报jsapi param invalid: timeStamp
错误。代码如下:
$.ajax({
url: support_url,
data: {'crowdfunding_id':crowdfunding_id, 'openid':openid, 'message':message, 'price':price, 'wxid':wxid},
dataType: 'json',
success: function(res){
if (res.err == 0) {
wxpay_sign = res.wxpay_sign;
WeixinJSBridge.invoke('getBrandWCPayRequest',{
"appId": wxpay_sign.appId,
"timeStamp": wxpay_sign.timeStamp,
"nonceStr": wxpay_sign.nonceStr,
"package": wxpay_sign.package,
"signType": wxpay_sign.signType,
"paySign": wxpay_sign.paySign,
},function(response) {
if(response.err_msg == 'get_brand_wcpay_request:ok'){
alert('支付成功');
}
});
} else {
alert('支持失败');
}
}
});
});
同样的调用微信支付接口的方法,如果后端预先知道价格,生成wxpay_sign
并传递到后端是没有任何问题的,不知道是不是思路错了?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
timestamp
在js
前端全部为小写,后端生成sign
的时候为timeStamp
的S
大写。这是个坑,文档里有提到。http://mp.weixin.qq.com/wiki/11/74ad127cc054f6b80759c40f77ec03db.html#.E5.8F.91.E8.B5.B7.E4.B8.80.E4.B8.AA.E5.BE.AE.E4.BF.A1.E6.94.AF.E4.BB.98.E8.AF.B7.E6.B1.82