wechatpay-apiv3 / wechatpay-go

微信支付 APIv3 的官方 Go Library
https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pages/index.shtml
Apache License 2.0
1.07k stars 146 forks source link

实例化client时,商户私钥应该如何配置 #65

Closed AlvinQinwen closed 3 years ago

AlvinQinwen commented 3 years ago

chPrivateKey *rsa.PrivateKey // 商户私钥 这个字段实在是不知道应该如何配置进行赋值,让您见笑了,我现在有 apiclient_key.pem, apiclient_cert.pem 两个文件,但是在代码中我实在是不知道如何实现这个字段 烦请告知如何赋值,感激不尽!

xy-peng commented 3 years ago

正在准备新版的readme,你可以参考下分支 xy-newreadme

    // 使用 utils 提供的函数从本地文件中加载商户私钥,商户私钥会用来生成请求的签名
    mchPrivateKey, err := utils.LoadPrivateKeyWithPath("/path/to/merchant/apiclient_key.pem")
    if err != nil {
        log.Fatal("load merchant private key error")
    }

    ctx := context.Background()
    // 使用商户私钥等初始化 client,并使它具有自动定时获取平台证书的能力
    opts := []core.ClientOption{
        option.WithWechatPayAutoAuthCipher(mchID, mchCertificateSerialNumber, mchPrivateKey, mchAPIv3Key),
    }
    client, err := core.NewClient(ctx, opts...)
    if err != nil {
        log.Fatalf("new wechat pay client err:%s", err)
    }

有任何疑问欢迎提出来。

AlvinQinwen commented 3 years ago

感激不尽!!