源碼 ASP源碼 PHP源碼 NET源碼 JAVA源碼 FLASH源碼 其它源碼

thinkphp實現QQ、支付寶、微信收款碼三合一支付系統

PHP源碼 HTML我幫您 1月前  次瀏覽

收款啦

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

采用 thinkPHP5.0 + MySQL + layui 完成

前言

不論是教程還是現成的代碼,在網上幾乎是遍地都是,為什么我還要自己寫一套呢?

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

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

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

但是它卻沒有后臺,原因主要有兩個:

  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. 輸入你的域名進行訪問(必須按步驟來)

需要在外網中才有效!需要在外網中才有效!需要在外網中才有效!重要的事情說三遍(里面局域網應該也有效,但那還有啥意義)

相關鏈接

發表評論

腾讯彩票兑奖