订阅开通
在进行周期自动收款之前,您需要创建一笔订阅并引导买家完成授权。该集成方案旨在介绍订阅开通的集成流程。
集成前提
在正式开始集成之前,您需要完成以下准备工作:
- 注册支付宝开发者中心账号。
- 设置您的密钥。
- 在沙箱中测试。
欲知更多详情,请参考 Alipay+ 的 集成指南。
集成步骤
在订阅支付的授权签约过程中,您向买家呈现的页面流程主要由如下三个部分组成:
图 1. 订阅支付用户体验流程
每个部分的作用如下:
- 订阅支付开通页:买家选择订阅套餐及支付方式,确认立即开通后生成订阅订单,进入订阅支付授权流程。
- 授权过程:页面跳转至支付方式授权页面,买家确认信息并验证身份,完成授权,页面会先跳转至 Alipay+ 中间页。
- 授权结果页:授权完成后页面自动回跳至授权结果页。
在集成订阅支付产品时,您的客户端的主要工作将集中在订阅支付开通页,该页面一般会有以下作用:
- 呈现可用支付方式:根据订单金额、地区等信息过滤支付方式并呈现。
- 推进至支付过程:向服务端请求订阅授权链接,并拉起授权签约过程。
- 接收支付回调(可选):根据订阅状态通知推进至订阅授权结果页。
步骤一:获取并呈现支付方式
获取支付方式
请联系 Alipay+ 技术支持(overseas_support@service.alibaba.com)获取可用支付方式的正确展示名及 logo 标识。
过滤支付方式
在呈现支付方式时,对于处于维护中的支付方式建议不做展示或置灰处理,以避免订阅失败。您可以向 Alipay+ 技术支持了解支付方式的维护情况。
呈现支付方式
对于 Alipay+ 支付方式,您需要展示 Alipay+ Partner 标识。下图以 Web 端为例展示了支付方式的两种呈现风格,您可以选择以下风格中的一种,需确保支付方式名称和标识(logo)使用正确:
图 2. 支付方式呈现示例图
步骤二:获取授权链接并发起授权
拦截无效订单
建议您在买家点击 立即开通 后,先校验下该笔订单的状态与有效期,以避免重复发起订阅或对已经失效的订阅进行授权。
图 3. 订单状态校验
若您希望在授权过程中通过超时时间拦截失效订单,可以通过 创建 接口中的参数 subscriptionExpiryTime 设定允许买家授权的最迟的时间。如果买家超过设定的最迟授权时间,授权过程将无法完成。这种方式可以进一步避免重复订阅的情况出现,例如买家在授权过程中停留了一段时间继续进行授权。
其它情况也可能导致出现重复订阅,例如服务器时间偏差等。建议您在收到订阅状态和支付状态异步通知时判断对应状态,如果出现重复授权的情况,请通过 取消 接口撤销订单;如果出现重复支付的情况,请通过 退款 接口对其中一笔订单进行退款。
获取授权链接
在买家确认立即开通订阅服务后,您的客户端向服务端请求授权链接,您的服务器调用 Alipay+ 的订阅 创建 接口获取授权链接。在买家确认开通后,您的客户端收到结果并处理之前,请将订阅开通按钮禁用,以免买家多次点击多次触发操作。
图 4. 授权链接获取过程
您在请求授权链接的过程中,客户端和服务端的两次请求因网络原因都有可能失败,建议在客户端请求中设定 http 请求的超时时间,以避免用户等待过长。在获取授权链接失败后,允许买家重新发起授权。
订阅授权请求中关键字段如下(具体请参考 创建 接口):
字段名 | 说明 |
subscriptionRequestId | 在商家侧唯一。 |
env |
|
subscriptionRedirectUrl | 授权签约回跳的地址。
|
subscriptionNotificaitonUrl | 接收订阅结果的地址。需要为 https 地址。 |
paymentNotificaitonUrl | 接收周期订阅支付结果的地址。需要为 https 地址。 |
表 1. 订阅创建接口关键请求参数
在发起授权请求时,您可以根据业务场景及买家特点设定不同订阅规则。请参考 订阅场景示例 查阅不同场景的订阅规则。
拉起授权过程
在 创建 接口的返回中,会针对不同的端,返回以下 URL 中的部分 URL 用于拉起支付:
- normalUrl
- schemeUrl
- applinkUrl
针对 App 端较为复杂的拉起场景,请参考 App 跳转链接唤起方案 了解 Android 系统和 iOS 系统下的链接拉起方案。
【注意】
- 在拉起授权时,注意用 try catch 包围相关代码,捕获报错并给出对应的操作提示,并在上线前进行完整验收。
- 部分支付方式的授权链接并不支持多次打开,因此若拉起失败,建议更换 subscriptionRequestId 重新获取授权链接并拉起。
授权过程
拉起支付方式授权页面后,买家进入到支付方式的授权页面。授权过程参考如下用户体验:
图 5. 订阅授权用户体验流程
步骤三:回跳商家页面
在订阅 创建 接口中,您可以通过参数 subscriptionRedirctUrl 设定回跳地址或者在 开发者中心 配置该回跳地址。
- 当 terminalType 为
WEB
时 ,建议您传入 H5 类型的链接。 - 当 terminalType 为
WAP
时,建议您传入 H5 类型的链接。 - 当 terminalType 为
APP
时,您须传入 deep link 类型的链接。
买家完成授权时,会先回跳到 Alipay+ 的中间页,再跳转到商家的页面。
图 6. 页面回跳流程
在买家授权完成之后,Alipay+ 会向您配置的 subscriptionNotifyUrl 发送异步通知,告知授权签约是否成功。
若您收到异步通知,需要在返回中按照 订阅结果通知 接口中的示例代码格式返回响应。若未按要求响应异步通知,或者因为网络原因异步通知未送达,通知会在 24 小时内自动重发。通知至多重发 8 次或直至收到正确响应终止发送。发送间隔如下:0分钟,2分钟,10分钟,10分钟,1小时,2小时,6小时,15小时。