Cette fois, je vais vous montrer comment mettre en œuvre le code de paiement trois en un de QQ, WeChat et Alipay en utilisant PHP. Quelles sont les précautions pour mettre en œuvre le code de paiement trois en un de. QQ, WeChat et Alipay en PHP, ce qui suit est un cas pratique, jetons un coup d'œil.
Préface
Lorsque je parcourais les blogs récemment, j'ai découvert que de nombreux blogs ont une fonction de pourboire, même s'il peut y avoir très peu de personnes qui Astuce Mais c'est toujours une pensée sincère qui permet aux blogueurs de savoir que les articles qu'ils écrivent sont utiles et peuvent aider les gens. Par conséquent, je voulais également ajouter une fonction de pourboire~
Analyse
Mais après avoir parcouru github, j'ai trouvé que le plug-in de pourboire c'est fondamentalement qu'ils sont tous identiques : numérisation de code QQ/analyse de code WeChat/analyse de code Alipay.
Certains cliquent sur chaque bouton et chaque code de paiement apparaîtra
Certains afficheront chaque code de paiement Montrez-les tous
Scannez ceci avec WeChat et scannez cela avec Alipay. Non seulement vous devez charger plusieurs codes QR, mais vous devez également ajouter des CSS/js pour les rendre beaux. En tant que programmeur paresseux et qui ne le fait pas. Je ne veux pas écrire ces choses, ce n’est pas possible.
Puis-je combiner QQ, WeChat et Alipay en un seul, simplement en scannant un code de paiement ?
Il y a un point de connaissance impliqué ici, qui est l'agent utilisateur. Les vues Web des principaux fabricants contiendront leurs propres informations UA, par exemple :
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
De cette façon, il est facile de distinguer s'il s'agit de QQ, WeChat ou Alipay. Scannez le code QR :
User-Agent contient QQ/ pour QQUser-Agent contient MicroMessenger pour WeChatUser-Agent contient AlipayClient pour AlipayPuisque vous pouvez distinguer chaque logiciel, vous pouvez créer une URL faite maison via Après avoir généré le code QR et scanné cette URL, l'UA du navigateur est déterminé à distribuer différents codes de paiement Le processus général est le suivant : Le client scanne le code-> Le serveur basé sur User-Agent détermine le type de client -> Renvoie respectivement différents processusCommencer à lancer
Premier décodage les messages générés depuis QQ, WeChat et Alipay Pour le code de paiement, vous pouvez aller ici ou ici pour le décoder en ligne. QQ : (Protocole https, impossible de réveiller QQ)Alipay : HTTPS://QR.ALIPAY.COM/FKX03549OW666ME7BXWF7A(Protocole https, peut réveiller directement l'application Alipay)WeChat : wxp://f2f09hjzo72AAYEITIBaolV-3cvGrDjE0q7k (le propre protocole de paiement de WeChat, ne peut pas réveiller WeChat) Vous pouvez écrire le code directement ci-dessous pour déterminer si l'agent utilisateur est Alipay, accédez directement au lien Alipay. S'il s'agit de QQ et WeChat, accédez au lien QQ et WeChat. Cependant, étant donné que QQ et WeChat ne peuvent pas réveiller directement l'application, vous pouvez directement afficher un code QR de QQ et WeChat, puis appuyer longuement pour scanner le code afin de finaliser le paiement.
Le code est le suivant :
<?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>
Explication détaillée de l'utilisation de l'espace de noms php
Explication détaillée de l'utilisation du noyau Laravel 5.5 architecture
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!