2025-03-02 21:07:08.058 [http-nio-20011-exec-19] INFO com.zbkj.service.service.impl.OrderPayServiceImpl - 支付预下单商户参数:wx497***d7a9ca63,16***95682,EVgSZJT****arLzx0HujWjX56nQX7
sign ========== D667BFA0F98805D28789759DABEC1060
2025-03-02 21:07:08.063 [http-nio-20011-exec-19] INFO com.zbkj.service.service.impl.OrderPayServiceImpl - 支付预下单请求微信参数:{"appid":"wx497f7befd7a9ca63","attach":"{\"type\":\"order\",\"userId\":108}","body":"51乐购","device_info":"WEB","fee_type":"CNY","mch_id":"1678295682","nonce_str":"60a050b38fb304e881132f13346584b4","notify_url":"https://api.manage.***un.top/api/admin/payment/callback/wechat","out_trade_no":"wxNo52760174092082806147949","receipt":"N","scene_info":"{\"h5_info\":{\"type\":\"Wap\",\"wap_name\":\"51乐购\",\"wap_url\":\"https://h5.yunqiyun.top\"}}","sign":"D667BFA0F98805D28789759DABEC1060","sign_type":"MD5","spbill_create_ip":"183.251.254.210","total_fee":39800,"trade_type":"APP"}
2025-03-02 21:07:08.085 [http-nio-20011-exec-19] DEBUG org.springframework.web.client.RestTemplate - HTTP POST https://api.mch.weixin.qq.com/pay/unifiedorder
2025-03-02 21:07:08.085 [http-nio-20011-exec-19] DEBUG org.springframework.web.client.RestTemplate - Accept=[text/plain, application/json, application/*+json, text/html, */*]
2025-03-02 21:07:08.085 [http-nio-20011-exec-19] DEBUG org.springframework.web.client.RestTemplate - Writing [<xml>
<appid>wx497f7befd7a9ca63</appid>
<mch_id>1678295682</mch_id>
<device_info>WEB</device_info>
<nonce_str>60a050b38fb304e881132f13346584b4</nonce_str>
<sign>D667BFA0F98805D28789759DABEC1060</sign>
<sign_type>MD5</sign_type>
<body>51乐购</body>
<attach>{"type":"order","userId":108}</attach>
<out_trade_no>wxNo52760174092082806147949</out_trade_no>
<fee_type>CNY</fee_type>
<total_fee>39800</total_fee>
<spbill_create_ip>183.251.254.210</spbill_create_ip>
<notify_url>https://api.manage.yu***un.top/api/admin/payment/callback/wechat</notify_url>
<trade_type>APP</trade_type>
<receipt>N</receipt>
<scene_info>{"h5_info":{"type":"Wap","wap_name":"51乐购","wap_url":"https://h5.y***n.top"}}</scene_info>
</xml>] as "application/xml;charset=UTF-8"
2025-03-02 21:07:08.441 [http-nio-20011-exec-19] DEBUG org.springframework.web.client.RestTemplate - Response 200 OK
2025-03-02 21:07:08.441 [http-nio-20011-exec-19] DEBUG org.springframework.web.client.RestTemplate - Reading to [java.lang.String] as "text/plain"
responseEntity<200,<xml><return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
<result_code><![CDATA[SUCCESS]]></result_code>
<mch_id><![CDATA[1678295682]]></mch_id>
<appid><![CDATA[wx497f7befd7a9ca63]]></appid>
<device_info><![CDATA[WEB]]></device_info>
<nonce_str><![CDATA[G4Ps9sfhH1cXmmTJ]]></nonce_str>
<sign><![CDATA[73D7C458836E8650DDBD30F8DBF6DD53]]></sign>
<prepay_id><![CDATA[wx02210708364963685bb285c81ceaf80001]]></prepay_id>
<trade_type><![CDATA[APP]]></trade_type>
</xml>,[Server:"nginx", Date:"Sun, 02 Mar 2025 13:07:08 GMT", Content-Type:"text/plain", Content-Length:"497", Connection:"keep-alive", Keep-Alive:"timeout=8", Cache-Control:"no-cache, must-revalidate", X-Content-Type-Options:"nosniff", Request-ID:"08FCAF91BE0610B80118B9BB8C5820889C1528C6AA04-0", "08FCAF91BE0610AC0118D1C2EEA306208CA80928A02C-0"]>
2025-03-02 21:07:08.450 [http-nio-20011-exec-19] INFO com.zbkj.service.service.impl.OrderPayServiceImpl - 支付预下单请求微信返回:{"appId":"wx***f7befd7a9ca63","deviceInfo":"WEB","extra":"{\"h5_info\":{\"type\":\"Wap\",\"wap_name\":\"51乐购\",\"wap_url\":\"https://h5.yunqiyun.top\"}}","mchId":"1678295682","nonceStr":"G4Ps9sfhH1cXmmTJ","prepayId":"wx02210708364963685bb285c81ceaf80001","resultCode":"SUCCESS","returnCode":"SUCCESS","returnMsg":"OK","sign":"73D7C458836E8650DDBD30F8DBF6DD53","tradeType":"APP"}
sign ========== EADE4D528BA8E84DA36F8E4026131313
2025-03-02 21:07:08.450 [http-nio-20011-exec-19] INFO com.zbkj.service.service.impl.OrderPayServiceImpl - ================================================app支付签名,map = {package=Sign=WXPay, appid=wx4****befd7a9ca63, partnerid=16***95682, prepayid=wx02210708364963685bb285c81ceaf80001, noncestr=wx497f7befd7a9ca63, timestamp=1740920828}
sign ========== C0B4527BCF696FE5B0A366CF8E6A048E
2025-03-02 21:07:08.450 [http-nio-20011-exec-19] INFO com.zbkj.service.service.impl.OrderPayServiceImpl - ================================================app支付签名,sign = C0B4527BCF696FE5B0A366CF8E6A048E
2025-03-02 21:07:08.450 [http-nio-20011-exec-19] INFO com.zbkj.service.service.impl.OrderPayServiceImpl - 支付预下单请求微信返回参数封装:{"timeStamp":"17409**828","prepayTime":"2025-03-02 21:07:08","package":"wx02210708364963685bb285c81ceaf80001","paySign":"C0B4527BCF696FE5B0A366CF8E6A048E","appId":"wx497f7befd7a9ca63","outTradeNo":"wxNo52760174092082806147949","signType":"MD5","prepayId":"wx02210708364963685bb285c81ceaf80001","partnerid":"16***95682","nonceStr":"wx497f7**fd7a9ca63"}
2025-03-02 21:07:08.455 [http-nio-20011-exec-19] INFO com.zbkj.service.service.impl.OrderPayServiceImpl - 支付预下单:
调起时提示“支付签名验证失败”,是调起的签名有问题导致的。
可以把调起的参数按文档参数规则https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_12&index=2放到在线验签工具https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=20_1进行验签。验签通过的话,可以参数写死去前端调起。
如果参数传递一致的话仍无法调起,检查下下单的商户号的v2密钥是否准确对应(如果是服务商模式调接口的话需要用服务商商户号的密钥,不能用子商户的密钥),签名工具不校验密钥正确性,只校验参数格式。
注意:不能使用下单返回的签名值,调起的签名值需要重新计算的
参考这里去排查https://developers.weixin.qq.com/community/develop/doc/00004c5fb9036083cb8bbe36b5b809