商家或服务商可根据实际情况通过以下方式接入该产品:
- 商家自研:商家自助完成产品开通与接口调用。接入步骤详情可查看本文 自研商家接入 。
- 服务商代开发:服务商在获得商家授权后,可获得通过第三方应用调用支付宝的接口能力。接入步骤详情可查看本文 服务商代开发模式接入 。
1 自研商家接入
商家自研接入流程
1.1 创建应用
登录支付宝开放平台创建 网页/移动应用 。
说明:生成的应用唯一标识 APPID 可用于调用开放产品接口。
1.2 配置应用
在 开发 > 开发设置 中配置应用信息。
1.2.1 接口加签方式
必填。用于防止数据篡改,保障应用和支付宝交互的安全性,可查看 接口加签方式。
说明:若产品涉及 资金支出的接口 必须 设置证书加签方式。
1.2.2 服务器 IP 白名单
选填。用于提高应用访问开放平台的安全性,避免因应用私钥泄漏等原因导致业务受损,保障用户资金安全,可查看 服务器 IP 白名单。
1.2.3 支付宝网关
必填。开发者调用 OpenAPI 发送 http(s) 请求至支付宝的目标地址(gateway),固定为 https://openapi.alipay.com/gateway.do
。
1.2.4 应用网关
必填。用于接收支付宝异步通知消息,需要传入 http(s) 公网可访问网页地址,可查看 应用网关。
1.2.5 接口内容加密方式
选填。用于加 / 解密 OpenAPI bizContent 报文内容,可大幅提升接口内容传输的安全性。可查看 接口内容加密方式。
1.2.6 授权回调地址
选填。网页/移动应用 指定的回调页面 URL, 用户信息授权 成功后,将在该 URL 后携带授权码等信息并跳转至该页面。
说明:授权链接中配置的 redirect_uri 的值必须与此回调地址保持一致 (如:https://www.alipay.com
) 。
1.2.7 订阅消息服务
选填。异步消息通知,用于提高应用 API 的调用效率。详情可查看 主动推送服务(From 蚂蚁)和 消息回流服务(To 蚂蚁)。
1.3 上线应用
网页/移动应用:需要手动上线。提交审核后,预计 1 个工作日的审核时间。详细步骤可点击查看 上线应用 。应用上线后,还需要完成产品开通才能在线上环境(生产环境)使用产品。
1.4 绑定商家账号
可选操作。在支付宝开放平台创建的应用归属于对应的开放平台账号。如果要在应用中使用支付和资金等相关产品,需要将应用和支付宝商家平台账号绑定,应用才可调用需要商家开通的产品,具体步骤可查看 绑定应用。
1.5 开通产品
应用上线后,还需要完成开通才能使用 手机网站支付。请在 商家平台 > 产品中心 的 手机网站支付产品详情页 点击 立即开通 ,填写并提交相关信息完成产品开通。详情可点击查看 开通产品 。
如您已经开通 手机网站支付,则无需再次开通,开通状态可点击 产品开通情况 查询。
2 服务商代开发模式接入
服务商代开发接入流程
2.1 创建应用
服务商登录 支付宝开放平台,创建 第三方应用 并提交审核。详情可查看 创建&配置第三方应用。
说明:生成的应用唯一标识 APPID 可用于调用开放产品接口。
2.2 开通产品
服务商可以通过以下三种方式之一,协助商家开通 手机网站支付:
- 请商家登录 商家平台 > 产品中心的 手机网站支付产品详情页 点击开通此产品。
- 收集商家资料,登录 服务商平台 协助商家开通此产品。
- 收集商家资料,通过 接口 协助商家开通此产品。
2.3 获取代开发授权
- 服务商登录 支付宝开放平台 > 第三方应用 > 商家授权 > 授权范围选择 页面,选择对应产品。
- 服务商根据 第三方应用授权 指引,获取商家代开发授权,以此获取
app_auth_token
(商家授权令牌)用于调用产品相关接口。
说明:可根据产品实际情况,选择 全权委托授权代开发模式,减少拓展业务的成本。
2.4 接口调用
服务商代商家调用服务端接口时:
- 需传入第三方应用授权得到商家授权令牌(app_auth_token)作为请求参数传入。
- 使用第三方应用的支付宝公钥、应用公钥、应用私钥、APPID(证书模式使用第三方应用证书)构造 AlipayClient,其余入参与接口文档相同。
更多详情可查看 代商家调用接口说明。
2.5 订阅消息服务
服务商可在第三方应用详情页选择 开发设置,在页面下方 消息服务 中完成服务商自订阅消息服务。消息服务详情可查看 主动推送服务(From 蚂蚁)和 消息回流服务(To 蚂蚁)。
3 集成并配置 SDK
服务端 SDK 需要商家或服务商集成在服务端系统中,用于后续的服务端接口调用。
3.1 下载服务端 SDK
为了帮助开发者调用开放接口,支付宝提供了开放平台服务端 SDK,包含 Java、PHP、NodeJS、Python 和 .NET 五种语言,封装了签名与验签、HTTP 接口请求等基础功能。
说明:请先下载对应语言版本的最新版 服务端 SDK 并引入开发工程。
3.2 接口调用配置
在 SDK 调用具体的接口前需要进行 alipayClient 对象初始化。alipayClient 对象只需要初始化一次,后续调用不同的接口都可以使用同一个 alipayClient 对象。
3.2.1 公钥模式加签
接口加签方式为 公钥 模式加签时 alipayClient 对象初始化的 Java 语言示例代码:
AlipayConfig alipayConfig = new AlipayConfig(); alipayConfig.setServerUrl(URL); alipayConfig.setAppId(APP_ID); alipayConfig.setPrivateKey(PRIVATE_KEY); alipayConfig.setFormat("json"); alipayConfig.setCharset(CHARSET); alipayConfig.setAlipayPublicKey(ALIPAY_PUBLIC_KEY) alipayConfig.setSignType(SIGN_TYPE); //构造client AlipayClient alipayClient = new DefaultAlipayClient(alipayConfig);
关键参数说明
配置参数 | 示例值解释 | 获取方式/示例值 |
URL | 支付宝网关(固定)。 | https://openapi.alipay.com/gateway.do |
APPID | APPID 即创建应用后生成。 | 获取可查看 获取 APPID。 |
PRIVATE_KEY | 开发者私钥,由开发者自己生成。 | 获取可查看 接口加签方式。 |
FORMAT | 参数返回格式,只支持 JSON(固定)。 | JSON |
CHARSET | 编码集,支持 GBK/UTF-8。 | 开发者根据实际工程编码配置。 |
ALIPAY_PUBLIC_KEY | 支付宝公钥,由支付宝生成。 | 获取详情可查看 接口加签方式。 |
SIGN_TYPE | 生成签名字符串所使用的签名算法类型,目前支持 RSA2 算法。 | RSA2 |
3.2.2 公钥证书模式加签
接口加签方式为 公钥证书 模式加签时,alipayClient 对象初始化的 Java 语言示例代码如下:
注意:若使用 公钥证书 模式进行加签,需额外引入如下 JAR 包:
- bcprov-jdk15on
- commons-logging
- fastjson
CertAlipayRequest certAlipayRequest = new CertAlipayRequest(); certAlipayRequest.setServerUrl(URL); certAlipayRequest.setAppId(APPID); certAlipayRequest.setPrivateKey(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。 |
PRIVATE_KEY | 开发者私钥,由开发者自己生成。 | 获取可查看 接口加签方式。 |
FORMAT | 参数返回格式,只支持 JSON(固定)。 | JSON |
CHARSET | 编码集,支持 GBK/UTF-8。 | 开发者根据实际工程编码配置。 |
SIGN_TYPE | 生成签名字符串所使用的签名算法类型,目前支持 RSA2 算法。 | RSA2 |
app_cert_path | 应用公钥证书文件本地路径。 | 获取详情可查看 接口加签方式。 |
alipay_cert_path | 支付宝公钥证书文件本地路径。 | 获取详情可查看 接口加签方式。 |
alipay_root_cert_path | 支付宝根证书文件本地路径。 | 获取详情可查看 接口加签方式。 |