收藏
回答

golang微信支付初始化客户端错误

golang:1.23,wechatpay-go2.20
代码如下:
var (
   mchID                      string = "商户平台提供的"                                // 商户号
   mchCertificateSerialNumber string = "商户api证书序列号,后台查看的"                   // 商户证书序列号
   mchAPIv3Key                string = "APIV3秘钥,32位字符串"                         // 商户APIv3密钥
)
path := "./cert/apiclient_key.pem"
// 使用 utils 提供的函数从本地文件中加载商户私钥,商户私钥会用来生成请求的签名
mchPrivateKey, err := utils.LoadPrivateKeyWithPath(path)
if err != nil {
   fmt.Println(err)
   log.Fatal("load merchant private key error")
}
fmt.Println(mchID, mchCertificateSerialNumber, mchPrivateKey, mchAPIv3Key)
// 使用商户私钥等初始化 client,并使它具有自动定时获取微信支付平台证书的能力
opts := []core.ClientOption{
   option.WithWechatPayAutoAuthCipher(mchID, mchCertificateSerialNumber, mchPrivateKey, mchAPIv3Key),
}
fmt.Println(opts)
client, err := core.NewClient(c, opts...)
if err != nil {
   log.Fatalf("new wechat pay client err:%s", err)

}

根据 https://github.com/wechatpay-apiv3/wechatpay-go/issues/135 文档进行APIV3秘钥重置,依然不能正常初始化客户端
option.WithWechatPayAutoAuthCipher()返回数据为“证书不存在”
重新生成了证书,更换了商户证书序列号,依然提示“证书不存在”
最后一次编辑于  10-30
回答关注问题邀请回答
收藏

2 个回答

登录 后发表内容