一张二维码集成微信、支付宝支付

字数 314阅读 4735

解决方案是通过User-Agent 来判断扫描的来源

Http Header之User-Agent

User Agent中文名为用户代理,是Http协议中的一部分,属于头域的组成部分,User Agent也简称UA。它是一个特殊字符串头,是一种向访问网站提供你所使用的浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识。通过这个标 识,用户所访问的网站可以显示不同的排版从而为用户提供更好的体验或者进行信息统计。

几个例子

QQ

Mozilla/5.0 (iPhone; CPU iPhone OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12H143 Safari/600.1.4

微信

Mozilla/5.0 (iPhone; CPU iPhone OS 10_2 like Mac OS X) AppleWebKit/602.3.12 (KHTML, like Gecko) Mobile/14C92 MicroMessenger/6.5.3 NetType/WIFI Language/zh_CN

支付宝

Mozilla/5.0 (iPhone; CPU iPhone OS 10_2 like Mac OS X) AppleWebKit/602.3.12 (KHTML, like Gecko) Mobile/14C92 ChannelId(3) Nebula PSDType(1) AlipayDefined(nt:WIFI,ws:375|647|2.0) AliApp(AP/10.0.1.123008) AlipayClient/10.0.1.123008 Alipay Language/zh-Hans

具体实现

public class AllPayController extends Controller {
    protected final Log log = Log.getLog(getClass());
    
    public void index(){
        String userAgent = getRequest().getHeader("User-Agent");
        log.info(userAgent);
        int payWay = 0;
        String agent = userAgent.toLowerCase();
        if (agent.indexOf("micromessenger")>0) {
            //用户使用微信访问页面
            payWay = 1;
            System.out.println("微信...");
            
        }else if(agent.indexOf("alipayclient")>0){
            //用户使用支付宝访问页面
            payWay = 2;
            System.out.println("支付宝...");
        }
        
        renderText(payWay+" userAgent:"+userAgent);
    }
}

推荐阅读
Android版-微信APP支付
极速开发微信公众号之微信买单
极速开发微信公众号之公众号支付
极速开发微信公众号之扫码支付
极速开发微信公众号之刷卡支付
极速开发微信公众号之现金红包
Android版-支付宝APP支付支付宝Wap支付

记录学习的点滴,以此勉励不断奋斗的自己✌️✌️✌️ 如果对你有帮助记得点喜欢
源码下载地址

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
  • 科技带来了新的改变,几十年前看似不可能实现的事情已成为现实。曾经有人戏谑说,未来只有你想不到的,没有做不到的。手动...
  • 易烊千玺,这个名字我想你们肯定都知道,15岁的少年,他经历了我们很多没有经历过的,被粉丝骂,被迫让他退团,自己单飞...
  • 突然想要一个姐姐 在我的额头上按下一个红点 被强迫午睡 只喝热牛奶或白开水 做回那个总在心里惦记着小红花的少年 —...
  • 互联网行业从业者在面试的过程中经常会碰到这样一个问题,尤以测试人员和开发人员碰到的几率最高:请说一说你熟悉的几种排...