QQ微信支付宝三合一,只需要扫一个收款码就行呢?
这里涉及到一个知识点,则是User-Agent,大厂的webview都会携带自家的UA信息,比如说:

QQ:MQQBrowser/6.2 TBS/043221 Safari/537.36 QQ/7.0.0.3135
微信:MQQBrowser/6.2 TBS 043220 Safari/537.36 MicroMessenger/6.5.8.1060 NetType/4G Language/zh_CN
支付宝: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

这样就很轻松区分是QQ还是微信还是支付宝扫码了:

User-Agent 含有 QQ/ 为QQ
User-Agent 含有 MicroMessenger 为微信
User-Agent 含有 AlipayClient 为支付宝

既然能够区分每个软件,那就可以通过自建一个网址,通过二维码生成扫描这个网址后,判断浏览器的UA,来分发不同的收款码

大致的流程则为:

客户端扫码 -> 服务端根据 User-Agent 判断客户端类型 -> 分别返回不同的处理

重点在这里:

例:原来每个二维码中的都是一个链接:

QQ:https://i.qianbao.qq.com/wallet/sqrcode.htm?m=tenpay&a=1&u=17878127&ac=E04BE442991E7FFED28B3B5C3E187148F063DC3C6DACAD2983C87B482FC9E7AD&n=薛定谔的猫&f=wallet
(https 协议,无法唤醒QQ)
支付宝:HTTPS://QR.ALIPAY.COM/FKX03549OW666ME7BXWF7A
(https 协议,可直接唤醒支付宝 APP)
微信:wxp://f2f09hjzo72AAYEITIBaolV-3cvGrDjE0q7k

(微信自己的支付协议,无法唤醒微信)

然后,点击扫描完后,不管是支付宝还是微信,都会跳转到对应的链接完成支付!我们能不能加一个中间过程呢,就是我们做一个二维码,信息既不是微信也不是支付宝,而是我们的一个服务器的地址,当你扫描完后,会带着你的UA(上面有提到过,不懂就百度一下)来访问我们的服务器,这时候我们就可以根据你的UA判断你是用微信还是用支付宝扫的,然后做与之相对应的逻辑处理,这样就完成了多个二维码合一!

下面是代码实现:

代码如下:

