收藏
回答

wechatpay-go v3初始化失败

https://github.com/wechatpay-apiv3/wechatpay-go

使用了官方这个包,初始化错误:

wxCtx := context.Background()
opts := []core.ClientOption{
    option.WithWechatPayAutoAuthCipher(mchID, mchCertificateSerialNumber, mchPrivateKey, mchAPIv3Key),
}
client, err := core.NewClient(wxCtx, opts...)
if err != nil {
    log.Printf("new wechat pay client err:%s", err)
}


2024/11/03 21:42:47 new wechat pay client err:init client setting err:error http response:[StatusCode: 404 Code: "RESOURCE_NOT_EXISTS"

Message: 无可用证书,请先确保已有API证书,再在商户平台-API安全申请使用微信支付公钥用于验签。可查看指引https://pay.weixin.qq.com/docs/merchant/products/platform-certificate/wxp-pub-key-guide.html


问题是,商户后台API安全都已开通了完毕了。


有遇到的吗?如何解,谢谢!


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

3 个回答

  • 支付社区运营
    支付社区运营
    11-05

    如果是新申请的微信支付商户号出现「无可用证书,请先确保已有API证书」的报错,这是因为新申请的商户号需要使用公钥模式,具体还请参照:https://developers.weixin.qq.com/community/pay/doc/0002c6a7cf438818df52145b863c01 进行处理

    11-05
    有用
    回复
  • Memory
    Memory
    发表于移动端
    11-03

    你需要用公钥模式而不是去初始化平台证书,可以参考https://developers.weixin.qq.com/community/develop/article/doc/000ca894a20c983cad52242286b813

    11-03
    有用 1
    回复 1
    • 傅海
      傅海
      11-03
      出来了!真tmd牛逼克拉斯,这官方sdk的demo垃圾的不得了,非常感谢!
      11-03
      回复
  • onenight
    onenight
    11-07
    // 使用商户私钥等初始化 client,并使它具有自动定时获取微信支付平台证书的能力
    opts := []core.ClientOption{
        option.WithWechatPayAutoAuthCipher(mchID, mchCertificateSerialNumber, mchPrivateKey, mchAPIv3Key),
    }
    

    用的上面这个还是 下面这套代码呢opts := []core.ClientOption{

    option.WithWechatPayPublicKeyAuthCipher(

    mchID,

    mchCertificateSerialNumber, mchPrivateKey,

    wechatpayPublicKeyID, wechatpayPublicKey),

    11-07
    有用
    回复
登录 后发表内容