开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
文档中心
开发文档(v3版) 
规则说明
密钥与签名
应用开发配置
常见问题
接口规则 > sdk 与工具
收藏
订阅更新
我的文档
设置
简介
为了帮助开发者快速接入支付宝 api v3,支付宝提供了基于 v3 协议的服务端 sdk。sdk 为商户的技术人员封装了请求的签名和响应的验签,简化了系统的开发工作。
服务端sdk(v3版)
支付宝将与服务端交互的接口(openapi v3)封装在开发工具包(sdk)中,开发者无需自行实现同支付宝服务端交互的复杂逻辑,直接将 sdk 导入自己的工程后,通过 openapi v3 的示例代码实现同支付宝服务端的交互。
目前已支持 javaphpc# 三种编程语言,开发者可根据自己的需要,选择对应的 sdk。开发者如果需要接入其他语言,可查看 自行生成sdk
获取alipay sdk
开发语言
资源下载
环境要求
说明
java 版资源


java 1.8
maven (3.8.3 )/gradle (7.2 )
请使用 3.0.0.all 及以上版本。
.net 版资源


.net core >=2.0
.net framework >=4.7
请使用 3.0.0 及以上版本。
php 版资源


^7.4 || ^8.0
请使用 3.0.0 及以上版本。
node.js 版资源