[html] view plaincopy
  1. <?php
  2. $ua = $_SERVER['HTTP_USER_AGENT'];
  3. if (strpos($ua, 'MicroMessenger')) {
  4. $type = 'wepay';
  5. $name = '微信支付';
  6. //微信支付链接
  7. $url = 'wxp://f2f09hjzo72AAYEITIBaolV-3cvGrDjE0q7k';
  8. $icon_img = '<img src="http://ww2.sinaimg.cn/large/005zWjpngy1fojrwgr20oj303k03kglg.jpg" width="48px" height="48px" alt="'.$name.'">';
  9. }
  10. elseif (strpos($ua, 'AlipayClient')) {
  11. //支付宝链接
  12. $url = 'HTTPS://QR.ALIPAY.COM/FKX03479QJ0RVOS3UJLQAE';
  13. header('location: ' . $url);
  14. }
  15. elseif (strpos($ua, 'QQ/')) {
  16. $type = 'qq';
  17. $name = 'QQ钱包支付';
  18. //QQ钱包支付链接
  19. $url = 'https://i.qianbao.qq.com/wallet/sqrcode.htm?m=tenpay&a=1&u=17878127&ac=E04BE442991E7FFED28B3B5C3E187148F063DC3C6DACAD2983C87B482FC9E7AD&n=薛定谔的猫&f=wallet';
  20. $icon_img = '<img src="http://ww2.sinaimg.cn/large/005zWjpngy1fojrvmp427j303k03kjrb.jpg" width="48px" height="48px" alt="'.$name.'">';
  21. }
  22. else {
  23. $type = 'other';
  24. $name = '打赏作者';
  25. $url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
  26. $icon_img = '<img src="http://ww2.sinaimg.cn/large/005zWjpngy1fojs089x6tj303k03kjr6.jpg" width="48px" height="48px" alt="'.$name.'">';
  27. }
  28. $qr_img = '<img src="http://qr.liantu.com/api.php?text='.urlencode($url).'">';
  29. ?>
  30. <!DOCTYPE html>
  31. <html>
  32. <head>
  33. <meta charset="utf-8">
  34. <meta name="renderer" content="webkit">
  35. <meta http-equiv="X-UA-Compatible" content="IE=Edge, chrome=1">
  36. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  37. <title><?=$name?></title>
  38. <style type="text/css">
  39. * {margin: auto;padding: 0;border: 0;}
  40. html {-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%}
  41. body {font-family: -apple-system, SF UI Text, Arial, Microsoft YaHei, Hiragino Sans GB, WenQuanYi Micro Hei, sans-serif;color: #333;}
  42. img {max-width: 100%;}
  43. h3 {padding: 10px;}
  44. .container {text-align: center;}
  45. .title {padding: 2em 0;background-color: #fff;}
  46. .content {padding: 2em 1em;color: #fff;}
  47. .wepay {background-color: #23ac38;}
  48. .qq {background-color: #4c97d5;}
  49. .other {background-color: #ff7055;}
  50. </style>
  51. </head>
  52. <body class="<?=$type?>">
  53. <div class="container">
  54. <div class="title"><?=$icon_img?><h1><?=$name?></h1></div>
  55. <div class="content"><?=$type=='other'?$qr_img.'<h3>请使用支付宝、微信、QQ客户端扫码付款</h3>':$qr_img.'<h3>扫描或长按识别二维码,向TA付款</h3>'?></div>
  56. </div>
  57. </body>
  58. </html>

方式很多,可以根据自己需要实现!

QQ微信支付宝三合一收款码原理及代码实现相关推荐

  1. PHP版单文件index.php直接生成QQ微信支付宝三合一收款二维码完整源码

    打开EditPlus 5类似的工具新建一个utf-8格式的php页面,将下面的源码复制进去,然后修改前十二行对应的信息即可,下面的两千多行代码为全自动生成内容无需修改,改好后保存名为index.php ...

  2. 谨防上当:3月1日微信支付宝个人收款码是可以继续使用的-附图

    近日,相信大家都在关注关于3月1日后微信个人收款码和支付宝个人收款码还能否正常使用的问题. 身边很多亲朋好友都在议论,有好几种说法: 第一种说是不能用了,出新规了. 第二种是说要升级为个人经营收款码. ...

  3. 微信支付宝H5收款码扫码转账个人通道仿原生接口带备注可回调成功率9成以上

    微信支付宝收款码转账H5免签出码带备注可回调成功率99.9%支持重复支付多种轮询规则提高存活率         本收款系统,可使用支付宝个人码 企业支付宝收款码 微信个人码收款,可以完成即时到账收款接 ...

  4. 微信支付宝H5收款码扫码转账个人通道,灵活配置,仿原生接口,带备注可回调成功率9成以上

    微信支付宝收款码转账H5免签高并发出码带备注可回调成功率99.9%支持重复支付多种轮询规则提高存活率         本收款系统,可使用支付宝个人码 企业支付宝收款码 微信个人码收款,可以完成即时到账 ...

  5. 微信QQ支付宝三合一收款二维码实现原理

    大家可以先看看我网站的效果: 收款吧 - 三合一收款码在线生成 收款码三合一大致原理如下: 第一步.解析用户上传的微信支付.QQ钱包.支付宝收款二维码,获取收款链接地址. 第二步.用自己的网站程序生成 ...

  6. 微信和支付宝聚合收款码是怎么做的呢?

    无现金消费时代,移动支付领域占领着主导地位,商户收银台前显眼位置会放置微信支付.支付宝支付但是还有一种更方便的收款模式,就是把微信收款码.支付宝收款码合并成一个二维码,无论客户是使用支付宝扫码还是微信 ...

  7. 极客日报:微信、支付宝个人收款码可继续使用;苹果或将推出7款新Mac;Swift之父正式退出Swift核心团队|极客头条

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...

  8. 一种实现个人微信支付宝二维码收款接口的方法

    一种实现个人微信支付宝二维码收款接口的方法 只有企业资质才能申请微信支付宝接口,要想实现自动收款除了想办法搞到企业资质申请官方的微信支付接口外,还可以想办法通过个人收款码来实现. 1.上传个人微信支付 ...

  9. 免签约微信支付宝个人收款接口pxpay v2.0.4

    介绍: pxpay是一个微信宝个人收款接口.支持微信/宝 收款监控个人收款,无需签约宝.微信,为宝.微信的个人账户,提供即时到账收款API接口. 这个是客户端.安卓APP监控收款通知还有一个xpose ...

  10. 微信支付宝个人收款将于2022年3月1日起被禁止用于经营收款

    元宵节过完2月份也已经过半,即将到来的3月,我和大多数人一样开启工作模式,闲时也摸摸鱼关注下热点新闻,其中有一个新规即将正式施行,将影响各大小商户经营收款的政策,不知道你是否还记得? 2021年10月 ...

最新文章

  1. 2021年大数据Flink(二十七):Flink 容错机制 Checkpoint
  2. html怎么鼠标经过添加蒙版遮罩,js实现鼠标移动到图片产生遮罩效果
  3. java 判断天是星期及_java判断日期是星期几的方法总结
  4. echo回声不能用了_回声消除的昨天、今天和明天
  5. char数组拷贝wchar数组
  6. 卸载已有的navicat for mysql,安装破解版navicat for mysql
  7. [日常] win10系统设置电脑从不休眠睡眠
  8. 小学英语语法口诀巧记大全,简单实用!
  9. Java-dao模式
  10. 算法学习:归并排序, pta归并排序(递归法)
  11. C语言中的if、else if 的用法和区别
  12. 【讲座回顾】不会被AI取代的人
  13. 如何解决数据关联查询
  14. vue element 重新上传图片(将已经上传过的图片链接重新上传)
  15. 嵌入式开发之davinci--- 8148/8168/8127 中的图像采集格式Sensor信号输出YUV、RGB、RAW DATA、JPEG 4种方式区别...
  16. 基于Python的小游戏
  17. Android gridview 嵌套在listview中显示不全问题
  18. 一文带你读懂iOS应用如何使用TestFlight进行测试
  19. 国际经济与贸易专业与计算机联系,经济与贸易专业(国际经济与贸易方向).docx...
  20. 中南大学计算机组成原理,中南大学计算机组成原理作业答案

热门文章

  1. Office WPS如何在页眉页脚添加一条横线
  2. 在linux下如何修改DNS地址
  3. html5 放风筝,北京最全的放风筝5大最佳地点,地广人稀,不用花钱
  4. guass-jordan消元法求逆的原理
  5. 一叶落而知天下秋暨“今目标”反思
  6. 中国新能源汽车行业十四五展望规划与投资决策建议报告2022版
  7. border-sizing属性
  8. shiro原理_java:shiro高级篇——4
  9. 如何只用电脑登录微信
  10. NAS(Network Attached Storage)协议