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

标签: 二维码 微信 支付宝 微信支付 支付宝支付
4405人阅读 评论(0) 收藏 举报
分类:

解决方案是通过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支付

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

查看评论

给信息化一个解释—--访国家信息中心副主任胡小明

给信息化一个解释 —访国家信息中心副主任胡小明        2002-4-28 计算机世界网       ● 优秀企业的诞生一定在信息化之前,希望信息化带来一个优秀的企业是永远办不到的。     ●...
  • Drate
  • Drate
  • 2003-07-09 22:35:00
  • 2384

手机支付宝,微信的请求userAgent

android手机: android6.0 支付宝:userAgent:mozilla/5.0 (linux; u; android 6.0.1; zh-cn; mi 5 build/mxb4...
  • haohan_lt
  • haohan_lt
  • 2018-01-04 13:19:42
  • 2138

通过user-agent判断是支付宝还是微信

user-agent 里面有很多信息,手机信息,浏览器信息等等
  • Summer_i
  • Summer_i
  • 2017-02-07 13:31:31
  • 4359

轻量级支付模块集成(微信支付,友店扫码,支付宝)支付整合

zzs 最后提交于 16小时前 . 初始版本 pay-java-ali 16小时前 zzs 初始版本 删除重命名 ...
  • maguanghui_2012
  • maguanghui_2012
  • 2017-02-18 10:51:25
  • 2338

php微信支付(仅Jsapi支付)详细步骤.----仅适合第一次做微信开发的程序员

本人最近做了微信支付开发,是第一次接触.其中走了很多弯路,遇到的问题也很多.为了让和我一样的新人不再遇到类似的问题,我把我的开发步骤和问题写出来,以供参考. 开发时间是2016/8/2,所以微信支付的...
  • csdn_dengfan
  • csdn_dengfan
  • 2016-08-08 15:48:10
  • 34649

支付宝:web页面扫码支付、网站支付、支付宝即时到账 + springmvc

一、场景:公司需要在网站上进行支付宝支付。 二、API:使用支付宝开放平台的支付能力-即时到账接口。支付宝开放平台链接 三、分析: 1、支付宝的文档比较容易看,主要是有相应的DEMO,我这里看的DEM...
  • u010246789
  • u010246789
  • 2016-05-27 14:32:01
  • 31294

通过user-agent判断用户是用QQ、微信还是支付宝打开链接或二维码

通过user-agent判断用户是用QQ、微信还是支付宝打开链接或二维码 function is_weixn_qq(){ var ua = navigator.userAgent.toLowerCa...
  • DarinZanya
  • DarinZanya
  • 2018-04-08 11:06:05
  • 50

如何判断是微信内置浏览器或者支付宝内置浏览器

通过支付宝或者微信客户端扫描一个带链接地址的二维码会调用内置的浏览器打开该网页,有一些应用场景需要我们明确知道是哪个客户端打开的该链接。下面是我测试的方法。搭建测试网页用jsp+tomcat部署了一个...
  • pony_maggie
  • pony_maggie
  • 2016-08-25 10:49:07
  • 16891

支付宝支付-扫码支付详解

我们接着上一篇文章支付宝支付-刷卡支付(条码支付)详解 继续来聊聊支付包扫码支付1、场景介绍扫码支付,指用户打开支付宝钱包中的“扫一扫”功能,扫描商户针对每个订单实时生成的订单二维码,并在手机端确认支...
  • zyw_java
  • zyw_java
  • 2017-05-08 23:32:29
  • 13666

【Java】快速集成微信支付和支付宝支付

本文介绍博主自己封装的一个微信支付和支付宝支付的library apppay_library:https://github.com/gumingwei/app_pay 本项目解决的问题仅限...
  • u010486495
  • u010486495
  • 2017-11-27 14:00:40
  • 564
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 21万+
    积分: 2678
    排名: 1万+
    博客专栏
    最新评论