本文主要介绍使用支付宝开放平台服务端 SDK 快速接入 商家分账。
商家或服务商可根据实际情况通过以下方式接入该产品:
- 商家自研:商家自助完成产品开通与接口调用。
- 服务商代开发:服务商需获取商家应用的代开发授权,再协助商家开通产品,然后通过第三方应用调用接口。
自研商家接入说明
1. 创建应用
登录 支付宝开放平台,创建 小程序应用 或 网页/移动应用。
说明:生成的应用唯一标识 APPID 可用于调用开放产品接口。
2. 配置应用
产品绑定
小程序
创建应用后,在 开发 > 产品绑定 > 去绑定,添加 商家分账。
网页/移动应用
创建应用后,在 产品绑定 > 去绑定 ,添加 商家分账。
开发设置
在 开发设置 中配置应用信息。
接口加签方式
必填。用于防止数据篡改,保障应用和支付宝交互的安全性,可查看 接口加签方式。
服务器 IP 白名单
选填。用于提高应用访问开放平台的安全性,避免因应用私钥泄漏等原因导致业务受损,保障用户资金安全,可查看 服务器 IP 白名单。
支付宝网关
必填。开发者调用 OpenAPI 发送 http(s) 请求至支付宝的目标地址(gateway),固定为 https://openapi.alipay.com/gateway.do
。
应用网关
必填。用于接收支付宝异步通知消息,需要传入 http(s) 公网可访问网页地址,可查看 应用网关。
接口内容加密方式
选填。用于加 / 解密 OpenAPI bizContent 报文内容,可大幅提升接口内容传输的安全性。可查看 接口内容加密方式。
服务器域名白名单
选填。小程序 若需要获取客户端域外资源(例如获取图片、服务端数据等),需要配置服务器域名白名单。
H5域名
选填。小程序 使用 web-view H5 页面承载组件 时需要配置 H5 页面中所有域名地址(含静态资源地址,如图片、.js 文件地址等),详情可查看 配置 H5 域名。
授权回调地址
选填。网页/移动应用 指定的回调页面 URL,用户信息授权 成功后,将在该 URL 后携带授权码等信息并跳转至该页面。
说明:授权链接中配置的 redirect_uri 的值必须与此回调地址保持一致 (如:https://www.alipay.com) ,当填入该地址时,系统会自动进行安全检测。
3. 上线应用
- 小程序应用:审核通过后自动上线。
- 网页/移动应用:需要手动上线。提交审核后,预计 1 个工作日的审核时间,请耐心等待,详细步骤可查看 上线应用。应用上线后,还需要完成开通才能在线上环境(生产环境)使用产品。
4. 绑定商家账号
可选操作。在支付宝开放平台创建的应用归属于对应的开放平台账号。如果要在应用中使用支付和资金等相关产品,需要将应用和支付宝商家平台账号绑定,应用才可调用需要商家开通的业务,具体步骤可查看 绑定应用。
5. 开通产品
应用上线后,还需要完成开通才能使用 商家分账。请在 商家平台 > 产品中心 的产品详情页面点击 立即开通,填写并提交相关信息。详情可查看 开通产品。
6. 配置小程序隐私政策
根据《中华人民共和国个人信息保护法》,为进一步规范开发者的用户个人信息处理行为,保障用户合法权益,支付宝小程序无论是通过调用支付宝官方提供的涉及用户个人信息的相关接口,还是开发者自行收集用户个人信息,均需补充相应小程序隐私政策。详情可查看 小程序隐私政策配置。
服务商代开发模式接入
1. 创建应用
服务商登录 支付宝开放平台,创建 第三方应用 并提交审核。详情可查看 创建&配置第三方应用。
说明:生成的应用唯一标识 APPID 可用于调用开放产品接口。
2. 开通产品
服务商可以通过以下方式,协助商家开通 商家分账:
- 服务商在开放平台为第三方应用绑定此产品。
- 通过以下方式协助商家开通:
-
- 请商家登录 商家平台 > 产品中心 开通此产品。
- 收集商家资料,登录 服务商平台 协助商家开通此产品。
- 收集商家资料,通过 接口 协助商家开通此产品。
3. 获取代开发授权
服务商需根据 第三方应用授权 指引,获取商家代开发授权,以此获取 app_auth_token
(商家授权令牌)用于调用产品相关接口。
4. 接口调用
服务商代商家调用服务端接口时:
- 需传入第三方应用授权得到商家授权令牌(app_auth_token)作为请求参数传入。
- 使用第三方应用的支付宝公钥、应用公钥、应用私钥、APPID(证书模式使用第三方应用证书)构造 AlipayClient,其余入参与接口文档相同。
更多详情可查看 代商家调用接口说明。
集成并配置 SDK
服务端 SDK 需要商家或服务商集成在服务端系统中,用于后续的服务端接口调用。
下载服务端 SDK
为了帮助开发者调用开放接口,支付宝提供了开放平台服务端 SDK,包含 Java、PHP、NodeJS、Python 和 .NET 五种语言,封装了签名与验签、HTTP 接口请求等基础功能。
说明:请先下载对应语言版本的最新版 服务端 SDK 并引入开发工程。
接口调用配置
在 SDK 调用具体的接口前需要进行 alipayClient 对象初始化。alipayClient 对象只需要初始化一次,后续调用不同的接口都可以使用同一个 alipayClient 对象。
公钥模式加签
接口加签方式为 公钥 模式加签时 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 |
支付宝网关(固定)。 |
|
APPID |
APPID 即创建应用后生成。 |
获取可查看 获取 APPID。 |
PRIVATE_KEY |
开发者私钥,由开发者自己生成。 |
获取可查看 接口加签方式。 |
FORMAT |
参数返回格式,只支持 JSON(固定)。 |
JSON |
CHARSET |
编码集,支持 GBK/UTF-8。 |
开发者根据实际工程编码配置。 |
ALIPAY_PUBLIC_KEY |
支付宝公钥,由支付宝生成。 |
获取详情可查看 接口加签方式。 |
SIGN_TYPE |
生成签名字符串所使用的签名算法类型,目前支持 RSA2 和 RSA,推荐使用 RSA2。 |
RSA2 |
公钥证书模式加签
接口加签方式为 公钥证书 模式加签时,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 |
支付宝网关(固定)。 |
|
APPID |
APPID 即创建应用后生成。 |
获取可查看 获取 APPID。 |
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 |
支付宝根证书文件本地路径。 |
获取详情可查看 接口加签方式。 |