Als ich kürzlich Blogs durchstöberte, stellte ich fest, dass viele Blogs über eine Trinkgeldfunktion verfügen. Obwohl es nur sehr wenige Leute gibt, die Trinkgeld geben, ist es immer eine aufmerksame Geste, die es Bloggern ermöglicht, zu wissen, dass die Artikel, die sie schreiben, nützlich sind und können anderen helfen. Deshalb wollte ich auch eine Trinkgeldfunktion hinzufügen~
Analyse
Aber nachdem ich mich auf Github umgesehen hatte, stellte ich fest, dass die Trinkgeld-Plug-Ins im Grunde die gleichen sind: QQ-Scan-Code/ WeChat Scannen Sie den QR-Code/Alipay scannen Sie den QR-Code.
Einige klicken auf jede Schaltfläche und jeder Zahlungscode wird angezeigt
Einige haben jeden Zahlungscode vollständig angezeigt
Scannen Sie diesen mit WeChat und scannen Sie diesen mit Alipay. Sie müssen nicht nur mehrere QR-Codes laden, sondern auch CSS/JS hinzufügen, damit es gut aussieht , ich möchte diese nicht schreiben. Für Programmierer ist das nicht möglich.
Kann ich QQ, WeChat und Alipay in einem kombinieren, indem ich einfach einen Zahlungscode scanne?
Hier gibt es einen Wissenspunkt, nämlich den User-Agent. Die Webansichten großer Hersteller enthalten ihre eigenen UA-Informationen, zum Beispiel:
QQ: MQQBrowser/6.2 TBS /043221 Safari/537.36 QQ/7.0.0.3135
WeChat: MQQBrowser/6.2 TBS 043220 Safari/537.36 MicroMessenger/6.5.8.1060 NetType/4G Language/zh_CN
Alipay : 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
Auf diese Weise kann leicht unterschieden werden, ob es sich um QQ handelt , WeChat- oder Alipay-Scancode Jetzt:
User-Agent enthält QQ/ ist QQ
User-Agent enthält MicroMessenger ist WeChat
User-Agent enthält AlipayClient ist Alipay
Da Sie jede Software unterscheiden können, können Sie selbst eine Website erstellen, die Website durch QR-Code-Generierung scannen und die UA des Browsers bestimmen, um verschiedene Zahlungscodes zu verteilen
Ungefähr Der Prozess ist:
Der Client scannt den Code-> Der Server bestimmt den Client-Typ basierend auf dem User-Agent-> Gibt jeweils verschiedene Prozesse zurück
Starten Sie das Werfen
Entschlüsseln Sie zunächst die von QQ, WeChat und Alipay generierten Zahlungscodes. Sie können hier oder hier gehen, um online zu entschlüsseln.
QQ: https://i.qianbao.qq.com/wallet/sqrcode.htm?m=tenpay&a=1&u=17878127&ac=E04BE442991E7FFED28B3B5C3E187148F063DC3C6DACAD2983C87B482FC9E7AD&n= er's Cat&f=wallet
( https-Protokoll, kann QQ nicht aufwecken)
Alipay: HTTPS://QR.ALIPAY.COM/FKX03549OW666ME7BXWF7A
(https-Protokoll, kann Alipay APP direkt aufwecken)
WeChat: wxp://f2f09hjzo72AAYEITIBaolV-3cvGrDjE0q7k
(WeChats eigenes Zahlungsprotokoll kann WeChat nicht aktivieren)
Sie können den Code direkt unten schreiben , Bestimmen Sie den Benutzeragenten. Wenn es sich um Alipay handelt, wird direkt zum Alipay-Link gesprungen. Wenn es sich um QQ und WeChat handelt, wird zum QQ- und WeChat-Link gesprungen.
Da QQ und WeChat die APP jedoch nicht direkt aktivieren können, können Sie direkt einen QR-Code von QQ und WeChat ausgeben und dann gedrückt halten, um den Code zu scannen und die Zahlung abzuschließen.
Der Code lautet wie folgt:
<?php $ua = $_SERVER['HTTP_USER_AGENT']; if (strpos($ua, 'MicroMessenger')) { $type = 'wepay'; $name = '微信支付'; //微信支付链接 $url = 'wxp://f2f09hjzo72AAYEITIBaolV-3cvGrDjE0q7k'; $icon_img = '<img src="http://ww2.sinaimg.cn/large/005zWjpngy1fojrwgr20oj303k03kglg.jpg" width="48px" height="48px" alt="'.$name.'">'; } elseif (strpos($ua, 'AlipayClient')) { //支付宝链接 $url = 'HTTPS://QR.ALIPAY.COM/FKX03479QJ0RVOS3UJLQAE'; header('location: ' . $url); } elseif (strpos($ua, 'QQ/')) { $type = 'qq'; $name = 'QQ钱包支付'; //QQ钱包支付链接 $url = 'https://i.qianbao.qq.com/wallet/sqrcode.htm?m=tenpay&a=1&u=17878127&ac=E04BE442991E7FFED28B3B5C3E187148F063DC3C6DACAD2983C87B482FC9E7AD&n=薛定谔的猫&f=wallet'; $icon_img = '<img src="http://ww2.sinaimg.cn/large/005zWjpngy1fojrvmp427j303k03kjrb.jpg" width="48px" height="48px" alt="'.$name.'">'; } else { $type = 'other'; $name = '打赏作者'; $url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; $icon_img = '<img src="http://ww2.sinaimg.cn/large/005zWjpngy1fojs089x6tj303k03kjr6.jpg" width="48px" height="48px" alt="'.$name.'">'; } $qr_img = '<img src="http://qr.liantu.com/api.php?text='.urlencode($url).'">'; ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="renderer" content="webkit"> <meta http-equiv="X-UA-Compatible" content="IE=Edge, chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title><?=$name?></title> <style type="text/css"> * {margin: auto;padding: 0;border: 0;} html {-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%} body {font-family: -apple-system, SF UI Text, Arial, Microsoft YaHei, Hiragino Sans GB, WenQuanYi Micro Hei, sans-serif;color: #333;} img {max-width: 100%;} h3 {padding: 10px;} .container {text-align: center;} .title {padding: 2em 0;background-color: #fff;} .content {padding: 2em 1em;color: #fff;} .wepay {background-color: #23ac38;} .qq {background-color: #4c97d5;} .other {background-color: #ff7055;} </style> </head> <body class="<?=$type?>"> <p class="container"> <p class="title"><?=$icon_img?><h1><?=$name?></h1></p> <p class="content"><?=$type=='other'?$qr_img.'<h3>请使用支付宝、微信、QQ客户端扫码付款</h3>':$qr_img.'<h3>扫描或长按识别二维码,向TA付款</h3>'?></p> </p> </body> </html>
Das obige ist der detaillierte Inhalt vonPHP realisiert die Konsistenz der QQ-, WeChat- und Alipay-Zahlungscodes. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!