随着互联网技术和手机软硬件的高速发展,手机的使用场景已经融入到日常生活的点滴中。购物用淘宝下单,饿了在美团点外卖,出行滴滴一下...这些关联衣食住行的应用,都离不开一个核心环节:线上支付。 手机支付通常可以细分为两种场景:“手机APP应用中集成支付功能”、“手机网页应用中集成支付功能”。 本文以支付宝和微信支付举例分析“手机网页应用(以下简称H5)进行支付的交互体验设计”。
01
APP支付与H5支付的异同
▼
APP支付是指“商户在移动端APP中集成了支付宝支付、微信支付,或者其他第三方支付功能”。
H5支付是指“商户在移动端网页(触屏版手机浏览器)应用中集成了支付宝支付、微信支付,或者其他第三方支付功能”。
相同点:
不同点:
02
H5支付方式选择支付宝支付
▼
支付宝是淘宝与阿里系其他产品线上支付的唯一或者主要支付方式,已经成为国内市场份额第一的移动支付应用。以下举例说明手机网页中选择支付宝支付的交互体验设计。
从以上支付流程中,我们能明确以下两点:
(1)支付宝提供了官方设置的中间页,并且此页无法自定义删除,下图示意。
(2)支付宝考虑的场景非常全面:
若用户已安装支付宝客户端,可直接打开支付宝完成支付。
若用户未安装支付宝,提供了引导至应用商店下载并安装支付宝的路径(下图1示意);用户也可以选择在网页端调起“支付宝网页收银台”页面(下图2示意),登录账号输入密码之后完成支付。
具体支付过程中会根据支付是否成功,决定页面的跳转。
另外手机网页到底是当前页调起支付、还是新开页面调起支付,对应的回退跳转规则是不同的。
用户已安装支付宝客户端
若用户已安装支付宝客户端,在订单支付页面点击支付,调起支付宝提供的中间页,并出现弹框尝试唤起支付宝客户端,参见下图示意:
点击弹框打开按钮,跳转到支付宝APP,在支付宝的确认支付界面完成支付;点击取消按钮,停留在当前支付宝支付路由页面(官方中间页)。
若在支付宝中支付成功,切回至浏览器中,页面刷新至商户自定义的“支付结果页”。
若在支付宝中支付失败,用户手动回到浏览器中,则当前页面呈现支付宝支付路由页面(官方中间页),参见下图示意:
点击“使用支付宝APP付款”,再次申请打开支付宝APP。
点击“继续浏览器付款”,当前页面调起支付宝网页支付收银台,下图示意:若成功登录账号并且在后续付款页面支付成功,则展示支付宝网页端支付成功页,点击完成,当前页面刷新至商户自定义的“支付结果页”。
点击“已完成付款”:若已经支付成功,当前页刷新至商户自定义的“支付结果页”。若支付失败,则出现弹框(下图示意),点击弹框的“继续付款”按钮,当前页调起支付宝网页收银台页面,后续流程同上;点击弹框的“取消”按钮,停留在当前页面。
用户未安装支付宝客户端
若用户未安装支付宝客户端,可以选择下载安装支付宝APP,或者使用支付宝网页收银台页面支付,参见上面的流程。
若已支付成功,页面刷新至商户自定义的“支付结果页”,此时若点击系统回退按钮:页面将逐级回退。这里需要注意:回退过程中是否能够及时判断订单状态,将决定回退到最终的页面。
若未支付成功,页面停留在“订单支付”页面,此时点击系统回退按钮:页面将逐级回退。回退页面的状态由具体需求决定,比如对于某个订单,先确认后支付,若已经确认提交了订单但未支付,回退之后无需再次确认,后续流程中直接支付即可。
03
H5支付方式选择微信支付
▼
在以上支付流程中,我们能明确以下两点:
微信支付没有设置官方中间页,目前呈现的是空白页面,参见下图中弹框背景是空白页面。
对于未安装微信客户端的用户,需要选择其他支付方式付款。
用户已安装微信客户端
若在微信中支付成功,切回至浏览器中,页面刷新至商户自定义的“支付结果页”。
若在微信中支付失败,用户手动回到浏览器中,则当前页面呈现微信支付官方提供的空白页:
由于微信支付官方提供的中间页是空白页,而我们又不能让用户在未支付成功的情况下,看到这个空白页。所以这里提供以下三种解决方案:
方案一:在订单支付页面直接唤起微信客户端,当出现唤起微信客户端的弹框时,在订单支付页面也出现一个弹框
若在微信中支付成功,返回至该页面点击“已完成付款”,当前页面刷新至商户自定义的支付结果页;
若取消支付或者在微信中没有支付成功,点击“已完成付款”,刷新页面判断订单状态,未支付则仍停留在商户的订单支付页。
方案二:自定义页面
在微信中支付成功的跳转规则同上,若取消支付或者在微信中没有支付成功,则当前空白页自动跳转为“商户自定义的中间页”,可以在此中间页引导用户查看订单,重新发起支付流程。参见下图小米商城的做法。
方案三:自定义中间页
虽然微信支付官方提供的中间页是空白页,如果微信支付的规则允许,商户可以自定义中间页(根据近期做的一个实践项目,微信允许这种做法)。
参见下图示意:若支付成功,点击“已完成付款”,页面刷新至商户自定义的支付结果页。若支付失败,点击“已完成付款”,页面停留在当前中间页,点击“查看订单”跳转至订单列表页。
用户未安装微信客户端
若用户未安装微信客户端,会出现下图示意的弹框提示,只能选择其他支付方式付款。
应用场景、跳转逻辑规则和注意事项,类似于支付宝。
04
总结
▼
以上通过支付宝和微信支付两个具体案例,分析了手机网页支付存在的跳转逻辑和注意事项。
实际开发过程中可能又会遇到各种问题:比如iOS端与Android端可能针对相同场景的操作设置有差异;部分浏览器有自己的限制规则,导致其他浏览器通用的操作在部分浏览器无法生效等。需要根据具体使用做好替代方案。
另外其中有不少细节点值得大家思考:
为什么微信没有提供像支付宝那样的中间页,而是把中间页的设置交给了商户自己决定?为什么微信没有提供网页端收银台,没有下载微信APP就无法使用微信支付?思考这些问题,肯定是要加入业务层面的考量。
希望在后续项目中遇到类似支付应用场景时,能够对你有所帮助。
参考文档:
支付宝文档中心-手机网站支付:
https://opendocs.alipay.com/open/203
微信支付开放文档:
https://pay.weixin.qq.com/wiki/doc/api/index.html
联系客服