移动APP 支付场景
Native App支付
适用于商家在手机App应用中集成支付宝/微信支付功能。
商家APP调用支付宝/微信提供的SDK,SDK再调用支付宝/微信内的支付模块。支付完后跳回到商家APP内,最后展示支付结果。
目前支持手机系统有:iOS(苹果)、Android(安卓)。
场景介绍
以下以支付宝支付为例,说明in-app支付的使用场景,微信场景和支付宝类似:
步骤1:用户在商家App中选择商品下单、确认购买,进入支付环节,选择支付宝,用户点击确认支付,如图1;
步骤2:进入到支付宝页面,调起支付宝支付,出现确认支付界面,如图2;
步骤3:用户确认收款方和金额,点击立即支付后出现输入密码界面,如图3;
步骤4:输入正确密码后,支付宝端显示支付结果,如图4;
步骤5:自动回跳到商家App中,商家根据付款结果个性化展示订单处理结果,如图5。
交互细节
以下是支付场景的交互细节,请认真阅读,设计商户页面的逻辑:
-
用户打开商户APP选购商品,发起支付,商户后台调用开放服务网关接口,发起支付宝支付请求,用户进入支付流程。
-
用户完成支付后,商户后台调用开放服务网管接口查询支付结果,如果支付成功,展示支付成功页面,如果支付失败,展示支付失败页面。
-
商户后台可以收到来自开放服务网关支付成功回调通知,标志该笔订单支付成功。
注:(2)和(3)的触发不保证遵循严格的时序,都能做真正的支付成功的处理。
业务流程
流程详细说明
-
用户下单后[1.1],商户后台调用Native APP支付下单API提交支付请求给SnapPay后台[1.2];
-
SnapPay后台验证支付请求,返回支付宝微信的支付参数(sdk_params)[1.3];
-
商户的APP通过支付宝微信的SDK唤起支付宝微信,并传入支付参数[1.4],引导用户完成支付[1.5];
-
用户支付成功后,支付宝微信会把支付结果会返回给商户APP[2.1];
-
为确保支付确实成功,商户应调用查询订单API[2.2];
-
当查询得到成功返回后[2.3],更新订单状态[2.4],展示成功信息给用户[2.5];
-
支付成功后,支付宝微信发送异步通知给SnapPay[3.1],SnapPay后台会通知商户后台支付成功,请参考异步通知[3.2]。
微信Native App支付接入流程
-
商户需要在微信的开放平台申请入驻: https://open.weixin.qq.com/
-
审批通过之后,注册移动应用,通过后会得到移动APPID: https://pay.weixin.qq.com/wiki/doc/api/app/app_sl.php?chapter=8_5
-
商户得到APPID后,发送APPID和企业名称(建议申请微信APPID时的企业名称和注册SnapPay商户时的名称一致)给SnapPay客服 customerservice@snappay.ca 。SnapPay需要联系微信将移动APPID与服务商的商户ID做授权绑定。
-
商户开始接入开发
在微信开放平台找到手机应用的企业名称
SnapPay将发送下面的信息给微信进行绑定
服务商信息:
商户号:1509049871
机构商户名称:Snappay
公众号:wxb6ca1d115e8cbd4f
移动app信息:
移动应用AppID:wxba68e393b65f5d9b
子商户号:123456789
企业名称:Super Merchant Inc.