认真检查,每个参数的正确性,打印一下签名的字符串是什么,一定要认真
1、网上有教程说timeStamp 字段的S是小写,其实是错的。请保持大写,请保持大写。
2、缺少appId,那么请检查你得到的JSON字符串是不是标准JSON字符串。
SDK中代码示例
//调用微信JS api 支付
function jsApiCall()
{
WeixinJSBridge.invoke(
'getBrandWCPayRequest',
<?php echo $jsApiParameters; ?>,
function(res){
WeixinJSBridge.log(res.err_msg);
alert(res.err_code+res.err_desc+res.err_msg);
}
);
}
那么其中PHP输出部分,检查一下输出是对象,还是什么
jsApiParameters
如果实在不成,改成如下形式
//data 是正常的JSON才可以哦
function jsApiCall(data){
//data=$.parseJson(data);
//alert(data.appId);
WeixinJSBridge.invoke(
'getBrandWCPayRequest',
{
"appId":data.appId,
"nonceStr":data.nonceStr,
"package":data.package,
"paySign":data.paySign,
"signType":data.signType,
"timeStamp":data.timeStamp
},
function(res){
WeixinJSBridge.log(res.err_msg);
alert(JSON.stringify(res));
alert(res.err_code+res.err_desc+res.err_msg);
}
);
}