聚合支付二维码如何实现自动识别扫码客户端跳转相应支付页面

🏷️ 365视频游戏世界 📅 2025-07-10 14:05:46 👤 admin 👀 5115 ❤️ 244
聚合支付二维码如何实现自动识别扫码客户端跳转相应支付页面

前言

前面有一篇《聚 合 支 付之流程概述》和大家聊了一下关于聚 合 支 付的一个简单流程。很多小伙伴私信我,如何实现聚 合 支 付 码的自动跳转呢?

其实,刚开始接触的时候我也很迷茫,一个静态的二维码,如何去判断他是微信、支付宝、翼支付、云闪付亦或是其他银行的app扫码的动作?怎们进行页面的跳转就成了一个难题!!!

要实现的效果

先说说,要想实现的具体功能是如何的?

1、在我们预先生成的批量二维码,在没有绑定具体商户的情况下,扫描这个二维码,跳转到响应的宣传页面。

2、当我们预先生成的二维码绑定了具体商户的情况下,微信扫描二维码跳转到微信收银台页面,支付宝扫描二维码跳转支付宝收银台页面。其他的各款app如果做了相应的开发的,一样的逻辑,跳转相应的收银台支付页面。

3、当我们的没有对接过的app来扫码,则给他一个提示页面,告诉他请用我们对结果的,诸如微信、支付宝、翼支付、云闪付来扫一扫。

实现的过程逻辑

首先,我先告诉大家一个明确的结果,就是二维码的内容,其实很好理解,就是我们的请求接口域名+我们的二维码内容,如:"https://qr.xxx.abcpay.com/19090400655255256993"这么一个链接。

那么会有同学问了,这么一个链接如何实现跳转呢?

我来说一下我的思路,我们可以理解上面这个链接就是一个接口地址,19090400655255256993为此二维码的唯一标识,这个唯一标识可以理解为钱6位为当前日期,中间10位按照自己的规则,最后4位则为生成的顺序号。

根据唯一标识,查看是否绑定了商户,没有绑定商户则返回宣传页。

微信侧可以返回小程序的具体页面(或者也可以是固定的宣传页面),其他的客户端也可以跳转固定宣传页面。

当绑定了商户之后,则返回相对应的收银台,这里会给大家贴出代码!

实现代码

应该很简单,也很容易理解,就是判断u s e r A g e n t是ALIPAYCLIENT还是MICROMESSENGER 就可以了。

ALIPAYCLIENT:支 付 宝 支 付

MICROMESSENGER:微 信 支 付

前端页面的实现

前端扫描二维码显示了其对应的支付渠道,html的页面代码如下

支付方式的判断

后端代码实现

java后端代码的其实原理是和前端一致的,也就是判断 u s e r A g e n t 是ALIPAYCLIENT还是MICROMESSENGER。

@RestController

public class InfoController {

@RequestMapping("{id}")

public String getPayType(@PathVariable("id") Long id,HttpServletRequest request) throws Exception {

// TODO 具体的 业务逻辑这里省略。只保留了判断是微信还是支付宝的判断

String userAgent = request.getHeader("User-Agent").toUpperCase();

String payType = null;

if (userAgent.indexOf("MICROMESSENGER") > 0) {

payType = "微信支付";

} else if (userAgent.indexOf("ALIPAYCLIENT") > 0) {

payType = "支付宝支付";

}

//TODO 根据 payType 的支付方式生成相应支付订单

return null;

}

}

好了,今天关于聚 合 支 付二维码如何实现自动识别扫码客户端跳转相应支付页面就到这里。

欢迎大家点击下方卡片,关注《coder练习生》

有需要聚合支付源码,公众号私信。非诚勿扰

相关推荐

十款三国题材手游盘点
best365官网手机版

十款三国题材手游盘点

📅 07-01 👀 2554
今天,我们应该如何认识“爨文化”
365视频游戏世界

今天,我们应该如何认识“爨文化”

📅 07-02 👀 9056
快手马甲怎么设置
best365官网手机版

快手马甲怎么设置

📅 07-02 👀 8664