之前有写过沙箱测试对接支付宝接口的文章,入口
https://blog.csdn.net/weixin_44596858/article/details/103707209
在项目中也是第一次用到,测试的流程都好了,后来我问客户要相应的支付宝参数
结果给我的是证书文件,不是我之前测试用的公钥和私钥(一脸懵...)
我还天真的给客户说:你要给我支付宝的公钥和私钥(尴尬)
..........
对接支付宝接口也可以用证书文件(不只是公钥和私钥)
其实改动的地方不太多
在原来的支付的方法里改动一下
AlipayConfig alipayConfig = new AlipayConfig();
//构造client
CertAlipayRequest certAlipayRequest = new CertAlipayRequest();
//支付宝网关
certAlipayRequest.setServerUrl(AlipayConfig.gatewayUrl);
// 应用ID,您的APPID
certAlipayRequest.setAppId(AlipayConfig.app_id);
//商户私钥
certAlipayRequest.setPrivateKey(AlipayConfig.merchant_private_key);
certAlipayRequest.setFormat("json");
// 字符编码格式
certAlipayRequest.setCharset(AlipayConfig.charset);
// 签名方式
certAlipayRequest.setSignType(AlipayConfig.sign_type);
//*****************************主要区别在于下面的三个证书路径*****************************************
//应用公钥证书路径
certAlipayRequest.setCertPath(alipayConfig.getApp_cert_path());
//支付宝公钥证书文件路径
certAlipayRequest.setAlipayPublicCertPath(alipayConfig.getAlipay_cert_path());
//支付宝CA根证书文件路径
certAlipayRequest.setRootCertPath(alipayConfig.getAlipay_root_cert_path());
DefaultAlipayClient alipayClient = new DefaultAlipayClient(certAlipayRequest);
主要的区别就是之前的 支付宝公钥 换成 支付宝证书文件
其他的配置依旧和支付宝官方的demo一样就可以