免费设计房屋装修软件_三丰云服务器_兰州网站建设最新招聘信息_深圳如何做网站 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();}">

东莞做网站公司多少钱

公众号怎么制作好看的版面、申请一个电子邮箱、永久使用、不限域名、网页传奇手游官网

成立公司流程?

免费设计房屋装修软件_三丰云服务器_兰州网站建设最新招聘信息_深圳如何做网站

            <table width="100%"border="0" cellpadding="0" cellspacing="0"class="tab_cp">

用html制作的旅游网页电商设计作品扬州推广公司金华网站建设大型网页建设管理咨询公司取名中文域名网站骗局东莞市赢网网络科技有限公司公司邮箱怎么查询python制作网页教程第一网站ppt模板免费下载简单的广告设计怎么做web网站开发技术杭州模板建站哪家好seo推广方法集合作文网站哪个平台好北京室内设计公司排名淮南网约车平台保定建站模板搭建h5制作一般多少钱长沙教育类网站建设什么是前端开发和后端开发独立站跨境电商怎么做中山做网站公司哪家好h5网页设计模板2022最新时事新闻及点评石家庄今日头条做网站的软件公司企业年金办法2023年免费进入b站艺术签名设计免费版怎么注册一个小公司

猜你喜欢

  • 友情链接:
  • 常州百度seo排名 写html代码用什么软件 一张简单的网页多少钱 电商代运营公司排名 网站建设与管理专业概述 福田网站设计公司