From ff1764098ba8ef2aafdae342bc65147b4a93d49b Mon Sep 17 00:00:00 2001 From: kanade Date: Thu, 7 Apr 2022 13:37:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BD=8D=E7=BD=AE=E6=94=AF?= =?UTF-8?q?=E4=BB=98=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wxpay.go | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/wxpay.go b/wxpay.go index b8c8f51..5f50f72 100644 --- a/wxpay.go +++ b/wxpay.go @@ -18,23 +18,27 @@ type wxpay struct { Handler *notify.Handler } type WxpayConfig struct { - MchID string // 商户号 - MchCertificateSerialNumber string // 商户证书序列号 - MchAPIv3Key string // 商户APIv3密钥 - PrivateKey string // 私钥 - PrivateCert string // 私钥证书 + MchID string // 商户号 + MchAPIv3Key string // 商户APIv3密钥 + PrivateKey string // 私钥 + PrivateCert string // 私钥证书 } // InitWxpay @Title 初始化微信支付 func InitWxpay(config WxpayConfig) error { - // 加载私钥证书 + // 加载私钥 privateKey, err := rsa.ParsePrivateKey(config.PrivateKey, rsa.PKCS8) if err != nil { return errors.New("私钥错误") } + // 加载私钥证书 + certificate, err := rsa.ParseCertificate(config.PrivateCert) + if err != nil { + return errors.New("证书错误") + } // 使用商户私钥等初始化 client,并使它具有自动定时获取微信支付平台证书的能力 opts := []core.ClientOption{ - option.WithWechatPayAutoAuthCipher(config.MchID, config.MchCertificateSerialNumber, privateKey, config.MchAPIv3Key), + option.WithWechatPayAutoAuthCipher(config.MchID, certificate.SerialNumber.String(), privateKey, config.MchAPIv3Key), } Wxpay.Client, err = core.NewClient(context.Background(), opts...) if err != nil {