asp.net mvc 使用微信JSAPI支付报错缺少参数total_fee

学不断理还乱 2018-04-05 05:10:11
asp.net mvc 使用微信JSAPI支付报错缺少参数total_fee
但是参数中都设置过了。包括package也是正常的 贴上一段返回值:
WeiPay 页面  package(XML):<xml><trade_type><![CDATA[JSAPI]]></trade_type><openid><![CDATA[oXXXXXXXXXXXXXXXXXXXXA]]></openid><mch_id><![CDATA[1400000002]]></mch_id><total_fee><![CDATA[200]]></total_fee><out_trade_no><![CDATA[KL201804050459579830]]></out_trade_no><nonce_str><![CDATA[73278a4a86960eeb576a8fd4c9ec6997]]></nonce_str><sign><![CDATA[E59290D53E6FCF6FA2C3BAC365687D47]]></sign><body><![CDATA[话筒]]></body><notify_url><![CDATA[http://wXXXXXXX/Notify/]]></notify_url><spbill_create_ip><![CDATA[218.3.211.18]]></spbill_create_ip><appid><![CDATA[wxXXXXXXXXXXX3f]]></appid></xml>

2018/4/5 16:59:57 WeiPay 页面 package(Back_XML):<xml><return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
<appid><![CDATA[wxXXXXXXXXX3f]]></appid>
<mch_id><![CDATA[14000000002]]></mch_id>
<nonce_str><![CDATA[3HQSHpm0jRtka37N]]></nonce_str>
<sign><![CDATA[7910B71DC20F9A366562E55AA62FA259]]></sign>
<result_code><![CDATA[SUCCESS]]></result_code>
<prepay_id><![CDATA[wx05165957594514479609cfe42720076053]]></prepay_id>
<trade_type><![CDATA[JSAPI]]></trade_type>
</xml>

2018/4/5 16:59:57 WeiPay 页面 package:prepay_id=wx05165957594514479609cfe42720076053


这是我打印的log 下面是部分代码
JavaScript:
   function openOrderInfo(c, price, name, g, p, o, n) {
document.getElementById("orderInfoShow").style.display = "block";
document.getElementById("giftName").innerHTML = name;
document.getElementById("buyCount").innerHTML = c+"个";
document.getElementById("giftPrice").innerHTML = price+"元";
document.getElementById("sumPrice").innerHTML = c * price+"元";
$.ajax({
url: "/Vote/AddOrder",
type: "POST",
data: { gid: g, pId: p, count: c, openid: o, nick: n },
success: function (data) {
var p = data.substring(data.indexOf("package:'") + 9, data.indexOf("',"));


document.getElementById("pack").innerHTML = p;
document.getElementById("sign").innerHTML = data.substring(data.indexOf("sign:'") + 6, data.indexOf("',ts"));
document.getElementById("ts").innerHTML = data.substring(data.indexOf("ts:'") + 4, data.indexOf("',ns"));
document.getElementById("sn").innerHTML = data.substring(data.indexOf("ns:'") + 4, data.indexOf("',aid"));
document.getElementById("aid").innerHTML = data.substring(data.indexOf("aid:'") + 5, data.indexOf("'}"));
}
});
}


function SavePay() {

var pack = document.getElementById("pack").innerHTML;
var times = document.getElementById("ts").innerHTML;
var ns = document.getElementById("sn").innerHTML;
var ps = document.getElementById("sign").innerHTML;
alert(pack+","+times+","+ns+","+ps);
WeixinJSBridge.invoke('getBrandWCPayRequest', {
"appId": "@Session["appid"].ToString()", //公众号名称,由商户传入
"timeStamp": '"' + times + '"', //时间戳
"nonceStr": '"' + ns + '"', //随机串
"package": '"' + pack + '"', //扩展包
"signType": "MD5", //微信签名方式:1.sha1
"paySign": '"' + ps + '"' //微信签名
},
function (res) {
if (res.err_msg == "get_brand_wcpay_request:ok") {

//window.location.reload(true);
//alert("success");
window.location.href = "http://";


} else if (res.err_msg == "get_brand_wcpay_request:cancel") {
alert("用户取消支付!");
} else {
alert(res.err_msg);
alert("支付失败!");
}
// 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
//因此微信团队建议,当收到ok返回时,向商户后台询问是否收到交易成功的通知,若收到通知,前端展示交易成功的界面;若此时未收到通知,商户后台主动调用查询订单接口,查询订单的当前状态,并反馈给前端展示相应的界面。
});
}



</script>


HTML:
<label id="pack" style="display:none;"></label>
<label id="sign" style="display:none;"></label>
<label id="ts" style="display:none;"></label>
<label id="sn" style="display:none;"></label>
<label id="aid" style="display:none;"></label>



在调试的时候alert弹出这些值都是正常的,但是总是提示缺少参数total_fee 求大神指点
...全文
1025 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
开发者_android 2018-04-09
  • 打赏
  • 举报
回复
配置过了total_fee,应该还是package问题,再找找核对一下。
学不断理还乱 2018-04-05
  • 打赏
  • 举报
回复
来大神救命啊

869

社区成员

发帖
与我相关
我的任务
社区描述
本版块主要讨论微信支付开发接入过程中的技术问题。包括微信支付线上线下支付的接入,微信支付营销能力的开发等。
微信社交电子 技术论坛(原bbs)
社区管理员
  • 微信支付
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