1.支付场景
我们在商店购买东西或者在饭店吃饭的时候使用手机支付时会遇到使用支付宝或者微信都只扫一个二维码就能完成付款,这种二维码被称为聚合码(可以使用多款app扫码支付的二维码)。
2.实现思路
首先我们需要做一个收银台界面a.html,可以输入数字点击付款的界面放到线上生成一个url访问路径。在做一个可操作获取用户信息的接口b.html,并生成二维码。
当用户扫码之后进入b.html,我们可以通过HTTP_USER_AGENT判断用户从那款支付app进入,然后获取对应的信息userid跳转到到收银台界面a.html进行支付操作。
3.b.html获取对应的用户信息和userid
我们进行支付的时候会把当前支付用户的userid提交给对应的支付公司进行下单,获取用户信息有两种方式,一种是用户主动授权,点击授权后我们可获取用户信息,第二种是静默授权,静默授权用户是没有感知的,实际商户是悄悄的就把用户的userid获取到。
支付的话一般都使用静默授权,获取对应支付app的userid请自行百度搜索
4.收银台支付
拿到对应的userid以后可以存在收银台a.html中,然后用户输入金额点击提交之后把对应的userid和支付金额传给对应的支付公司,然后拿到对应参数即可唤醒支付。
支付整体流程为
用户扫描二维码 -> 获取用户从那款支付app进入并获取userid -> 跳转收银台地址并把userid保存 -> 用户输入金额点击支付 -> 把对应的参数传给支付公司 -> 唤醒支付界面