名词 | 解释 |
快捷支付 | 指用户无需输入银行卡密码,而通过在支付机构设置的支付密码完成银行卡支付。能够进行快捷支付的银行卡需事先完成快捷绑卡流程。 |
快捷绑卡 | 也称快捷绑卡1.0。指用户输入完整银行卡号、户名、手机号、短信验证码等信息,完成用户支付账户与发卡银行卡的绑定,绑定成功后用户即可使用快捷支付。 |
快捷绑卡2.0 | 快捷绑卡1.0的升级版,大幅提升用户绑卡体验。只需账号授权,用户即可选卡绑定,而无需记住银行卡号等任何信息,让用户可以随选绑卡,随时绑卡。 |
一键绑卡 | 快捷绑卡2.0的一种场景,用户从银行APP发起绑卡,跳转至支付宝APP验证授权完成绑定,绑定成功后用户可选择回跳银行APP。 |
网关绑卡 | 快捷绑卡2.0的一种场景,用户从支付宝APP发起绑卡,打开银行绑卡H5页面并验证授权后完成绑定,绑定完成后支付宝呈现绑卡结果页,用户绑卡流程无需跳端,体感一致性更佳。 |
为解决用户忘记卡号,卡不在身边也能绑卡,进一步提升用户快捷支付绑卡随绑随付的便利性,降低因签约信息误填、弃填等问题出现的频率,提高签约成功率,优化客户签约体验以及提升用户信息安全。支付宝基于网联平台报文交互规范,定义了一套快捷绑卡2.0解决方案及标准业务流程,帮助各发卡银行快速完成系统升级和对接。
用户在银行APP打开“一键绑卡”功能(不同银行功能入口可不同。既可设置独立的“一键绑卡”功能入口,也可在具体卡片的功能列表添加“一键绑卡”功能选项),选择并确认好待绑定银行卡和手机号等信息,授权跳转至支付宝APP进行绑卡操作。页面跳转至支付宝APP后,用户确认支付宝侧展示的待绑定账户信息,授权并进行短信验证,验证通过后系统发起快捷协议签约并展示绑卡结果。用户绑卡成功后可手动选择跳回银行APP进行后续操作。
一键绑卡业务流程根据服务提供方可分为两个阶段,第一阶段由银行进行用户身份验证,用户授权后跳转至支付宝APP页面;第二阶段由支付宝页面提供用户信息确认、授权和绑卡服务,绑卡完成后用户可回跳银行APP。若绑卡失败,支付宝页面会展示失败信息并提示用户做相应处理。
为帮助银行详细了解整体合作对接流程,下图详细描述了银行侧以及支付宝侧的工作内容以及对应步骤。其中红色节点为银行操作,蓝色节点为支付宝操作。
快捷支付2.0一键绑卡业务除了前面介绍的页面流程外,在后端系统接口交互层面主要由银行直接对接网联平台,并经由网联平台间接对接支付宝。完整报文交互流程如下。银行侧开发工作分为“银行服务端”和“银行APP端”(iOS和Android双系统)两部分。下面就银行在整体技术链路中涉及的主要工作进行说明。
银行APP端主要涉及行内手机应用一键绑卡功能的界面开发、唤起支付宝APP的绑卡页面(步骤1.3),以及用户在支付宝APP完成绑卡后回跳银行APP的结果展示(步骤3.4.1.4及后续)和后续业务处理(如给绑卡成功的用户发放绑卡优惠券奖励)。
银行服务端业务流程可分为用户信息授权和快捷绑卡两个阶段。其中快捷绑卡阶段为快捷绑卡1.0的标准业务流程(步骤2.1至步骤3.1.4),如银行之前已对接,可原样复用(即支付宝分别通过网联平台向银行发起快捷签约身份认证申请,以及快捷签约的签约申请报文。银行依次处理身份认证申请及签约申请后,返回用户签约的快捷协议号)。用户信息授权阶段主要解决信息授权采集和安全传递,并用于后续快捷绑卡的流程。主要涉及通过网联平台向支付宝提交签约受理相关信息,并从网联平台回执信息解析得到跳转支付宝APP的地址(步骤1.1.1至步骤1.2,地址取RdrctUrl字段),并最终由银行APP按原地址内容直接跳转至支付宝绑卡页面。
银行发起快捷协议签约申请报文(epcc.101.001.01,交易类别0207),将客户签约要素信息经网联平台传送至支付宝。其中ClbckUrl字段填写的银行回跳地址,需同银行提供给支付宝添加访问地址白名单用的“银行APP回调地址”保持一致,否则会报无权限错误。签约回执报文经网联平台回传给银行后,银行可基于回执信息判断该用户是否可继续签约,并从RdrctUrl字段获取跳转支付宝APP绑卡页面的地址。地址获取后,银行APP即可按原始地址进行页面跳转(即无需进行额外urlDecode解码处理,跳转后用户可根据自身是否已安装支付宝APP选择直接打开支付宝或者下载支付宝)。根据手机系统不同,分别介绍对应跳转技术方案。
只需要实现WebViewClient的shouldOverrideUrlLoading方法,当url以"https://render.alipay.com"开头时调用系统默认浏览器处理该地址,java代码示例如下。
/** * 所有以“https://render.alipay.com”开头的url地址访问调用系统浏览器打开,其他的url在当前webview打开 */ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if (url.indexOf("https://render.alipay.com") != -1) { // 调用系统默认浏览器处理url view.stopLoading(); view.getContext().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url))); return true; } return false; }
需要在Info.plist文件中加入需要被唤起APP的Scheme,比如要唤起支付宝,则需要添加Scheme "alipays",代码示例如下。iOS9及以上版本的兼容性问题可参考苹果官方说明文档(点此访问),建议银行重点关注兼容性和回归测试。
<key>LSApplicationQueriesSchemes</key>
<array>
<string>alipays</string>
</array>
快捷绑卡阶段的操作(步骤2.1至步骤3.1.4),同快捷绑卡1.0的技术对接方案。具体对接流程参考网联平台技术文档,本方案不再赘述。需要注意的是,一键绑卡功能需支持用户重复签约,即客户在发起签约申请时,银行不对该客户名下的快捷协议进行特别校验。如已存在有效协议,则银行通过网联平台向支付宝直接返回原协议号,并更新签约时间。如不存在有效协议,则按照快捷绑卡标准流程进行签约。
此处银行使用快捷协议签约申请报文的签约受理场景(epcc.101.001.01,交易类别0207),向网联平台提交签约受理申请,并处理网联平台返回的签约受理回执报文。
todo
此处银行服务端被动接收支付宝(经由网联平台)的请求,并向网联返回对应快捷协议签约回执报文。此处为两次标准的快捷绑卡1.0交互,银行分别通过快捷协议签约回执报文(epcc.102.001.01)返回快捷协议快捷签约的身份认证处理结果(交易类别为0201)和快捷协议快捷签约的签约处理结果(交易类别为0202)。
todo
todo
接口API由网联平台定义,具体文档请咨询网联并由网联平台官方提供。
正式业务上线前,双方需完成如下三阶段测试及验收。
下面就阶段二“验收测试”进行详细说明。
支付宝侧业务验收需银行提供完整录屏,涉及Android以及iOS双端,包含Android成功绑卡场景,一个iOS成功绑卡场景,总计2个完整流程录屏。录屏文件命名如下:
银行侧业务验收可内部进行更为详细的验收样例测试,以提升系统的健壮性、稳定性和用户体验。
1、支付宝扫码获取支付宝uid
2、支持的证件类型
基于法律法规、监管政策等原因,我公司有权采取变更或暂停接口使用、终止合作等措施。