微信调用统一下单接口后,返回openid参数长度有误?
发布于 5 年前 作者 fuxiuying 11828 次浏览 来自 问答

大家好,微信中调用统一下单接口如下

String xml = "<xml version='1.0' encoding='utf-8'>" + "<appid>" + orderPay.getAppId() + "</appid>"
        + "<body><![CDATA[" + orderPay.getBody() + "]]></body>"
        + "<mch_id>" + orderPay.getMchId() + "</mch_id>"
        + "<nonce_str>" + orderPay.getNonceStr() + "</nonce_str>"
        + "<notify_url>" + orderPay.getNotifyUrl() + "</notify_url>"
        + "<openid>" + orderPay.getOpenid() + "</openid>"
        + "<out_trade_no>" + orderPay.getOutTradeNo() + "</out_trade_no>"
        + "<spbill_create_ip>" + orderPay.getSpbillCreateIp() + "</spbill_create_ip>"
        + "<total_fee>" + orderPay.getTotalFee() + "</total_fee>"
        + "<trade_type>" +orderPay.getTradeType() + "</trade_type>"
        + "<sign>" + mysign + "</sign>"
        + "</xml>"

后,返回CDATA[openid参数长度有误]

我的openid,是在微信小程序获取openid时,生成的。如下所示

//请求参数
String params = "appid=" + wxspAppid + "&secret=" + wxspSecret + "&js_code=" + code + "&grant_type=" + grant_type;
//发送请求
String sr = HttpRequest.sendGet"https://api.weixin.qq.com/sns/jscode2session", params);
//解析相应内容(转换成json对象)
JSONObject json1 = JSONObject.parseObject(sr);
//获取会话密钥(session_key)
String session_key = json1.get("session_key").toString();
//用户的唯一标识(openid)
String openid = (String) json1.get("openid");

请问该如何处理呢。谢谢了

2 回复

​你好,微信支付相关问题麻烦在微信支付专区提问,我们有专门的人员处理

微信支付专区:https://developers.weixin.qq.com/community/pay

看下生成的wxml 数据格式就好了

回到顶部