Git Product home page Git Product logo

Comments (10)

EmmetZC avatar EmmetZC commented on June 19, 2024

CertificateProvidor 是一个抽象名词,如果AutoUpdateCertificateProvider 已经是一个具体的实现的话,还是应该用更具体的命名。比如另一个库中的AutoUpdateCertificateManager之类的。

from wechatpay-java.

EmmetZC avatar EmmetZC commented on June 19, 2024

如果不传 wechatPayCertificate,RSAConfig中的构造器传入 autoUpdateCertificateProvider。

这个我没太理解, autoUpdateCertificateProvider 是一个预先初始化好的单例吗?

  • 如果是的话,那如果用户需要设置代理应该如何做?
  • 如果不是的话,这个默认传autoUpdateCertificateProvider的逻辑是如何实现的?

from wechatpay-java.

lianup avatar lianup commented on June 19, 2024

CertificateProvidor 是一个抽象名词,如果AutoUpdateCertificateProvider 已经是一个具体的实现的话,还是应该用更具体的命名。比如另一个库中的AutoUpdateCertificateManager之类的。

这里的命名是按照语言习惯使用实现名称+接口名来命名,像 InMemoryCertificateProvider 也是,因为功能是一样的,所以我希望保持一致。

from wechatpay-java.

lianup avatar lianup commented on June 19, 2024

如果是的话,那如果用户需要设置代理应该如何做?
如果不是的话,这个默认传autoUpdateCertificateProvider的逻辑是如何实现的?

之前的设想是,根据用户传入的参数初始化一个实例。但没法设置代理。因此改为由用户传入,提供设置代理的方法。类似:

AutoUpdateCertificateProvider provider = new AutoUpdateCertificateProvider.Builder().proxy(proxy).build();
Config config = new RSAConfig.Builder().provider(provider).xxx.build();
// 可以调用putMerchant来添加商户
provider.putMerchant(mchId, privateKey, apiv3Key);

from wechatpay-java.

EmmetZC avatar EmmetZC commented on June 19, 2024

之前的设想是,根据用户传入的参数初始化一个实例。但没法设置代理。因此改为由用户传入,提供设置代理的方法。类似:

AutoUpdateCertificateProvider provider = new AutoUpdateCertificateProvider.Builder().proxy(proxy).build();
Config config = new RSAConfig.Builder().provider(provider).xxx.build();
// 可以调用putMerchant来添加商户
provider.putMerchant(mchId, privateKey, apiv3Key);

那就是 RSAConfig 要么传一个 wechatPayCertificate 要么传一个 certificateProvider 对吧?

from wechatpay-java.

lianup avatar lianup commented on June 19, 2024

那就是 RSAConfig 要么传一个 wechatPayCertificate 要么传一个 certificateProvider 对吧?

是的。

from wechatpay-java.

xy-peng avatar xy-peng commented on June 19, 2024

@lianup 发一下用户侧看起来的代码示例?

from wechatpay-java.

lianup avatar lianup commented on June 19, 2024

@lianup 发一下用户侧看起来的代码示例?

    // 初始化商户配置
    RSAConfig config =
        new RSAConfig.Builder()
            .merchantId(merchantId)
            // 使用 com.wechat.pay.java.core.util
            // 中的函数从本地文件中加载商户私钥,商户私钥会用来生成请求的签名
            .privateKeyFromPath(privateKeyPath)
            .merchantSerialNumber(merchantSerialNumber)
            .certificateProvider(new AutoUpdateCertificateProvider.Builder().merchantId(merchantId)
                .merchantSerfialNumber(merchantSerialNumber)
                .build())
            .build();

    // 初始化服务
    service = new JsapiService.Builder().config(config).build();
    // ... 调用接口

from wechatpay-java.

qingdengyideng avatar qingdengyideng commented on June 19, 2024

大神,这个自动更新平台证书的啥时候正式发布啊?0.2.1版本中没有找到certificateProvider诶

from wechatpay-java.

royalzzz avatar royalzzz commented on June 19, 2024

请问,这个enhancement会在什么版本发布?目前没有很优雅的方式实现自动更新平台证书,很急。

from wechatpay-java.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.