微信公众号支付jspi沙箱支付问题

mail1239 2017-02-12 06:10:03
jspi在正常测试目录下没有什么问题可以正常支付,但是迁移到sandbox 支付测试时出现能正常支付,后台notify_url能正常校验通过,但是前台返回get_brand_wcpay_request:fail 2 缺少参数total_fee

前台代码
 function onBridgeReady(){
WeixinJSBridge.invoke(
'getBrandWCPayRequest',
{
"appId" : obj.appId, //公众号名称,由商户传入
"timeStamp" : obj.timeStamp, //时间戳,自 1970 年以来的秒数
"nonceStr" : obj.nonceStr, //随机串
"package" : obj.packageValue, //<span style="font-family:微软雅黑;">商品包信息</span>
"signType" : obj.signType, //微信签名方式:
"paySign" : obj.paySign,
//微信签名
},
function(res) {
alert(res.err_msg+res.err_code+res.err_desc+ obj.appId+obj.timeStamp+obj.packageValue+obj.signType+obj.paySign);
if (res.err_msg == "get_brand_wcpay_request:ok") {
window.location.href = obj.sendUrl;
} else {
alert("fail");
window.location.href = basePath+"wxpay.jsp";
//<span style="font-family:微软雅黑;">当失败后,继续跳转该支付页面让用户可以继续付款,贴别注意不能直接调转jsp,</span><span style="font-size:10.5pt">不然会报</span><span style="font-size:12.0pt"> system:access_denied。</span>
}
}


后台输出前台
	public BrandWCPayReqData( String packageValue,String type) {
super();
this.appId = Configure.getAppid();
this.timeStamp = System.currentTimeMillis()/1000+"";
this.packageValue = "prepay_id="+packageValue;
setNonceStr(RandomStringGenerator.getRandomStringByLength(32));
this.signType = "MD5";
String sign = Signature.getSign(toMap());
setPaySign(sign);

}
public Map<String,Object> toMap(){
Map<String,Object> map = new HashMap<String, Object>();
Field[] fields = this.getClass().getDeclaredFields();
for (Field field : fields) {
Object obj;
try {

obj = field.get(this);
if(obj!=null){
if(field.getName().equals("packageValue"))
map.put("package", obj);
else map.put(field.getName(), obj);
}
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
return map;
}



系统后台都能正常退款,但是退款查询就不行了
<openid><![CDATA[wxd930ea8d1a258f4f]]></openid>
<trade_type><![CDATA[JSAPI]]></trade_type>
<cash_fee_type><![CDATA[CNY]]></cash_fee_type>
<refund_id><![CDATA[1234567892017021218072383249]]></refund_id>
<cash_refund_fee><![CDATA[101]]></cash_refund_fee>
<nonce_str><![CDATA[mt1vkdpuybbcj97cgz2d034d7nxink8q]]></nonce_str>
<return_code><![CDATA[SUCCESS]]></return_code>
<refund_fee_type><![CDATA[CNY]]></refund_fee_type>
<mch_id><![CDATA[1402455202]]></mch_id>
<sign><![CDATA[777BB1A9407991C4A04D394590B73579]]></sign>
<cash_fee><![CDATA[101]]></cash_fee>
<refund_fee><![CDATA[101]]></refund_fee>
<err_msg><![CDATA[SUCCESS]]></err_msg>
<cash_refund_fee_type><![CDATA[CNY]]></cash_refund_fee_type>
<return_msg><![CDATA[OK]]></return_msg>
<fee_type><![CDATA[CNY]]></fee_type>
<bank_type><![CDATA[CMC]]></bank_type>
<device_info><![CDATA[WEBJSPI]]></device_info>
<out_trade_no><![CDATA[D20170212180709]]></out_trade_no>
<transaction_id><![CDATA[100539073720170212180721167357]]></transaction_id>
<total_fee><![CDATA[101]]></total_fee>
<appid><![CDATA[wxa562cqb855485493]]></appid>
<out_refund_no><![CDATA[D20170212180709]]></out_refund_no>
<result_code><![CDATA[SUCCESS]]></result_code>
<err_code><![CDATA[SUCCESS]]></err_code>
</xml>

<xml>
<return_code><![CDATA[FAIL]]></return_code>
<return_msg><![CDATA[沙箱支付金额不正确,请确认验收case]]></return_msg>
</xml>

...全文
2500 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yunfeng1975 2017-03-05
  • 打赏
  • 举报
回复
我也是遇到同样的问题,还没有解决。
Tggui 2017-03-03
  • 打赏
  • 举报
回复
我获取沙箱密钥就出错了~ 请教
WXG_xiaoyan 2017-02-17
  • 打赏
  • 举报
回复
必须严格按照微信公众号(微信号:WXPayAssist)里面的测试用例,支付对应case金额才可以
yujinbing 2017-02-13
  • 打赏
  • 举报
回复
我这边是跑 那个微信的免充值券的测试用例的时候 前台回报缺少参数total_fee
yujinbing 2017-02-13
  • 打赏
  • 举报
回复
遇到同样的问题,求解,同问

869

社区成员

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

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