千家信息网

Android聚合收款码背后的原理是什么

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇"Android聚合收款码背后的原理是什么"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看
千家信息网最后更新 2026年11月01日Android聚合收款码背后的原理是什么

这篇"Android聚合收款码背后的原理是什么"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Android聚合收款码背后的原理是什么"文章吧。

首先我们介绍一下微信Native支付,引用微信官网的解释:

Native支付是商户系统按微信支付协议生成支付二维码,用户再用微信"扫一扫"完成支付的模式。该模式适用于PC网站支付、实体店单品或订单支付、媒体广告支付等场景。

简单来讲就是商户后台调用微信支付接口,微信返回预支付交易的链接,格式如下:

weixin://wxpay/bizpayurl?sr=123456

然后商户将其转为二维码,提供给客户使用微信扫码支付。

这种支付方式可以应用在 PC 网站购物场景,比如说英雄联盟官网购买相关游戏道具:

既然微信Native支付最后可以变成二维码完成支付,那么聚合收款码是不是可以采用微信Native支付这种支付方式呢?

答案是可以,但是不适合,产品体验不太好。

最好使用微信支付另外一种支付产品JSAPI 支付。

至于原因,不要急,接下去看就会明白。

JSAPI 支付,又被称为公众号支付,名词解释引用一下官网介绍:

JSAPI 支付是用户在微信中打开商户的 H5 页面,商户在 H5 页面通过调用微信支付提供的 JSAPI 接口调起微信支付模块完成支付。

具体业务流程如下:

日常生活中,很多应用场景使用这种支付方式,比如说:极客时间公众号上购买课程

这种支付方式相对于微信Native支付,比较麻烦,还需要使用微信公众号登录授权功能,以此获取用户的 openid。

另外当我们调用微信 JSAPI 后台接口,拿到微信返回的相关参数之后,我们还需要使用微信的 JSSDK,这样才能唤起微信支付。

聚合收款码核心原理

了解完聚合支付的所需要的底层支付方式,下面我们来了解一下聚合收款码的核心原理。

聚合收款码业务流程如下:

第一步用户使用微信/支付宝 APP 扫码之后,将会打开一个收银台页面。

这个收银台页面可以自适应,不同 APP 显示不同的样式,比如支付宝打开收银台显示支付宝的 logo,微信打开就会显示微信的 logo。

第二步用户在收银台输入金额,点击支付之后将会唤起 APP 的支付弹窗。

好了,观察这个流程,我们可以发现扫码之后,后台应用需要识别出当前 APP 到底是微信还是支付宝。

那如何判断当前使用的 APP 呢?

其实这个原理很简单,在支付宝/微信打开一个链接,实际将会使用内置的浏览器发起了 HTTP 请求,而 HTTP 的请求头将会携带 User-Agent(UA),用来标识用户代理软件的应用类型、操作系统、软件开发商以及版本号。

微信/支付宝中浏览器发起 HTTP 请求,携带的 User-Agent 分别为:

支付宝UCBrowser/11.5.0.939 UCBS/2.10.1.6 Mobile Safari/537.36 AliApp(AP/10.0.15.051805) AlipayClient/10.0.15.051805 Language/zh-Hans微信MQQBrowser/6.2 TBS 043220 Safari/537.36 MicroMessenger/6.5.8.1060 NetType/4G Language/zh_CN

这里需要注意了,不同型号的手机,不同的版本 APP,User-Agent 不一定会一样,其实我们只需要判断是否包含某些关键字即可,比如说只要 User-Agent 包含 MicroMessenger 就是微信,包含 AlipayClient 就是支付宝。

下面使用 Java 代码为例:

