宝哥软件园

PHP实现QQ、微信、支付宝三合一收款代码示例代码

编辑:宝哥软件园 来源:互联网 时间:2021-09-01

前言

最近在逛博客的时候,发现很多博客都有奖励的功能。虽然奖励的人可能很少,但始终是一颗心,可以让博主知道自己的文章有用,可以帮助人。所以,我也想增加一个奖励功能~

分析

但是访问github后发现,奖励插件基本都是一样的:QQ扫码/微信扫码/支付宝扫码。

有的点击每个按钮,出现每个收藏码

对于每个收集代码,都会显示一些

微信扫描这个,支付宝扫描那个,不仅加载了多个二维码,还增加了css/js让它好看。作为一个懒惰的程谁不想写这些东西,这可不行。

能不能让QQ微信支付宝三合一,只扫描一个收款码?

这里涉及到一个知识点,就是User-Agent,大厂的webview会携带自己的UA信息,例如:

QQ:MQQBrowser/6.2 TBS/043221 Safari/537.36 QQ/7 . 0 . 0 . 3135

微信:MQ browser/6.2 TBS 043220 safari/537.36 micro messenger/6 . 5 . 8 . 1060 netype/4g language/zh _ cn

支付宝:UC browser/11 . 5 . 0 . 939 ucbs/2 . 10 . 1 . 6 mobile safari/537.36 aliapp(AP/10 . 0 . 15 . 051805)支付宝客户端/10 . 0 . 15 . 051805 Language/zh-Hans

这样就很容易区分是QQ还是微信还是支付宝扫码:

用户代理包含QQ/是QQ

用户代理包含微信

用户代理包含支付宝客户端作为支付宝

由于每个软件都可以区分,你可以通过自己创建一个网站,通过二维码生成扫描网站,判断浏览器的UA来分发不同的支付码

一般流程是:

客户端扫码-服务器根据用户-代理判断客户端类型-分别返回不同的处理

开始折腾

首先对QQ、微信、支付宝生成的支付码进行解码,可以在这里在线解码,也可以在这里解码。

QQ:https://i .倩宝. qq.com/wallet/sqrcode.htm?m=tenpaya=1u=17878127 AC=e04 be 442991 E7 ffed 28 B3 b5 C3 e 187148 f 063d 3c 6 dacd 2983 c 87 b 482 fc 9 E7 adn=薛定谔的猫f=钱包

(https协议,无法唤醒QQ)

支付宝:https ://qr .支付宝.com/fkx03549ow66me7bxwf7a

(https协议,可以直接唤醒支付宝APP)

微信:wxp ://f2f 09 hjzo 72 ayitibaulv-3vgrdje 0q 7k

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

下面的代码可以直接写,判断用户代理如果是支付宝,会直接跳转到支付宝链接,如果是QQ和微信,会跳转到QQ和微信链接。

但是由于QQ和微信无法直接唤醒APP,所以直接输出一个QQ和微信的二维码,然后按下扫码实现支付。

代码如下:

?PHP $ ua=$ _ SERVER[' HTTP _ USER _ AGENT '];if (strpos($ua,' micro messenger '){ $ type='我们付费';$name='微信支付;//微信支付链接$ URL=' wxp ://f2f 09 hjzo 72 ayitibaulv-3vgrdje 0q 7k ';$ icon _ img=' img src=' http :http://ww 2。sinaimg。cn/large/005 zwjpngy 1 fojrwgr 20 OJ 303k 03 glg。jpg ' width=' 48px ' height=' 48px ' alt=' ' .$name .'';}elseif (strpos($ua,' AlipayClient '){//支付宝链接$url='HTTPS://QR .支付宝。COM/fkx 03479 QJ 0rvos3ujlqae ';标头(' location: ' .$ URL);}elseif (strpos($ua,' QQ/'){ $ type=' QQ ';$name='QQ钱包支付;//QQ钱包支付链接$ URL='https://i.qianbao.qq.com/wallet/sqrcode.htm?m=tenpaya=1u=17878127 AC=e04 be 442991 E7 ed 28 b3b 5 C3 e 187148 f 063d 3c 6 DAC ad 2983 c 87 b 482 fc 9 E7 adn=薛定谔的猫f=钱包;$ icon _ img=' img src=' http :http://ww 2。sinaimg。cn/large/005 zwjpngy1fojrvmp 427j 303k 03 jkrb。jpg ' width=' 48px ' height=' 48px ' alt=' ' .$name .'';} else { $ type=' other$name='打赏作者;$url='http://' .$_SERVER['HTTP_HOST'].$ _ SERVER[' REQUEST _ URI '];$ icon _ img=' img src=' http :http://ww 2。新浪img。cn/large/005 zwjpngy 1 fojs 089 x6tj 303k 03k Jr 6。jpg ' width=' 48px ' height=' 48px ' alt=' ' .$name.”;} $ QR _ img=' img src=' http :http://QR。莲图。com/API。PHP?文本=' .urlencode($url),' ' ';DOCTYPE htmlhtmlhead元字符集='utf-8 '元名称=“渲染器”内容='webkit '元http-equiv=' X-UA-兼容'内容=' IE=边,chrome=1 '元名称=“视口”内容='宽度=器件宽度,初始比例=1.0 '标题?=$name?/title style type=' text/CSS ' * { margin 3360 auto;padd : 0;边框: 0;} html {-ms-text-size-调整: 100%;-WebKit-Text-size-调整: 100% }正文{ font-family :-apple-system,SF UI Text,Arial,微软雅黑、平野无衬线国标、文全一微黑、无衬线;color : # 333 } img { max-width : 100%;} h3 { padding: 10px }。容器{ text-align :居中;} .title { padd : 2em 0;背景-color : # fff;} .内容{ padd : 2em 1 emcolor : # fff }。我们支付{底色: # 23 AC 38} .QQ {底色: # 4c 97 D5;} .其他{背景色: # ff 7055}/style/head dy class='?=$type?div class=' container ' div class=' title '?=$icon_img?h1?=$name?/h1/div class=' content '?=$type=='other '?$qr_img .h3请使用支付宝、微信、QQ客户端扫码付款/h3':美元qr_img .h3扫描或长按识别二维码,向钽付款/h3 '?/div /div/body/html总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

更多资讯
游戏推荐
更多+