接入准备
简介
本文档展示了如何从零开始,使用支付宝开放平台服务端 SDK 快速接入当面付功能。
注意:文档中的代码示例和 Demo 是用来阐述 API 基本使用方法的,仅针对大众场景,供 ISV(系统服务商) 参考,特殊情况还请 ISV 自行扩展,确保符合自身业务需求。
创建应用
登录 支付宝开放平台,创建应用并提交审核,审核通过后会生成应用唯一标识 APPID,并且可以申请开通开放产品使用权限。通过 APPID 应用才能调用开放产品的接口能力。详情请参考 创建应用。
配置应用
添加功能
应用创建完成后,系统会自动跳转到应用详情页面。您可以在 能力列表 中点击 添加能力 来添加 当面付 功能。详情请参见 添加应用功能。
开发设置
进入开发设置中完成接口加签方式、IP白名单、应用网关、接口内容加密方式开发信息设置。详情请参见 配置应用环境。
接口加签方式:必填。用于保障商户应用和支付宝交互的安全性,配置详情参见 接口加签方式配置说明。
IP白名单:选填。用于保障用户资金安全,说明详情参见 IP 白名单接入指南。
应用网关:选填。用于接收支付宝异步通知消息,说明详情参见 应用网关。
接口内容加密方式:选填。用于加/解密 OpenAPI bizContent 报文内容及加/解密部分用户隐私信息,说明详情参见 接口内容加密方式。
授权回调地址:选填。第三方应用授权 或 用户信息授权 后回调地址。授权链接中配置的 redirect_uri 的值必须与此值保持一致 (如:https://www.alipay.com) ,用户成功授权后将在该 url 后携带授权码等信息并跳转至该页。当填入该地址时,系统会自动进行安全检测,详情请参考 安全检测。
上线应用
商户在添加功能和配置密钥后,即可将应用提交审核,预计会有一个工作日的审核时间,请耐心等待,详细步骤可参考 上线应用。
应用上线后,还需要完成应用签约才能在线上环境(生产环境)使用当面付功能。
签约
请在应用详情页面的功能列表右侧点击 签约,填写并提交相关信息。详情请参见 签约功能。
完成签约后,需要一个工作日左右的时间审核(审批结果会以短信和邮件形式告知),待审核完毕后,签约功能的状态将切换为 已生效,该应用即可使用当面付功能。
集成并配置 SDK
服务端 SDK 需要商户集成在自己的服务端系统中,用于后续的服务端接口(OpenAPI)调用。
第一步:下载服务端 SDK
为了帮助开发者调用开放接口,我们提供了 开放平台服务端 SDK,包含 JAVA、PHP、NodeJS、Python 和 .NET 五种语言,封装了签名 & 验签、HTTP 接口请求等基础功能。
请先下载对应语言最新版本的 SDK 并引入您的开发工程。
注意:若您使用 公钥证书 进行加签,需额外引入如下 jar 包:
第二步:接口调用配置
调用具体的 API 前需要进行 alipayClient 对象初始化。alipayClient 对象只需要初始化一次,后续调用不同的 API 都可以使用同一个 alipayClient 对象。
普通公钥模式加签
接口加签方式为普通 公钥 模式加签时 alipayClient 对象初始化的 JAVA 语言示例代码如下:
xxxxxxxxxx
AlipayClient alipayClient = new DefaultAlipayClient(URL,APP_ID,APP_PRIVATE_KEY,FORMAT,CHARSET,ALIPAY_PUBLIC_KEY,SIGN_TYPE);
关键参数说明
配置参数 | 示例值解释 | 获取方式/示例值 |
URL | 支付宝网关(固定)。 | https://openapi.alipay.com/gateway.do |
APPID | APPID 即创建小程序后生成。 | 获取见 查看 APPID。 |
APP_PRIVATE_KEY | 开发者私钥,由开发者自己生成。 | 获取见 配置接口加签方式。 |
FORMAT | 参数返回格式,只支持 JSON 格式。 | json |
CHARSET | 编码集,支持 GBK/UTF-8。 | 开发者根据实际工程编码配置。 |
ALIPAY_PUBLIC_KEY | 支付宝公钥,由支付宝生成。 | 获取详见 配置接口加签方式。 |
SIGN_TYPE | 商户生成签名字符串所使用的签名算法类型,目前支持 RSA2 和 RSA,推荐使用 RSA2。 | RSA2 |
公钥证书模式加签
接口加签方式为普通 公钥证书 模式加签时 alipayClient 对象初始化的 JAVA 语言示例代码如下:
xxxxxxxxxx
CertAlipayRequest certAlipayRequest = new CertAlipayRequest ();
certAlipayRequest.setServerUrl(URL);
certAlipayRequest.setAppId(APPID);
certAlipayRequest.setPrivateKey(APP_PRIVATE_KEY);
certAlipayRequest.setFormat("JSON");
certAlipayRequest.setCharset(CHARSET);
certAlipayRequest.setSignType(SIGN_TYPE);
certAlipayRequest.setCertPath(app_cert_pathAPP_CERT_PATH);
certAlipayRequest.setAlipayPublicCertPath(alipay_cert_path);
certAlipayRequest.setRootCertPath(alipay_root_cert_path );
DefaultAlipayClient alipayClient = new DefaultAlipayClient(certAlipayRequest);
// 提交数据至支付宝时请使用 alipayClient.certificateExecute(request);
关键参数说明
配置参数 | 示例值解释 | 获取方式/示例值 |
URL | 支付宝网关(固定)。 | https://openapi.alipay.com/gateway.do |
APPID | APPID 即创建小程序后生成。 | 获取见 查看 APPID。 |
APP_PRIVATE_KEY | 开发者私钥,由开发者自己生成。 | 获取见 配置接口加签方式。 |
FORMAT | 参数返回格式,只支持 JSON(固定)。 | json |
CHARSET | 编码集,支持 GBK/UTF-8。 | 开发者根据实际工程编码配置。 |
SIGN_TYPE | 商户生成签名字符串所使用的签名算法类型,目前支持 RSA2 和 RSA,推荐使用 RSA2。 | RSA2 |
app_cert_path | 应用公钥证书文件本地路径。 | 获取见 配置接口加签方式。 |
alipay_cert_path | 支付宝公钥证书文件本地路径。 | 获取见 配置接口加签方式。 |
alipay_root_cert_path | 支付宝根证书文件本地路径。 | 获取见 配置接口加签方式。 |
ISV 代商户接入说明
能力及签约
ISV 需为第三方应用添加 当面付 能力,并收集商家资料 协助商户签约 或引导商家 自行签约 此能力。
接口调用配置
ISV 代商家调用服务端接口时:
需通过 第三方应用授权 得到商户授权令牌(app_auth_token)作为请求参数传入。
使用第三方应用的支付宝公钥、应用公钥、应用私钥、APPID(证书模式使用第三方应用证书),其余入参与接口文档相同。
更多详情参见 代调用 OpenAPI。