Uniapp 拉起微信App支付, V3版本,微信返回 支付验证签名失败, 但是统一下单是正确的
以下是前端调起微信支付的参数:
{"appid":"wx159***","noncestr":"mACruHD3YwCzn9G1F4NNJBIuYmnzpctb","partnerid":"172****","prepayid":"wx0719395366256328946807dfc973***","sign":"jb59bIGHaaIVvFhUDCRTuVi4eTOZd5VV9Qap32BSdmiJl4i1Y1JcEJqj3hs0Zyk+GmDeRFRFWoPUmV6jdXBKcEXEwkXJDBT57nYOXeSkZMVM4/DTgKOvB9GfUu8af3qvIPE+H9Mqg8fi5ViUHBSJrbivZwgPWVKOMGRbA/YNcL/9oHFQFNfwfx688NRhsFuhbJSjrDTZ0pRYELE+wpn28n8WgrVACa7nO80Qjep1uAuhfwjQpQDEi35avpu9xL3sNTA0ePWlS5Vpu2AHFFax/tj1F1y3hPYtJSHnQ2/g+jFJAO4NZUj7mvRxo1YOXv6oZg+FzVYOp7P7aF6R2PQuuQ==","timestamp":"1754566793","package":"Sign=WXPay"}

把放工具中验签通过的签名 写死拿去前端调起 可以成功的话说明传参有问题
如果不能调起的话 说明签名使用的私钥和商户号不对应
计算签名参数和调起支付参数不一致导致的,首先排查一下下单是不是这个 APPID?
第一步:构建下单参数:{"appid":"wx1596100b4c0c2121","mchid":"1720005741","description":"测试2222","outTradeNo":"1954000279903465472","timeExpire":null,"attach":null,"notifyUrl":"https://50180wz99bi3.vicp.fun/app/wechat/callback","goodsTag":null,"supportFapiao":null,"amount":{"total":100,"currency":"CNY"},"detail":null,"sceneInfo":null,"settleInfo":null,"packageValue":null,"packageStr":null}第二步:预下单返回结果:{"prepay_id":"wx09100236017526583d2e913b2dc9670000"}第三步:构建签名参数:appId(wx1596100b4c0c2121)时间戳(1754704954)随机字符串(1ALbOMWVTQCPlFVvyXXH20uWi2NesrbE)下单Id(wx09100236017526583d2e913b2dc9670000)第四步签名:String signature = WXPayUtility.sign(message, "SHA256withRSA", privateKey);第五步:得到签名字符串:KFm8dLSuncvW9p6cHwOJNUK9AJDld8E4lGzqKPQBcWWF/ai73YzDiVFO7b0uF48/nk8xuXM0skgQ7I0LZdvXEOtMtP0vltSBsJrhekgGc42xII7kVMBzt3r/rmnzImCY6yA4+6d4L19ZwaBQNIE0s3UenoWFFqRAz6YPOt9aPxRULqlbCGGja9ylrQW9KbFhdmXw+6ON2tKt9VOyako/6k7ogb6oCebX10YATeI1tHdu7mIlZR8cmwJYJ3MIfjbq98bymIteSnMWB0o9OpKHmgQzYrUGKoVzZv/5aYpu5/HDIz11ZdBpftm2dxXyQAlYNg4ihAt+Omjlhhm91QPbuw==下单的 AppId跟签名一样的哦,但是我后端服务生成的这个签名,放到签名工具里去验签,验证不通过,不知道哪里出了问题,还请大佬指点下因为您给我的这个签名工具,待签名字符串里有拼 prepay_id哦
1、接口文档:https://pay.weixin.qq.com/doc/v3/merchant/4013070351
签名参数:
appId:wx1596100b4c0c2121
时间戳:1754646958
随机字符串:SRjwI1dQWDpJoFIEKrgj5lriE3nvxFWA
预下单ID:wx08175558778387c2ff50612867c7b10001
生成的签名:Vn8kKXBorASMg7A7Yn/M+pgIzdGOggfsuS7M0LScGDK4wiYhjFb66yqTcYDg/uHf01is0Z3IKyfwoMwrkobF89b79HRahBt3rf3gU4F3T+dQJ5gAjvTg9PtJguQajjKE/iWvAJHD47OZym3VviZ0KaL/AB/cb8O7pc3hCoxdHUgEoGJ2100IGcVKez5f0UMRyHGXqA+ytg1vQaILoq5ur1TQcE8lZl0Vi8B211k+k1VfOAUyORsqZct5YVaqWEbTCsQxRb3tgpopr2ho+TaeOTFdvR+0nwOosSlbB7ss4pWKGcIUFoYClw/eIlK4HuhxqKX+9pCR+jtu6hTlZLEKSw==
Uniapp端拿到这些参数拉起微信App请求,返回支付签名验证失败