微信 支付,{return_msg=mch_id参数格式错误, return_code=FAIL}

{return_msg=mch_id参数格式错误, return_code=FAIL} 这个错误是怎么犯的啊,
如何解决 ,求前辈们指教。在线等。。。。。

我的商户号对了好几遍,没有错误啊,不就是 申请成功后给的商户号吗。而且我把商户号这个参数去掉了,它还是报这个错误。

//发起微信支付请求  
public static String httpsRequest(String requestUrl, String requestMethod, String outputStr) {    
  try {    
      URL url = new URL(requestUrl);    
      HttpURLConnection conn = (HttpURLConnection) url.openConnection();    
       System.out.println(conn);
      conn.setDoOutput(true);    
      conn.setDoInput(true);    
      conn.setUseCaches(false);    
      // 设置请求方式(GET/POST)    
      conn.setRequestMethod(requestMethod);    
      conn.setRequestProperty("content-type", "application/x-www-form-urlencoded");    
      // 当outputStr不为null时向输出流写数据    
      if (null != outputStr) {    
          OutputStream outputStream = conn.getOutputStream();    
          // 注意编码格式    
          outputStream.write(outputStr.getBytes("UTF-8"));    
          System.out.println("999999999999999999999"+outputStream);
          outputStream.close();    
      }    
      System.out.println("!!!!!!!!!!"+conn);
      // 从输入流读取返回内容    
      InputStream inputStream = conn.getInputStream();   
      InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");    
      System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@"+inputStream);
      BufferedReader bufferedReader = new BufferedReader(inputStreamReader); 
      String str = null;  
      StringBuffer buffer = new StringBuffer();    
      while ((str = bufferedReader.readLine()) != null) {  
          System.out.println("121232"+str);
          buffer.append(str);    
      }    
      // 释放资源    
      bufferedReader.close();    
      inputStreamReader.close();    
      inputStream.close();    
      inputStream = null;    
      conn.disconnect();    
      return buffer.toString();    
  } catch (ConnectException ce) {    
      System.out.println("连接超时:{}"+ ce);    
  } catch (Exception e) {    
      System.out.println("https请求异常:{}"+ e);    
  }    
  return null;    
}    

        //微信统一下单参数设置  
public static String WXParamGenerate(String description,String out_trade_no,double total_fee,String product_id) throws Exception{  
    int fee = (int)(total_fee * 100.00);  
    Map<String,String> param = new HashMap<String,String>();  
    param.put("appid",ConstantUtil.APP_ID);  
    param.put("mch_id",ConstantUtil.MCH_ID); 
    param.put("nonce_str",NonceStr());  //随机字符串 
    param.put("body",description);  //商品描述
    param.put("out_trade_no",out_trade_no);  //商户订单号
    param.put("total_fee",fee+"");  //金额
    param.put("spbill_create_ip",GetIp());  //获取Ip
    param.put("notify_url",ConstantUtil.WEIXIN_NOTIFY);  //获取回调函数
    param.put("trade_type","MWEB");  //支付类型    《H5支付》 
    param.put("product_id",product_id+"");  //商品ID
    //获取签名
    String sign = GetSign(param);  

    param.put("sign", sign);  
 /*   StringBuffer d =new StringBuffer();
    String dd =parseMapToXml(d,param);
    System.out.println("45645465465645465645"+dd);*/
    return GetMapToXML(param);  
}  

    生成的xml
    <xml>
