转账请求:{"batch_name":"提现","batch_remark":"测试答人提现佣金。","out_batch_no":"PICHIHAO00001a3525d916aa24785b0d7c926967afe28","total_amount":1,"transfer_detail_list":[{"openid":"oPG-N7X8sHRRXoMsiJ4Jp8Xwr974","out_detail_no":"PICHIHAO00001","transfer_amount":1,"transfer_remark":"测试答人提现佣金"}],"transfer_scene":"ORDINARY"}
09:03:57.463 [main] WARN c.g.b.w.v.a.AutoUpdateCertificatesVerifier - [autoUpdateCert,173] - Auto update cert failed, statusCode = 404,body = {"code":"RESOURCE_NOT_EXISTS","message":"无可用的平台证书,请在商户平台-API安全申请使用微信支付公钥。可查看指引https://pay.weixin.qq.com/docs/merchant/products/platform-certificate/wxp-pub-key-guide.html"}
WxPayConfig payConfig = new WxPayConfig();
payConfig.setAppId("wx2eeaae95c0ff9fce");
// payConfig.setCertSerialNo("PUB_KEY_ID_01171207662xxxxxxxx0002928");//来自api安全中心----验证微信支付身份 商户接收APIv3的请求应答、回调时验签使用
payConfig.setCertSerialNo("636D1FAxxxxxxxxxx54B504E456fesB72");//来自api安全中的----验证商户身份 商户调用API时签名使用 中的证书序列号
带注释的都试过一直出上面的错误,我不知道还缺啥
payConfig.setApiV3Key("5e058b166fxxxxx341c4cxxxxxe4c");//来自api安全中的----解密回调 商户解密APIv3的回调通知使用
payConfig.setPrivateKeyPath(keyPath + "\\apiclient_key.pem");//通过WXCertUtil.exe 生成的
// payConfig.setPrivateKeyPath(keyPath + "\\pub_key.pem");//来自api安全中心----验证微信支付身份 商户接收APIv3的请求应答、回调时验签使用 下载的pem
payConfig.setPrivateCertPath(keyPath + "\\apiclient_cert.pem");//通过WXCertUtil.exe 生成的
payConfig.setMchId("1712076624");//商户号
payConfig.setMchKey("1ebc8472xxxxxxxxxxxe3aaed4a");//appSecret微信小程序安全密钥
// payConfig.setMchKey("a5cfc32axxxxxxxxxxxxxa06224");//apiv2密钥
payConfig.setKeyPath(keyPath + "/apiclient_cert.p12");//通过WXCertUtil.exe 生成的
payConfig.setNotifyUrl("https://30106lz609xh.vicp.fun/ruoyi-payment/callback/wxpay");
// 可以指定是否使用沙箱环境
payConfig.setUseSandboxEnv(false);
升级wechatpay-java sdk 至v0.2.17并调整代码使用微信支付公钥,例如:
使用本地平台公钥
如果你的商户可使用微信支付的公钥验证应答和回调的签名,可使用微信支付公钥和公钥ID初始化。
// 可以根据实际情况使用publicKeyFromPath或publicKey加载公钥 Config config = new RSAPublicKeyConfig.Builder() .merchantId(merchantId) .privateKeyFromPath(privateKeyPath) .publicKeyFromPath(publicKeyPath) .publicKeyId(publicKeyId) .merchantSerialNumber(merchantSerialNumber) .apiV3Key(apiV3Key) .build();
无平台证书签发的去商户后台下载平台公钥,不需要再调平台证书下载接口