支付宝、微信支付用同一二维码支付
中午去吃饭的时候,发现一家店里只有一个支付二维码,支付宝和微信扫一扫之后都能支付 Oops!和同事讨论了一下,回头自己又做了测试。其实原理很简单。
首先二维码是一个URL地址。无论是支付宝还是微信扫码后,都直接请求这个URL地址,在这个URL里根据HTTP请求头判断是扫码的是支付宝还是微信。如果是支付宝,就调用支付宝流程,如果是微信,就调用微信支付流程。
1 $userAgent = $_SERVER['HTTP_USER_AGENT']; 2 $userAgent = strtolower($userAgent); 3 if(strpos($userAgent, 'micromessenger') !== false){ 4 //微信支付逻辑 5 echo "weixin"; 6 } 7 if(strpos($userAgent, 'alipayclient') !== false){ 8 //支付宝支付逻辑 9 }
微信浏览器请求和支付宝请求的区别
微信浏览器请求头userAgent
Mozilla/5.0 (Linux; Android 5.1.1; 2014813 Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/37.0.0.0 Mobile MQQBrowser/6.2 TBS/88888888 Safari/537.36 MicroMessenger/6.5.4.1000 NetType/WIFI Language/zh_CN
支付宝请求头userAgent
Mozilla/5.0 (Linux; U; Android 5.1.1; zh-cn; 2014813 Build/LMY47V) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 UCBrowser/1.0.0.100 U3/0.8.0 Mobile Safari/534.30 Nebula AlipayDefined(nt:WIFI,ws:360|640|2.0) AliApp(AP/10.0.2.012305) AlipayClient/10.0.2.012305 Language/zh-Hans useStatusBar/true
分类:
微信
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律