以上代码,我手写填参数进去,是能正常唤起支付界面,就很纳闷。难道是编码问题吗?
微信支付apiV3提示支付签名失败[图片] 签名是通过的,但是在js中提交后 一直提示 支付签名验证失败。 <script> function onBridgeReady() { WeixinJSBridge.invoke('getBrandWCPayRequest', { "appId": "@payRes.Data.AppId", "timeStamp": "@payRes.Data.Timestamp", "nonceStr": "@payRes.Data.NonceStr", "package":"@payRes.Data.Package", "signType": "RSA", "paySign": "@payRes.Data.PaySign" //这里的值一直不对,我从后端获取过来后,下面的打印都是对的,这里为什么就不对了?? }, function(res) { if (res.err_msg == "get_brand_wcpay_request:ok") { $("#showpaymsg").html("支付成功"); } else if (res.err_msg == "get_brand_wcpay_request:cancel") { $("#showpaymsg").html("您取消了支付,可扫付费二维码继续支付"); $("#showconfig").html("appid:@payRes.Data.AppId,timeStamp:@payRes.Data.Timestamp,nonceStr:@payRes.Data.NonceStr,packAge:@payRes.Data.Package,paySign:@payRes.Data.PaySign"); } else if (res.err_msg == "get_brand_wcpay_request:fail") { $("#showpaymsg").html("支付失败"); } }); } if (typeof WeixinJSBridge == "undefined") { if (document.addEventListener) { document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false); } else if (document.attachEvent) { document.attachEvent('WeixinJSBridgeReady', onBridgeReady); document.attachEvent('onWeixinJSBridgeReady', onBridgeReady); } } else { onBridgeReady(); } </script>
07-12我也碰到这个问题 JSON格式检测 通过 不是格式问题··· !!! 2个小时 整整两个小时 终于搞好了 c# 版 [代码]/// 用户上传小程序代码 方法[代码] [代码] [代码][代码]/// </summary>[代码] [代码] [代码][代码]/// <param name="User_appid">用户的APPID</param>[代码] [代码] [代码][代码]/// <param name="mid">小程序在数据库中的ID号 后期匹配webapi下发数据</param>[代码] [代码] [代码][代码]/// <returns></returns>[代码] [代码] [代码][代码]public[代码] [代码]string[代码] [代码]Up_miniProgram([代码][代码]string[代码] [代码]User_appid, [代码][代码]int[代码] [代码]mid)[代码] [代码] [代码][代码]{[代码] [代码] [代码][代码]string[代码] [代码]auth_access_token = [代码][代码]new[代码] [代码]EFT<cc_xcx>().GetModel(x => x.authorizer_appid == User_appid) == [代码][代码]null[代码] [代码]? [代码][代码]""[代码] [代码]: [代码][代码]new[代码] [代码]EFT<cc_xcx>().GetModel(x => x.authorizer_appid == User_appid).authorizer_access_token;[代码][代码] [代码] [代码] [代码][代码]string[代码] [代码]ApiUrl = [代码][代码]"https://api.weixin.qq.com/wxa/commit?access_token="[代码] [代码]+ auth_access_token;[代码][代码] [代码] [代码] //获取模板号 和后台行业相对应[代码] [代码] [代码][代码]int[代码] [代码]TempLate_temp = 3[代码] [代码]var[代码] [代码]ext_online = [代码][代码]"{\"extEnable\":true,\"extAppid\":\""[代码] [代码]+ User_appid + [代码][代码]"\",\"ext\":{\"name\":\"xxx\",\"domain\":\"https://www.xxx.com\",\"domain2\":\"https://www.xxx.com\",\"mi\":"[代码][代码]+mid+[代码][代码]",\"apponline\":\""[代码] [代码]+ User_appid + [代码][代码]"\"},\"window\":{\"backgroundTextStyle\":\"light\",\"navigationBarBackgroundColor\":\"brown\",\"navigationBarTitleText\":\"xxx\",\"navigationBarTextStyle\":\"white\"}}"[代码][代码];[代码] [代码] [代码][代码]ext_online = JsonHelper.SerializeObject(ext_online);[代码][代码] [代码] [代码] //这一步最关键 一定要转化为JSON string格式 c# string不行 但是API文档上说是String 我开始很郁闷 后来理解了是json序列化后的格式[代码] [代码] [代码][代码]var[代码] [代码]postvalue2 = [代码][代码]"{\"template_id\":"[代码] [代码]+ TempLate_temp + [代码][代码]",\"ext_json\":"[代码] [代码]+ ext_online + [代码][代码]",\"user_version\":\"v1.0\",\"user_desc\":\"houselist\"}"[代码][代码];[代码] [代码] [代码][代码]string[代码] [代码]res = Set_Wx_api(ApiUrl, [代码][代码]"POST"[代码][代码], postvalue2);[代码] [代码] [代码][代码]return[代码] [代码]res;[代码] [代码] [代码][代码]}[代码] [代码] [代码] [代码] [代码] [代码] 调用:[代码] [代码] [代码] string msg = new Wx_api().Up_miniProgram(appid, mid); //实例化wx_api类中的上传方法 return msg; //输出{"errcode":0,"errmsg":"ok"} [代码][代码]
第三方平台为授权的小程序帐号上传小程序代码一直报47001接口:https://api.weixin.qq.com/wxa/commit?access_token=TOKEN 数据:{"template_id":0,"ext_json":{"extEnable":true,"extAppid":"wxe6bb636061c7259c","ext":{"upkey":"p20-mh-2649"}},"user_version":"1","user_desc":"sdfeefe"} 异常:47001 json格式化通过,为什么总报数据不是json格式?求大神看看。
2018-07-26