Heim  >  Artikel  >  Backend-Entwicklung  >  So implementieren Sie den Drei-in-Eins-Zahlungscode von QQ, WeChat und Alipay mit PHP

So implementieren Sie den Drei-in-Eins-Zahlungscode von QQ, WeChat und Alipay mit PHP

php中世界最好的语言
php中世界最好的语言Original
2018-05-18 14:44:003228Durchsuche

Dieses Mal zeige ich Ihnen, wie Sie den Drei-in-Eins-Zahlungscode von QQ, WeChat und Alipay mit PHP implementieren. Was sind die Vorsichtsmaßnahmen für die Implementierung des Drei-in-Eins-Zahlungscodes von QQ, WeChat und Alipay in PHP, das Folgende ist ein praktischer Fall, schauen wir uns das an.

Vorwort

Als ich kürzlich Blogs durchstöberte, stellte ich fest, dass viele Blogs eine Trinkgeldfunktion haben, obwohl es möglicherweise nur sehr wenige Leute gibt, die dies tun Tipp: Es ist jedoch immer ein aufrichtiger Gedanke, der es Bloggern ermöglicht, zu wissen, dass die Artikel, die sie schreiben, nützlich sind und den Menschen helfen können. Deshalb wollte ich auch eine Trinkgeldfunktion hinzufügen~

Analyse

Aber nachdem ich mich auf Github umgesehen hatte, fand ich das Trinkgeld-Plug-in Im Grunde sind sie alle gleich: QQ-Code-Scannen/WeChat-Code-Scannen/Alipay-Code-Scannen.

Einige klicken auf jede Schaltfläche und jeder Zahlungscode wird angezeigt

Einige zeigen jeden Zahlungscode an Alle anzeigen

Scannen Sie dies mit WeChat und scannen Sie das mit Alipay. Sie müssen nicht nur mehrere QR-Codes laden, sondern auch CSS/JS hinzufügen, damit sie als fauler Programmierer gut aussehen. Ich möchte diese Dinge nicht schreiben, das ist nicht möglich.

Können wir QQ, WeChat und Alipay in einem kombinieren, indem wir einfach einen Zahlungscode scannen?

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

So lässt sich leicht unterscheiden, ob es sich um QQ, WeChat oder Alipay handelt. Scannen Sie den QR-Code:

User-Agent enthält QQ/ für QQ

User-Agent enthält MicroMessenger für WeChat

User-Agent enthält AlipayClient für Alipay

Da Sie jede Software unterscheiden können, können Sie Erstellen Sie eine selbst erstellte URL durch Nach dem Generieren des QR-Codes und dem Scannen dieser URL wird die UA des Browsers bestimmt, verschiedene Zahlungscodes zu verteilen

Der allgemeine Prozess ist:

Der Client scannt die Code-> Der Server bestimmt basierend auf dem User-Agent den Client-Typ die generierten Nachrichten von QQ, WeChat und Alipay. Den Zahlungscode finden Sie hier oder hier, um ihn online zu entschlüsseln.

QQ: https://i.qianbao.qq.com/wallet/sqrcode.htm?m=tenpay&a=1&u=17878127&ac=E04BE442991E7FFED28B3B5C3E187148F063DC3C6DACAD2983C87B 4 82FC9E7AD&n=Schrödingers Katze&f=Geldbörse (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, um festzustellen, ob der User-Agent ist Alipay. Springen Sie direkt zum Alipay-Link. Wenn es sich um QQ und WeChat handelt, springen Sie zum QQ- und WeChat-Link.

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[&#39;HTTP_USER_AGENT&#39;];
if (strpos($ua, &#39;MicroMessenger&#39;)) {
 $type = &#39;wepay&#39;;
 $name = &#39;微信支付&#39;;
 //微信支付链接
 $url = &#39;wxp://f2f09hjzo72AAYEITIBaolV-3cvGrDjE0q7k&#39;;
 $icon_img = &#39;<img src="http://ww2.sinaimg.cn/large/005zWjpngy1fojrwgr20oj303k03kglg.jpg" width="48px" height="48px" alt="&#39;.$name.&#39;">';
}
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="&#39;.$name.&#39;">';
}
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="&#39;.$name.&#39;">';
}
$qr_img = '<img src="http://qr.liantu.com/api.php?text=&#39;.urlencode($url).&#39;">';
?>
<!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==&#39;other&#39;?$qr_img.&#39;<h3>请使用支付宝、微信、QQ客户端扫码付款</h3>':$qr_img.'<h3>扫描或长按识别二维码,向TA付款</h3>'?></p>
 </p>
</body>
</html>

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben, achten Sie bitte auf andere Verwandte Artikel auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Detaillierte Erklärung der Verwendung des PHP-Namespace

Detaillierte Erklärung der Verwendung des Laravel 5.5-Kerns Architektur

Das obige ist der detaillierte Inhalt vonSo implementieren Sie den Drei-in-Eins-Zahlungscode von QQ, WeChat und Alipay mit PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP-Backtracking-AlgorithmusNächster Artikel:PHP-Backtracking-Algorithmus