WxJava icon indicating copy to clipboard operation
WxJava copied to clipboard

v2支付成功,回调提示 参数格式校验错误!

Open zhangyicai opened this issue 1 month ago • 2 comments

大佬,帮忙看看这是什么问题导致的。

  • WxJava 模块名: weixin-java-pay
  • WxJava 版本号: 4.7.8-20251028.120007

详细描述

v2支付成功,回调报错,下面是回调的参数

Image

wx58ff40508696691f <bank_type>ICBC_DEBIT</bank_type> <cash_fee>1</cash_fee> <fee_type>CNY</fee_type> <is_subscribe>N</is_subscribe> <mch_id>1545462911</mch_id> <nonce_str>1761723102373</nonce_str> o1gdd16CZCI6yYvkn6j9EB_1TObM <out_trade_no>20251029153140</out_trade_no> <result_code>SUCCESS</result_code> <return_code>SUCCESS</return_code> 03F5C68CA8F2E30855077FA3FC21EBEA <time_end>20251029153852</time_end> <total_fee>1</total_fee> <trade_type>JSAPI</trade_type> <transaction_id>4200002882202510298162739638</transaction_id>

回调接口的代码 log.info(" "+xmlData); final WxPayOrderNotifyResult notifyResult = this.wxService.parseOrderNotifyResult(xmlData, WxPayConstants.SignType.MD5);

    return WxPayNotifyResponse.success("成功");

BaseWxPayResult的 checkResult 方法报错 参数格式校验错误

Image

创建支付订单代码 WxPayUnifiedOrderRequest request=new WxPayUnifiedOrderRequest(); // request.setAppid("wx58ff40508696691f"); // request.setMchId("1545462911"); request.setTradeType(WxPayConstants.TradeType.JSAPI); request.setBody("dddd"); request.setTotalFee(1); request.setSpbillCreateIp("123.12.12.123"); // request.setPayer(new WxPayUnifiedOrderV3Request.Payer().setOpenid(openId)); request.setOpenid(openId); SimpleDateFormat formatstr =new SimpleDateFormat("yyyyMMddHHmmss"); String dateStr = DateUtils.getDataString(formatstr); request.setOutTradeNo(dateStr); request.setNotifyUrl("https://qwer.gdmtest.top:8067/xy/weiChatPay/notify/order"); WxPayMpOrderResult ss = payService.createOrder(request);

zhangyicai avatar Oct 29 '25 09:10 zhangyicai

Image

zhangyicai avatar Oct 29 '25 09:10 zhangyicai

Image用这个请求会报错

zhangyicai avatar Oct 29 '25 09:10 zhangyicai