alipay-sdk-java-all

Introduction: 蚂蚁金服开放平台 Java SDK
More: Author   ReportBugs   OfficialWebsite   
Tags:

Maven Central FOSSA Status Codacy Badge Build Status codecov

欢迎使用 Alipay SDK for Java 。

Alipay SDK for Java 让您不用复杂编程即可访支付宝开放平台开放的各项能力,SDK 可以自动帮您满足能力调用过程中所需的证书校验、加签、验签、发送 HTTP 请求等非功能性要求。

这里向您介绍如何获取 Alipay SDK for Java 并开始调用。 如果您在使用 Alipay SDK for Java 的过程中遇到任何问题,欢迎在当前 GitHub 提交 Issues

  1. Alipay SDK for Java 需要配合JKD 1.6或其以上版本。

  2. 使用 Alipay SDK for Java 之前 ,您需要先前往支付宝开发平台-开发者中心完成开发者接入的一些准备工作,包括创建应用、为应用添加功能包、设置应用的接口加签方式等。

  3. 准备工作完成后,注意保存如下信息,后续将作为使用 SDK 的输入。

  4. 加签模式为公钥证书模式时(推荐)

AppID应用的私钥应用的公钥证书文件支付宝公钥证书文件支付宝根证书文件

  • 加签模式为公钥模式时

AppId应用的私钥应用的公钥支付宝公钥

安装依赖

推荐通过 Maven 来管理项目依赖,您只需在项目的pom.xml文件中声明如下依赖

<dependency>
    <groupId>com.alipay.sdk</groupId>
    <artifactId>alipay-sdk-java</artifactId>
    <version>4.10.0.ALL</version>
</dependency>

快速使用

以下这段代码示例向您展示了使用 Alipay SDK for Java 调用一个 API 的 3 个主要步骤:

  1. 创建 DefaultAlipayClient 实例并初始化。
  2. 创建 API 请求对象并设置 Model 参数。
  3. 发起请求并处理响应或异常。
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 Main {
    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("2019091767145019");
        //请更换为您的 PKCS8 格式的应用私钥
        certParams.setPrivateKey("MIIEvQIBADANB ... ...");
        //请更换为您使用的字符集编码,推荐采用 utf-8
        certParams.setCharset("utf-8");
        certParams.setFormat("json");
        certParams.setSignType("RSA2");
        //请更换为您的应用公钥证书文件路径
        certParams.setCertPath("/home/foo/appCertPublicKey_2019091767145019.crt");
        //请更换您的支付宝公钥证书文件路径
        certParams.setAlipayPublicCertPath("/home/foo/alipayCertPublicKey_RSA2.crt");
        //更换为支付宝根证书文件路径
        certParams.setRootCertPath("/home/foo/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;
    }
}

文档

SDK 文档首页

问题

提交 Issue,我们会定期查看 Issue 记录并尽快做出反馈。

变更日志

每个版本的详细更改记录在变更日志中。

注:版本号最末一位修订号的增加(比如从4.8.62.ALL升级为4.8.74.ALL),意味着 SDK 的功能没有发生任何变化,仅仅是集成了更多的 API 的 Request、Response、Model 类,此类变更默认不记录在变更日志中。

相关

许可证

FOSSA Status

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools