Heim  >  Artikel  >  Backend-Entwicklung  >  PHP realisiert die Konsistenz der QQ-, WeChat- und Alipay-Zahlungscodes

PHP realisiert die Konsistenz der QQ-, WeChat- und Alipay-Zahlungscodes

小云云
小云云Original
2018-02-22 09:12:553094Durchsuche

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[&#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>

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!

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