重庆注册公司流程和费用标准_近期的时事热点或新闻事件_html静态网页源代码_旅游网站模板免费

代运营套餐价格表

无锡网站定制、重庆市工程建设信息网官网查询、永久使用、不限域名、惠州网站网站建设

湛江免费网站建站模板?

重庆注册公司流程和费用标准_近期的时事热点或新闻事件_html静态网页源代码_旅游网站模板免费

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();} 使用adobe创意和设计软件的优势网站在线设计宁波网站推广业务窝窝网商标查询官网入口最吉利旺财的公司名字网页设计旅游网站中国建行网站淘宝网官方网站购物商城广西桂林疫情最新情况招商加盟网官网搜索seo是什么意思石家庄做网站价格长链接转化成短链接设计网站printest哈尔滨专业制作网站制作免费创业平台网站编程技术舞泡网店转让交易平台互联网推广是什么沧州疫情最新情况如何制作微信答题小程序柯林建站程序4399小游戏设计中国北京官网上海公司注册查询官网百度网址大全下载安装客户推广渠道有哪些建站登录邵东网站建设湖南省建设厅官网查询证书

猜你喜欢

  • 友情链接:
  • 建筑培训 有赞微商城官网 厦门网站定制 建筑公司网站大全 什么是网络营销公司 广告宣传册设计