node.js >= 18.20.0
请使用 4.0.0 及以上版本。
注意事项
java sdk(alipay-sdk-java) 在 2.8.0.all 版本之前存在无法兼容接口新版本的风险,建议您尽快将上述 sdk 升级至 2.9.0.all 及以上版本(如已是更新版本请忽略,无需任何操作),以免因平台接口升级出现不兼容报错。
请将项目中对 java sdk 的 maven 依赖的版本号更新到 2.9.0.all 或以上,如下所示:
xml
复制代码
<dependency>
<groupid>com.alipay.sdkgroupid>
<artifactid>alipay-sdk-java-v3artifactid>
<version>2.9.0.allversion>
dependency>
温馨提示:
强烈建议开发者在升级后进行业务功能的回归验证,以免出现不可预见的兼容性问题影响业务正常运行。
如若遇到特殊情况导致升级失败,请通过 -右下角,联系支付宝凯发app官方网站的技术支持寻求帮助。
sdk使用说明
由于实例化 sdk 客户端时需要指定应用的私钥信息,请务必注意不要将私钥信息配置在源码中(例如配置为常量或储存在配置文件的某个字段中等),因为私钥的保密等级往往比源码高得多,将会增加私钥泄露的风险。推荐将私钥信息储存在专用的私钥文件中,将私钥文件通过安全的流程分发到服务器的安全储存区域上,仅供自己的应用运行时读取。
sdk 已经对加签/验签逻辑做了封装,使用 sdk 时传入支付宝公钥等内容可直接通过 sdk 自动进行加验签。sdk目前仅支持 rsa2 算法。
确定接口对应的类
1. 全面开放的 openapi
例如接口名为:alipay.trade.pay
在 sdk 中对应的请求/响应类为:每个单词首字母大写,并去掉分隔符(“.”),末尾加上 model(或 responsemodel / errorresponsemodel / defaultresponse)。无响应参数时,返回类为object。
在 sdk 中对应的 api 资源类为:最后一个分隔符(“.”)之前的每个单词首字母大写,并去掉分隔符(“.”),末尾加上 api。
在 sdk 中对应的调用方法为:最后一个分隔符(“.”)之后的单词。
如上接口名对应的类为:
alipaytradepaymodel(请求类)
alipaytradepayresponsemodel(正常响应类)
alipaytradepaydefaultresponse(异常响应类)
└─ alipaytradepayerrorresponsemodel(业务自定义异常响应类)
└─ commonerrortype(通用异常响应类)
alipaytradeapi(api 资源类)
└─ pay(调用方法)
注意:若 api 没有返回值,则没有业务自定义异常响应类,此时sdk返回的类统一为 object 。
2. 非全面开放的 openapi
使用通用接口 execute 调用,无需使用 request、response 和 model 类。(对于找不到对应 request、response 和 model 类的 openapi 均可使用该方法调用)
具体调用方式见下方示例代码。
示例代码
java
普通调用示例
与v2区别:
1全局 client 设置方式不同:configuration.getdefaultapiclient() 可获取全局唯一 client,也可通过 configuration.setdefaultapiclient(apiclient) 重新设置 client。
2需初始化 api 资源类(alipaytradeapi)
也可通过如下方式设置 apiclient:
最终发起调用后的请求如下:
证书调用示例
pageexecute & sdkexecute调用示例
与v2区别:
1无request类,需组装map或json
2需传入 api 的方法名(method)
通用方法
新版 sdk 覆盖已全面开放的 openapi,对于尚在试点等阶段的定向 openapi,可使用更加灵活的通用方法发起调用
第三方代理调用示例
普通 api 调用
pageexecute & sdkexecute 调用
自定义body参数
高级参数设置
sdk使用okhttp进行网络传输,可通过自定义okhttpclient的方式设置连接池、超时时间等。
关闭日志:
注意:如需使用日志,请自行引入日志框架如log4j并配置相关配置文件。
异常处理示例
aes 加密配置示例
sdk目前仅支持 aes 算法进行加解密。
注意:如果设置了该参数,则表示当前 apiclient 下所有接口都会加密。如果需要指定部分接口加密,可另外设置一个全局 apiclient 用于调用加密接口:
sse 协议调用方法
说明:需升级到 3.0.0.all 及以上版本。
请求需要实现抽象类 com/alipay/v3/util/streamcallback.java
异步通知验签说明
v3版本依然提供 alipaysignature.java 工具类帮助开发者接入,使用方式与v2版本一样。可参考
c#
普通调用示例
证书调用示例
pageexecute & sdkexecute调用示例
通用方法
新版 sdk 覆盖已全面开放的 openapi,对于尚在试点等阶段的定向 openapi,可使用更加灵活的通用方法发起调用
第三方代理调用示例
普通 api 调用
pageexecute & sdkexecute 调用
自定义body参数
高级参数设置
设置网络相关配置:
关闭日志:
sdk使用log4net打印日志,如需使用日志,请配置log4net相关配置文件。
异常处理示例
aes 加密配置示例
sdk目前仅支持 aes 算法进行加解密。
注意:如果设置了该参数,则表示使用了该 alipayconfig 的所有接口都会加密。如果需要指定部分接口加密,可另外设置一个全局 alipayconfig 用于调用加密接口:
异步通知验签说明
v3版本依然提供 alipaysignature.cs 工具类帮助开发者接入,使用方式与v2版本一样。可参考
php
普通调用示例
证书调用示例
pageexecute & sdkexecute调用示例
通用方法
新版 sdk 覆盖已全面开放的 openapi,对于尚在试点等阶段的定向 openapi,可使用更加灵活的通用方法发起调用
第三方代理调用示例
普通 api 调用
pageexecute & sdkexecute 调用
自定义body参数
高级参数设置
设置网络相关配置:
关闭日志:
异常处理示例
aes 加密配置示例
sdk目前仅支持 aes 算法进行加解密。
注意:如果设置了该参数,则表示使用了该 alipayconfig 的所有接口都会加密。如果需要指定部分接口加密,可另外设置一个全局 alipayconfig 用于调用加密接口:
异步通知验签说明
具体可参考
node.js
普通调用示例
证书调用示例
pageexecute & sdkexecute 调用示例
第三方代理调用示例
普通 api 调用
pageexecute & sdkexecute 调用
高级参数设置
打开调试日志
通过 node_debug 环境变量打印 alipay-sdk 相关的调试日志。
异常处理示例
aes 加密配置示例
sdk 目前仅支持 aes 算法进行加解密。
需要在实例化时先配置 config.encryptkey,然后调用 curl 方法的时候设置 needencrypt = true
异步通知验签说明
sdk 与 openapi 规范
openapi 规范(oas),是定义一个标准的、与具体编程语言无关的 restful api 的规范,支付宝提供了遵循openapi 规范的 openapi 描述文件,您可以根据 openapi 描述文件来生成您的 openapi 文档、sdk 和自动测试工具等等。
sdk v3 则是基于 、使用 生成的,目前支付宝提供了 java 版本的 sdk,如您需要使用其他语言,可按照如下步骤自行生成。
自行生成 sdk
1. 修改 mustache 模板
openapi generator 各语言 sdk 文件均是通过 mustache 模板生成,因此您需要先获取对应语言的 ,并修改模板。
需要改造的功能点:
1)加验签(必选):可参考 加签规则验签规则 自行实现加验签部分。
2)加解密(可选):可参考
3)appauthtoken(可选):appauthtoken 除了需要参与签名以外,还需在 header 中传递,协议头为 alipay-app-auth-token。
4)日志打印(可选)
2. 生成 sdk
openapi generator 支持通过多种方式生成 sdk 源码,如 使用 等方式。
其中,modules/openapi-generator/src/main/resources/java目录即为修改后的 mustache 模板。
目前 openapi generator 已支持大部分主流语言,查看
工具
支付宝 v3 协议支持使用postman调试,开发者可以在正式开发之前,使用 进行接口体验。
配置方式:
1、使用 postman 导入功能,导入支付宝 schema 文件,生成接口集。

2、编辑接口集请求前置脚本,添加支付宝签名脚本及验签脚本。主要脚本中的 appid 及应用公私钥需要替换为开发者在配置的实际值。

3、编辑接口参数,发起调用并查看结果

另外我们还提供 签名/验签/加密/解密工具,可以协助开发者完成签名验签加密解密。
内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图