收藏
回答

商户转账给用户失败

框架类型 问题类型 操作时间 AppID
小程序 Bug 星期三 00:00 wx2eeaae95c0ff9fce

转账请求:{"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);


回答关注问题邀请回答
收藏

2 个回答

  • 北望沣渭
    北望沣渭
    2天前

    升级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();
    


    2天前
    有用 1
    回复 1
    • AAa明明就
      AAa明明就
      1天前
      谢谢大佬
      1天前
      回复
  • Memory (私信不回复)
    Memory (私信不回复)
    2天前

    无平台证书签发的去商户后台下载平台公钥,不需要再调平台证书下载接口

    2天前
    有用
    回复
登录 后发表内容