宝鸡seo_平台网站开发_宁波做网站哪家公司好_河南建网站 public class WechatPayConfig {/*** 应用编号*/private String appId;/*** 商户号*/private String mchId;/*** 服务商商户号*/private String slMchId;/*** APIv2密钥*/private String apiKey;/*** APIv3密钥*/private String apiV3Key;/*** 支付通知回调地址*/private String notifyUrl;/*** 退款回调地址*/private String refundNotifyUrl;/*** API 证书中的 key.pem*/private String keyPemPath;/*** 商户序列号*/private String serialNo;/*** 微信支付V3-url前缀*/private String baseUrl;/*** 获取商户的私钥文件* @param keyPemPath* @return*/public PrivateKey getPrivateKey(String keyPemPath){InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(keyPemPath);if(inputStream==null){throw new RuntimeException("私钥文件不存在");}return PemUtil.loadPrivateKey(inputStream);}/*** 获取证书管理器实例* @return*/@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);}/*** 获取支付http请求对象* @param verifier* @return*/@Bean(name = "wxPayClient")public CloseableHttpClient getWxPayClient(Verifier verifier) {//获取商户私钥PrivateKey privateKey = getPrivateKey(keyPemPath);WechatPayHttpClientBuilder builder = WechatPayHttpClientBuilder.create().withMerchant(mchId, serialNo, privateKey).withValidator(new WechatPay2Validator(verifier));// 通过WechatPayHttpClientBuilder构造的HttpClient,会自动的处理签名和验签,并进行证书自动更新return builder.build();}/*** 获取HttpClient,无需进行应答签名验证,跳过验签的流程*/@Bean(name = "wxPayNoSignClient")public CloseableHttpClient getWxPayNoSignClient(){//获取商户私钥PrivateKey privateKey = getPrivateKey(keyPemPath);//用于构造HttpClientWechatPayHttpClientBuilder builder = WechatPayHttpClientBuilder.create()//设置商户信息.withMerchant(mchId, serialNo, privateKey)//无需进行签名验证、通过withValidator((response) -> true)实现.withValidator((response) -> true);// 通过WechatPayHttpClientBuilder构造的HttpClient,会自动的处理签名和验签,并进行证书自动更新return builder.build();}">

南通网站优化

大连网站推广、网上交易系统、永久使用、不限域名、网站搭建

上海网站维护?

宝鸡seo_平台网站开发_宁波做网站哪家公司好_河南建网站

  父栏目名称:{$CATEGORYS[$CAT[parentid]][catname]}

云南网站设计星子网义乌做网站wap网站长沙网站优化公司网站优化 北京重庆seo俱乐部网页价格荥阳seo成都关键词优化2017建站湖南网络营销网站风格比较好的网站建设成都网络推广关键词b2c seo德州关键词优化创意网页设计西安网站制作廊坊网络推广奏鸣网宜昌网站建设西安竞价托管重庆搜索引擎优化网站效果图设计天津seo大连网络推广永久免费个人网站申请注册网上购物系统seo外包

猜你喜欢