QQ、支付寶、微信收款碼三合一
收款啦 收款啦,是一款整合支付寶、微信、QQ收款碼的三合一系統。 採用 thinkPHP5.0 + MySQL + layui 開發完成 演示網站:收款啦 專案地址:GitHub 前言 無論是教學還是現成的程式碼,網路上幾乎隨處可見,為什麼我還要自己寫一套呢? 就是為了體現「套」字,包含上傳二維碼、識別二維碼、生成三合一收款碼,一整套流程服務。 絕大多數的三合一僅針對個人使用,而收款啦能為多用戶提供三合一服務。 但是它卻沒有後台,主要原因有兩個: 無需頻繁查看或修改配置,一次配置,終身使用。 作者懶癌發作(也導致沒有安裝嚮導) 如果確實需要,之後再說 程式碼本身是比較輕量級的,由於使用了框架導致體積增大。 好吧,本身也沒什麼技術含量,自己也幾乎用不到,寫給有需要的人類吧,順便水水文~~逃(- 原理 收款碼三合一,聽起來感覺很神奇,其實原理非常簡單! 所謂二維碼,其實就是包含了一系列字串的圖片罷了。無論是支付寶還是微信的收款碼,其本質上是一個包含了收款連結的二維碼。所以我們的思路是:檢測如果是支付寶瀏覽頁面,就給出支付寶的付款連結;如果是微信,就給出微信連結…… 然後這裡涉及到一個知識點,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 協定,無法喚醒QQ 支付寶:https 協定,可直接喚醒支付寶 APP ...