Alipay, China's leading third-party online payment solutionAlipay, China's leading third-party online payment solution

订阅开通

在进行周期自动收款之前,您需要创建一笔订阅并引导买家完成授权。该集成方案旨在介绍订阅开通的集成流程。

集成前提

在正式开始集成之前,您需要完成以下准备工作:

  • 注册支付宝开发者中心账号。
  • 设置您的密钥。
  • 在沙箱中测试。

欲知更多详情,请参考 Alipay+ 的 集成指南

集成步骤

在订阅支付的授权签约过程中,您向买家呈现的页面流程主要由如下三个部分组成:

订阅开通

图 1. 订阅支付用户体验流程

每个部分的作用如下:

  1. 订阅支付开通页:买家选择订阅套餐及支付方式,确认立即开通后生成订阅订单,进入订阅支付授权流程。
  2. 授权过程:页面跳转至支付方式授权页面,买家确认信息并验证身份,完成授权,页面会先跳转至 Alipay+ 中间页。
  3. 授权结果页:授权完成后页面自动回跳至授权结果页。

在集成订阅支付产品时,您的客户端的主要工作将集中在订阅支付开通页,该页面一般会有以下作用:

  • 呈现可用支付方式根据订单金额、地区等信息过滤支付方式并呈现。
  • 推进至支付过程:向服务端请求订阅授权链接,并拉起授权签约过程。
  • 接收支付回调(可选):根据订阅状态通知推进至订阅授权结果页。

步骤一:获取并呈现支付方式

获取支付方式

请联系 Alipay+ 技术支持(overseas_support@service.alibaba.com)获取可用支付方式的正确展示名及 logo 标识。

过滤支付方式

在呈现支付方式时,对于处于维护中的支付方式建议不做展示或置灰处理,以避免订阅失败。您可以向 Alipay+ 技术支持了解支付方式的维护情况。

呈现支付方式

对于 Alipay+ 支付方式,您需要展示 Alipay+ Partner 标识。下图以 Web 端为例展示了支付方式的两种呈现风格,您可以选择以下风格中的一种,需确保支付方式名称和标识(logo)使用正确:

image.png

图 2. 支付方式呈现示例图

步骤二:获取授权链接并发起授权

拦截无效订单

建议您在买家点击 立即开通 后,先校验下该笔订单的状态与有效期,以避免重复发起订阅或对已经失效的订阅进行授权。

订阅开通

图 3. 订单状态校验

若您希望在授权过程中通过超时时间拦截失效订单,可以通过 创建 接口中的参数 subscriptionExpiryTime 设定允许买家授权的最迟的时间。如果买家超过设定的最迟授权时间,授权过程将无法完成。这种方式可以进一步避免重复订阅的情况出现,例如买家在授权过程中停留了一段时间继续进行授权。

其它情况也可能导致出现重复订阅,例如服务器时间偏差等。建议您在收到订阅状态和支付状态异步通知时判断对应状态,如果出现重复授权的情况,请通过 取消 接口撤销订单;如果出现重复支付的情况,请通过 退款 接口对其中一笔订单进行退款。

获取授权链接

在买家确认立即开通订阅服务后,您的客户端向服务端请求授权链接,您的服务器调用 Alipay+ 的订阅 创建 接口获取授权链接。在买家确认开通后,您的客户端收到结果并处理之前,请将订阅开通按钮禁用,以免买家多次点击多次触发操作。

订阅开通

图 4. 授权链接获取过程

您在请求授权链接的过程中,客户端和服务端的两次请求因网络原因都有可能失败,建议在客户端请求中设定 http 请求的超时时间,以避免用户等待过长。在获取授权链接失败后,允许买家重新发起授权。

订阅授权请求中关键字段如下(具体请参考 创建 接口):

字段名

说明

subscriptionRequestId

在商家侧唯一。

env

  • Web 端:terminalType WEB
  • WAP 端:terminalType WAP,并传入正确的 osType。
  • App 端:terminalTypeAPP,并传入正确的 osType。

subscriptionRedirectUrl

授权签约回跳的地址。

  • env.terminalType 值为 WEB 时,建议传 H5 类型的地址。
  • env.terminalType 值为 WAP 时,建议传 H5 类型的地址。
  • env.terminalType 值为 APP 时,建议传 deeplink 地址。

subscriptionNotificaitonUrl

接收订阅结果的地址。需要为 https 地址。

paymentNotificaitonUrl

接收周期订阅支付结果的地址。需要为 https 地址。

表 1. 订阅创建接口关键请求参数

在发起授权请求时,您可以根据业务场景及买家特点设定不同订阅规则。请参考 订阅场景示例 查阅不同场景的订阅规则。

拉起授权过程

创建 接口的返回中,会针对不同的端,返回以下 URL 中的部分 URL 用于拉起支付:

  • normalUrl
  • schemeUrl
  • applinkUrl

针对 App 端较为复杂的拉起场景,请参考 App 跳转链接唤起方案 了解 Android 系统和 iOS 系统下的链接拉起方案。

注意

  • 在拉起授权时,注意用 try catch 包围相关代码,捕获报错并给出对应的操作提示,并在上线前进行完整验收。
  • 部分支付方式的授权链接并不支持多次打开,因此若拉起失败,建议更换 subscriptionRequestId 重新获取授权链接并拉起。

授权过程

拉起支付方式授权页面后,买家进入到支付方式的授权页面。授权过程参考如下用户体验:

订阅开通

图 5. 订阅授权用户体验流程

步骤三:回跳商家页面

在订阅 创建 接口中,您可以通过参数 subscriptionRedirctUrl 设定回跳地址或者在 开发者中心 配置该回跳地址。

  • terminalTypeWEB 时 ,建议您传入 H5 类型的链接。
  • terminalTypeWAP,建议您传入 H5 类型的链接
  • terminalTypeAPP,您须传入 deep link 类型的链接。

买家完成授权时,会先回跳到 Alipay+ 的中间页,再跳转到商家的页面。

订阅开通

图 6. 页面回跳流程

在买家授权完成之后,Alipay+ 会向您配置的 subscriptionNotifyUrl 发送异步通知,告知授权签约是否成功。

若您收到异步通知,需要在返回中按照 订阅结果通知 接口中的示例代码格式返回响应。若未按要求响应异步通知,或者因为网络原因异步通知未送达,通知会在 24 小时内自动重发。通知至多重发 8 次或直至收到正确响应终止发送。发送间隔如下:0分钟,2分钟,10分钟,10分钟,1小时,2小时,6小时,15小时。