新版本
Maven 引入jar包
<dependency> <groupId>com.alipay.sdk</groupId> <artifactId>alipay-sdk-java</artifactId> <version>4.10.167.ALL</version> </dependency>
支付宝证书支付
注册支付宝商家账号后登陆控制台:
https://openhome.alipay.com/platform/developerIndex.htm 官方文档:https://opendocs.alipay.com/open/203/107084
流程
开始
选择要创建的应用
比如我这里选择的是 网页&移动应用 支付接入
网址url可以随便写
添加支付能力 如果之前选了则跳过
我这里是已经签约的状态,没签约的去复制ID然后签约
需要加签
我这边业务需求是公钥证书的加签模式
下载了支付宝秘钥生成器 生成公私钥和CSR文件 csr文件需要上传到支付宝
填写公司信息
下载JAVA版本的SDK : https://opendocs.alipay.com/open/203/105910
下载三个证书
按要求传入参数
代码:
package com.fc; import com.alipay.api.AlipayClient; import com.alipay.api.CertAlipayRequest; import com.alipay.api.DefaultAlipayClient; import com.alipay.api.domain.AlipayOpenOperationOpenbizmockBizQueryModel; import com.alipay.api.request.AlipayOpenOperationOpenbizmockBizQueryRequest; import com.alipay.api.response.AlipayOpenOperationOpenbizmockBizQueryResponse; public class zfb_test { public static void main(String[] args) { try { // 1. 创建AlipayClient实例 AlipayClient alipayClient = new DefaultAlipayClient(getClientParams()); // 2. 创建使用的Open API对应的Request请求对象 AlipayOpenOperationOpenbizmockBizQueryRequest request = getRequest(); // 3. 发起请求并处理响应 AlipayOpenOperationOpenbizmockBizQueryResponse response = alipayClient.certificateExecute(request); if (response.isSuccess()) { System.out.println("调用成功。"); } else { System.out.println("调用失败,原因:" + response.getMsg() + "," + response.getSubMsg()); } } catch (Exception e) { System.out.println("调用遭遇异常,原因:" + e.getMessage()); throw new RuntimeException(e.getMessage(), e); } } private static CertAlipayRequest getClientParams() { CertAlipayRequest certParams = new CertAlipayRequest(); certParams.setServerUrl("https://openapi.alipay.com/gateway.do"); //请更换为您的AppId certParams.setAppId("2021002117629847"); //请更换为您的PKCS8格式的应用私钥 certParams.setPrivateKey("123"); //请更换为您使用的字符集编码,推荐采用utf-8 certParams.setCharset("utf-8"); certParams.setFormat("json"); certParams.setSignType("RSA2"); //请更换为您的应用公钥证书文件路径 System.out.println("提取应用公钥证书"); certParams.setCertPath("C:\\Users\\admin\\Desktop\\zfb\\应用公钥\\appCertPublicKey_2021002117629847.crt"); //请更换您的支付宝公钥证书文件路径 System.out.println("提取公钥证书"); certParams.setAlipayPublicCertPath("C:\\Users\\admin\\Desktop\\zfb\\支付宝公钥证书\\alipayCertPublicKey_RSA2.crt"); //更换为支付宝根证书文件路径 System.out.println("提取根证书"); certParams.setRootCertPath("C:\\Users\\admin\\Desktop\\zfb\\根证书\\alipayRootCert.crt"); return certParams; } private static AlipayOpenOperationOpenbizmockBizQueryRequest getRequest() { // 初始化Request,并填充Model属性。实际调用时请替换为您想要使用的API对应的Request对象。 AlipayOpenOperationOpenbizmockBizQueryRequest request = new AlipayOpenOperationOpenbizmockBizQueryRequest(); AlipayOpenOperationOpenbizmockBizQueryModel model = new AlipayOpenOperationOpenbizmockBizQueryModel(); model.setBizNo("test"); request.setBizModel(model); return request; } }
测试结果
匹配功能
报错:isv.insufficient-isv-permissions(ISV权限不足):
https://opensupport.alipay.com/support/knowledge/01/201602475472?ant_source=antsupport
手机网站支付demo:https://opendocs.alipay.com/open/54/106682
老版本
https://opendocs.alipay.com/open/common/104740