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

原创 2017年01月20日 14:02:56

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

此项目已开源欢迎Start、PR、发起Issues一起讨论交流共同进步
https://github.com/Javen205/IJPay
http://git.oschina.net/javen205/IJPay

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支付

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

版权声明:本文为博主原创文章,欢迎转载,转载标明出处(http://blog.csdn.net/zyw_java)。微信公众号:javenlife

将微信和支付宝支付的个二维码合二为一

因公司需要将支付宝和微信的二维码合成一个,不管用户用支付宝扫还是微信扫都能打开对应的支付页面,在网上找了一些文章,很感谢各位大神的经验,我也记录下我是如何将两个二维码合二为一的~。 原理:支付宝或微信...
  • woshishuiaaaD
  • woshishuiaaaD
  • 2016年12月09日 19:52
  • 33619

万能收钱码-多合一收款二维码原理及源码-支持支付宝、微信、QQ

最近去超市看到好多商户一个二维码同时支持支付宝、微信、QQ扫描付款,所以回来自己上网研究了一下。整理了一个现成的源码,有需要的朋友可以下载自己研究下。      主要参考了芝麻二维码。无论是支付...
  • u010486495
  • u010486495
  • 2017年11月27日 13:54
  • 3727

微信支付,支付宝支付最新版封装,只需一行调用

  • 2016年06月03日 12:00
  • 1.67MB
  • 下载

微信 支付宝支付 集成后台demo---基于javaweb

  • 2016年09月06日 14:40
  • 21.07MB
  • 下载

java实现微信支付宝等多个支付平台合一的二维码支付(maven+spring springmvc mybatis框架)

首先申明,本人实现微信支付宝等支付平台合多为一的二维码支付,并且实现有效时间内支付有效,本人采用的框架是spring springmvc mybatis 框架,maven管理。其实如果支付,不需要my...
  • fanghuainihao
  • fanghuainihao
  • 2017年03月30日 17:46
  • 3339

如何实现一个二维码支持微信支付和支付宝支付

直接上一个网站吧,反正现在开发都是越来越简单了 https://www.hotapp.cn/shouqian     芝麻收款二维码 提交一个微信支付二维码,一个支付宝支付 二维码,会生成一个二维...
  • qq_33413264
  • qq_33413264
  • 2017年04月18日 15:45
  • 19428

支付宝-微信支付

最近项目上用到了调用微信和支付宝的第三方支付接口,因为以前没用过,所以这次用到了之后总结一下分享给大家,这里介绍两种支付方式,即app支付和扫码支付方式。 一、app支付(这里只介绍java端调...
  • Xie_LiSheng
  • Xie_LiSheng
  • 2017年10月31日 17:15
  • 449

织梦dedecms微信支付宝扫一扫二维码打赏

  • 2017年11月29日 17:10
  • 99KB
  • 下载

2017新版 微信、支付宝 条码支付二维码支付 delphi7

  • 2017年04月03日 20:11
  • 3.1MB
  • 下载

将微信和支付宝支付的个二维码合二为一

因公司需要将支付宝和微信的二维码合成一个,不管用户用支付宝扫还是微信扫都能打开对应的支付页面,在网上找了一些文章,很感谢各位大神的经验,我也记录下我是如何将两个二维码合二为一的~。 原理:支付宝或微信...
  • woshishuiaaaD
  • woshishuiaaaD
  • 2016年12月09日 19:52
  • 33619
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一张二维码集成微信、支付宝支付
举报原因:
原因补充:

(最多只允许输入30个字)