QQ、支付寶、微信收款碼三合一

QQ、支付寶、微信收款碼三合一

收款啦

收款啦,是一款整合支付寶、微信、QQ收款碼的三合一系統。

採用 thinkPHP5.0 + MySQL + layui 開發完成

演示網站:收款啦

專案地址:GitHub

前言

無論是教學還是現成的程式碼,網路上幾乎隨處可見,為什麼我還要自己寫一套呢?

就是為了體現「套」字,包含上傳二維碼、識別二維碼、生成三合一收款碼,一整套流程服務。

絕大多數的三合一僅針對個人使用,而收款啦能為多用戶提供三合一服務。

但是它卻沒有後台,主要原因有兩個:

  1. 無需頻繁查看或修改配置,一次配置,終身使用。

  2. 作者懶癌發作(也導致沒有安裝嚮導)

  3. 如果確實需要,之後再說

程式碼本身是比較輕量級的,由於使用了框架導致體積增大。

好吧,本身也沒什麼技術含量,自己也幾乎用不到,寫給有需要的人類吧,順便水水文~~逃(-

原理

收款碼三合一,聽起來感覺很神奇,其實原理非常簡單!

所謂二維碼,其實就是包含了一系列字串的圖片罷了。無論是支付寶還是微信的收款碼,其本質上是一個包含了收款連結的二維碼。所以我們的思路是:檢測如果是支付寶瀏覽頁面,就給出支付寶的付款連結;如果是微信,就給出微信連結……

然後這裡涉及到一個知識點,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

微信:微信自己的支付協定,無法喚醒微信

下載

立即下載

安裝

  1. PHP >= 5.6 + MySQL

  2. 將應用程式部署到你的伺服器中

  3. public子目錄設定為對外公開目錄

  4. 將根目錄pay.sql匯入你的資料庫中

  5. 修改application\database.php為自己的資料庫資訊

  6. 設定網站偽靜態為thinkPHP

  7. 修改根目錄中config.php中的相關資訊

  8. 輸入你的域名進行訪問(必須按步驟來)

需要在外網中才有效!需要在外網中才有效!需要在外網中才有效!重要的事情說三遍(內部區域網路應該也有效,但那還有什麼意義)

作者

© 阿珏,根據 GPL 許可證發布。 如果可以的話,請打賞作者一份 mahua

部落格 · GitHub @阿珏

Powered by ❤️ with Hugo and Stack Theme.