宝鸡seo_平台网站开发_宁波做网站哪家公司好_河南建网站
public class WechatPayConfig {private String appId;private String mchId;private String slMchId;private String apiKey;private String apiV3Key;private String notifyUrl;private String refundNotifyUrl;private String keyPemPath;private String serialNo;private String baseUrl;public PrivateKey getPrivateKey(String keyPemPath){InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(keyPemPath);if(inputStream==null){throw new RuntimeException("私钥文件不存在");}return PemUtil.loadPrivateKey(inputStream);}@Beanpublic Verifier getVerifier() throws GeneralSecurityException, IOException, HttpCodeException, NotFoundException {log.info("获取证书管理器实例");PrivateKey privateKey = getPrivateKey(keyPemPath);PrivateKeySigner privateKeySigner = new PrivateKeySigner(serialNo, privateKey);WechatPay2Credentials wechatPay2Credentials = new WechatPay2Credentials(mchId, privateKeySigner);CertificatesManager certificatesManager = CertificatesManager.getInstance();certificatesManager.putMerchant(mchId,wechatPay2Credentials,apiV3Key.getBytes(StandardCharsets.UTF_8));return certificatesManager.getVerifier(mchId);}@Bean(name = "wxPayClient")public CloseableHttpClient getWxPayClient(Verifier verifier) {PrivateKey privateKey = getPrivateKey(keyPemPath);WechatPayHttpClientBuilder builder = WechatPayHttpClientBuilder.create().withMerchant(mchId, serialNo, privateKey).withValidator(new WechatPay2Validator(verifier));return builder.build();}@Bean(name = "wxPayNoSignClient")public CloseableHttpClient getWxPayNoSignClient(){PrivateKey privateKey = getPrivateKey(keyPemPath);WechatPayHttpClientBuilder builder = WechatPayHttpClientBuilder.create().withMerchant(mchId, serialNo, privateKey).withValidator((response) -> true);return builder.build();}">