String userAgent = request.getHeader("user-agent");if (Objects.equals(userAgent, "AlipayClient")) {    // 支付宝} else if (Objects.equals(userAgent, "MicroMessenger")) {    // 微信}

这个问题解决之后,后面的流程就很简单了,只要调用微信/支付宝的 JSAPI 支付接口,拿到相关参数之后,唤起支付。

准确来讲,支付宝那边 JSAPI 支付官方名称为支付宝生活号支付。

这里解释一下上面的问题,为什么聚合收款码不能使用微信Native支付呢?

主要是因为微信Native支付接口返回是一个微信自定义 schema 协议,只能通过微信扫码打开,唤起支付。

如何聚合收款码使用微信Native支付,收银台提交金额之后,需要将微信返回交易链接转成二维显示在页面,然后用户使用微信内置识别二维码功能唤起支付。

这样一来比较影响产品体验,降低支付的成功率。

支付宝也有类似微信Native支付支付接口-当面付扫码支付,成功调用之后也会返回支付链接。

那这里可以提大家提个小问题,聚合收款码是否可以使用支付宝当面付扫码支付接口那?




答案是可以的,而且体验比微信Native支付好。

这是因为支付宝返回链接是一个标准 HTTP 连接,如下:

https://qr.alipay.com/xxxx

这个链接只要在支付宝内中打开,就可以唤起支付。

所以如果聚合收款码使用支付宝当面付扫码支付接口,收银台金额提交之后,当拿到支付宝返回的支付链接,应用程序内只要使用 HTTP 302 跳转到支付链接,就可以唤起支付宝支付。

画外音:之前我也一直以为支付宝跟微信一样,不能使用。

那这样实际上聚合收款码底层使用支付方式就有了两种方案:

  • 微信 JSAPI 支付/支付宝生活支付

  • 微信 JSAPI 支付/支付宝面付扫码支付

那如何选择那? 个人建议使用第一种方案,微信、支付宝都采用 JSAPI 支付。

主要是因为只要 302 跳转唤起支付宝支付,就会关闭我们收银台页面,这样一来整个微信支付与支付宝支付流程就不太一样了

其次,当用户支付成功之后,JSAPI 支付还可以跳转到一个成功页面,这个页面我们可以支付结果展示,或者骚一点,还可以挂些广告,或者引流其他公号上。

但是如果使用付宝面付扫码支付,支付完成之后,页面就被关闭了,就没办法完成支付页面跳转。

聚合收款码核心流程

介绍完原理,下面主要介绍一下市面上主流聚合收款码业务流程,其实聚合收款码可以分为三类:

  • 静态聚合收款码

  • 动态聚合收款码

  • 银联静态二维码

静态聚合收款码就类似如下这种,需要用户主动输入金额,可以无限次使用。

而动态聚合收款码是只能使用一次,并且由商家指定金额,用户只要扫码就可以支付指定金额。

这种应用场景比如 B 站购买大会员:

银联静态二维码其实功能上与静态聚合收款码差不多,但是它多了支持银联支付的功能。

除了这个以外,最主要的区别是银联静态二维码是银联发码,背后对应的地址是银联的地址,类似如下:

https://qr.95516.com/00010000/xxx

静态聚合收款码流程

静态聚合收款码主要支付流程主要可以分为二步,第一步为登录授权。

这里的登陆授权一般使用微信、支付宝匿名登录授权功能,这样这个过程普通用户其实是无感知的。

画外音:如果是程序员的话,可能会感受到这个过程经过了多次跳转。

第二步,用户在收银台输入金额之后,应用内部将会创建相应的订单,然后再调用微信/支付宝的 JSAPI 支付。

另外,如果支付宝采用面付扫码支付这种支付方式的话,那么其实不需要第一步登录授权了,可以直接跳到收银台发起支付。

动态聚合收款码流程

动态聚合收款码其实与静态收款码总体比较类似,只不过创建动态码内部已经创建了相应的订单,后续流程与静态聚合收款码差不多。

银联静态二维码流程

如果你使用微信、支付宝扫码打开银联二维码,将会打开我们自己收银台页面,后续流程其实跟静态聚合收款码一模一样的。

但是如果你使用支付银联支付的 APP 扫码,比如说各大银行的手机 APP,美团,京东等,就会在这些 APP 内各自支付页面,然后完成支付。

我们银联二维码的功能,将会在银联后台报备一个跳转地址,比如说

https://www.heihei.com

当用户使用微信/支付宝访问银联二维码,银联后台自己识别访问请求 User-Agent ,然后后台根据规则拼接重定向地址。

拼接规则如下:

https://www.heihei.com?qrCode=URLENCODE(https://qr.95516.com/00010000/xxx)

以上就是关于"Android聚合收款码背后的原理是什么"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

支付 流程 用户 静态 页面 二维 二维码 收银台 收银 接口 链接 原理 方式 金额 应用 功能 后台 内容 动态 商户 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技名片 河南云网互联网络科技有限公司 猪兼强互联网科技 苏州互联网科技贷款公司 易通互联网络科技有限公司 睿民互联网科技 天扬科技互联网广告 科技类的互联网平台 衡水科技产业互联网平台 玖二柒互联网科技公司待遇 彤创互联网科技有限公司 和信科技工业互联网 广州市恰铎互联网科技有限公司 科技互联网的核心竞争力 锡山区互联网智能科技产品供应 伍佰万互联网科技怎么赚钱 从那以后互联网科技有限公司 保山互联网科技靠谱吗 互联网科技职业技能培训学校 互联网科技对化妆品行业 新华互联网科技学院 汇久创客互联网科技 团飞科技与伯堂互联网服务平台 互联网金融中的现代科技 洛阳昕诺飞互联网科技有限公司 世界互联网领先科技成果获奖 互联网企业科技类企业如何做账 江苏苏星互联网科技有限公司 陕西九四连强互联网科技有限公司 北京品多多互联网科技有限公司
0