一:第一种处理方式: 通过传入文件流(推荐方式)
证书路径在:resource下的 cert/apiclient_cert.p12
WxPayConfig payConfig =new WxPayConfig();
payConfig.setAppId(PayConstants.WX_PAY_APPID);
payConfig.setMchId(PayConstants.WX_PAY_MCHID);
payConfig.setMchKey(PayConstants.WX_PAY_SIGNKEY);
payConfig.setKeyContent(getCertStream());//处理服务器:读取
相对路径的证书文件读不到的问题
payConfig.setKeyPath(PayConstants.CONFIG_WECHAT_CERT_PATH);//会先找keyContent 找不到再找路径
public static byte[]getCertStream() {
byte[] certBis =null;
try {
InputStream certStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("cert/apiclient_cert.p12");
certBis = IOUtils.toByteArray(certStream);
certStream.close();
}catch (Exception e) {
e.printStackTrace();
}
return certBis;
}
参考文章:
https://blog.csdn.net/yibailiheng/article/details/106603853 二:第二种处理方式: 在服务器相同路径也存放 证书文件
证书路径在:与退款模块平级的 cert/apiclient_cert.p12 文件下
WxPayConfig payConfig =new WxPayConfig();
payConfig.setAppId(appId);
payConfig.setMchId(mchId);
payConfig.setMchKey(mchKey);
payConfig.setKeyPath("cert/apiclient_cert.p12");
在linux jar同级目录 建 cert
文件夹 证书文件放下面