聚合支付是通过一个码完成多种第三方支付的支付方式,小程序聚合支付是将原商户开发的聚合支付产品在不变更物料的情况下,将H5页面切换为小程序页面,客户单获取用户信息、唤起收银台等操作均在小程序内调用JS接口完成。实现小程序下单支付。钱包小程序可通过关联普通二维码+获取会员基础信息+小程序支付来实现在支付宝中扫码唤起支付的功能。
开发前准备
小程序开发前准备。
添加功能包
需要用到获取会员基础信息功能包和小程序支付功能包(需签约生效)。
开发者在开发管理功能列表点击添加功能来添加,如下图所示:
a1.png
a2.png
配置关联普通二维码规则
普通二维码:是指开发者使用工具对网页链接进行编码后生成的二维码,在这里指聚合支付的码。
小程序与普通二维码关联后,可以在不用变更线下物料的情况下由H5切换到小程序。配置请参考关联普通二维码接入流程,在此不再详细介绍。
获取用户信息(user_id)
小程序支付功能使用的是当面付接口,在小程序场景中buyer_id参数必填,buyer_id是用户支付宝小程序授权登录成功后获取到的支付宝user_id,获取方法可以参考获取会员基础信息中静默授权获取buyer_id部分,接口返回支付宝订单号trade_no(my.tradePay的tradeNO参数获取)。
小程序支付
小程序支付实现可以参考小程序支付,在此不再详细介绍。
聚合支付H5下单逻辑与代码示例在切换到小程序后的不同点对比如下:
原H5下单逻辑
小程序下单逻辑
客户端获取userid传递给服务端,赋值到buyer_id参数中,服务端调用接口发起下单请求获取trade_no
逻辑相同
客户端拿到trade_no后调用JS唤起收银台,其中用到的JS方法示例: // 通过传入交易号唤起快捷调用方式(注意tradeNO大小写严格) AlipayJSBridge.call("tradePay", { tradeNO: tradeNO }, function (data) { log(JSON.stringify(data)); if ("9000" == data.resultCode) { log("支付成功"); } }
客户端拿到trade_no后,调用小程序JSAPI唤起收银台,方式示例:
//注意tradeNO大小写严格
my.tradePay({ tradeNO: '2017111521001104105336677922', success: function(res) { console.log(res.resultCode); }, fail: function(res) { console.log(res.resultCode); }, });
调用接口的账号使用的是与支付宝签约账号,且前后端一致。
客户端调用JS的APPID使用小程序的账号;服务端使用账号不变,仍用原签约账号。原签约账号对应的签约关系、返佣关系等均不会受到影响。
详见参考文档:https://doc.open.alipay.com/docs/doc.htm?&docType=1&articleId=105672
详见参考文档:https://docs.alipay.com/mini/introduce/pay
重点关注调用逻辑和示例代码。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。