<sign>![CDATA[861D4992EB4C8C1E044EE874DB241A84]]</sign>
<body>![CDATA[sdfsdf]]</body>
<mch_id>![CDATA[1236523159]]</mch_id>
<product_id>![CDATA[1]]</product_id>
<spbill_create_ip>![CDATA[10.100.1.20]]</spbill_create_ip>
<total_fee>![CDATA[100]]</total_fee>
<notify_url>![CDATA[http://www.weixin.com/mobile/weixin/weixin_pay_result.jsp]]
</notify_url>
<appid>![CDATA[wx6a1ed640f5a09b19]]</appid>
<out_trade_no>![CDATA[1509506925f3981795-af0c-4931-af3a-3c8b7f732433]]
</out_trade_no>
<nonce_str>![CDATA[MC4zMjcxMzY1NDU1MjM1MDE3OjpXZW]]</nonce_str>
<trade_type>![CDATA[MWEB]]</trade_type>

7个回答

我的商户号对了好几遍,没有错误啊,不就是 申请成功后给的商户号吗。而且我把商户号这个参数去掉了,它还是报这个错误。

10位数字,不要把@...重复的那部分加上

woainiliushuning
MOnkey? 我就是用的10位商户号,一直就是这个。不对。
接近 3 年之前 回复

大佬们,帮忙看看这个有什么问题:

<![CDATA[wx4562b5fc04722c84]]>
<![CDATA[1434555465]]>
<![CDATA[1788623152]]>
<![CDATA[1add1a30ac87aa2db72f57a2375d8fec]]>
<![CDATA[0CB01533B8C1EF103065174F50BCA001]]>

<![CDATA[body1234]]>
<![CDATA[8774040423F040ba8AD16C329D4C4285]]>
<![CDATA[99]]>
<![CDATA[123.12.12.123]]>
<![CDATA[http://wxpay.wxutil.com/pub_v2/pay/notify.v2.php]]>
<![CDATA[MWEB]]>
<![CDATA[{"h5_info": {"type":"Wap","wap_url": "https://pay.qq.com","wap_name": "腾讯充值"}}]]>

也是报错:mch_id参数格式错误

大佬们,帮忙看看这个有什么问题:

《appid》《![CDATA[wx4562b5fc04722c84]]》《/appid》
《mch_id》《![CDATA[1434555465]]》《/mch_id》
《sub_mch_id》《![CDATA[1788623152]]》《/sub_mch_id》
《nonce_str》《![CDATA[1add1a30ac87aa2db72f57a2375d8fec]]》《/nonce_str》
《sign》《![CDATA[0CB01533B8C1EF103065174F50BCA001]]》《/sign》
《body》《![CDATA[body1234]]》《/body》
《out_trade_no》《![CDATA[8774040423F040ba8AD16C329D4C4285]]》《/out_trade_no》
《total_fee》《![CDATA[99]]》《/total_fee》
《spbill_create_ip》《![CDATA[123.12.12.123]]》《/spbill_create_ip》
《notify_url》《![CDATA[http://wxpay.wxutil.com/pub_v2/pay/notify.v2.php]]》《/notify_url》
《trade_type》《![CDATA[MWEB]]》《/trade_type》
《scene_info》《![CDATA[{"h5_info": {"type":"Wap","wap_url": "https://pay.qq.com","wap_name": "腾讯充值"}}]]》《/scene_info》

weixin_43545369
亚轩啊 大佬 你是怎么解决的啊
一年多之前 回复
qq_41944179
博客初体验 我也遇到这个问题,怎么解决,大佬们
接近 2 年之前 回复

不是写了商户号参数格式错误了么

woainiliushuning
MOnkey? 回复alunSemiconductor: 好
接近 3 年之前 回复
ejiao1233
alunSemiconductor 回复MOnkey?: 不如把代码贴一下啊,这样子问恐怕没法解决问题
接近 3 年之前 回复
woainiliushuning
MOnkey? 我就是用的10位商户号,一直就是这个。不对。
接近 3 年之前 回复

mch_id是微信商户平台的账号,纯数字,10位左右吧,地址是pay.weixin.qq.com

woainiliushuning
MOnkey? 我就是用的10位商户号,一直就是这个。不对。
接近 3 年之前 回复
woainiliushuning
MOnkey? 我确定我的商户号没有问题
接近 3 年之前 回复

return_msg=mch_id

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问