Maison développement back-end tutoriel php Implémenter la génération de code QR WeChat en PHP

Implémenter la génération de code QR WeChat en PHP

May 13, 2023 pm 04:01 PM
php 微信 二维码生成

Avec le développement et la vulgarisation de l'Internet mobile, WeChat est devenu un élément indispensable de la vie et du travail des gens. Afin de répondre aux besoins des utilisateurs, WeChat continue de lancer de nouvelles fonctions, dont la plus importante est le paiement WeChat. Pour utiliser le paiement WeChat, vous devez disposer d'une fonction de génération de code QR fiable. Cet article explique comment générer du code QR WeChat en PHP.

Tout d'abord, nous devons préciser qu'il existe deux façons de générer des codes QR WeChat, l'une est un code QR permanent et l'autre est un code QR temporaire. Le code QR permanent ne deviendra invalide que lorsque l'utilisateur effectuera activement une opération. Par exemple, si un code QR permanent est affiché sur une certaine page du centre commercial, le code QR ne deviendra invalide que lorsque l'utilisateur scannera le code QR et le fera. un achat. Le code QR temporaire expirera dans un certain délai, généralement 30 minutes.

Ensuite, nous expliquerons comment générer des codes QR permanents et des codes QR temporaires en PHP.

1. Génération de code QR permanent

Pour générer un code QR permanent, vous devez appeler l'interface de code QR dans le paiement WeChat. Voici comment appeler l'interface de code QR :

//引入Vendor下的自动加载文件
require_once("Vendor/autoload.php");

//设置appid、secret、商户号等信息
$appid = '';  //微信开放平台appid
$appsecret = ''; //微信开放平台appsecret
$merchant_id = '';  //商户号
$key = '';  //API密钥

//构造二维码接口调用参数
$api_url = 'https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=ACCESS_TOKEN';
$access_token = '';  //access_token需要通过调用微信开放平台的token接口获取
$expire_seconds = '';  //永久性二维码不需要该参数
$action_info = ['scene'=>['scene_id'=>1001]];  //永久性二维码的参数形式

//获取access_token
function getAccessToken()
{
    $appid = '';  //微信开放平台appid
    $appsecret = ''; //微信开放平台appsecret
    $api_url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' . $appid . '&secret=' . $appsecret;
    $api_result = file_get_contents($api_url);
    $api_result_arr = json_decode($api_result, true);
    return $api_result_arr['access_token'];
}

$access_token = getAccessToken();

//构造请求参数
$data = array(
    'expire_seconds' => $expire_seconds,
    'action_name' => 'QR_LIMIT_SCENE',
    'action_info' => $action_info
);

$json_data = json_encode($data);

//构造请求头
$header = array(
    'Content-Type: application/json;charset=utf-8',
    'Content-Length: ' . strlen($json_data)
);

//发送POST请求
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, str_replace('ACCESS_TOKEN', $access_token, $api_url));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$response = curl_exec($ch);
curl_close($ch);

//对响应数据进行处理
$json_obj = json_decode($response, true);
$ticket = $json_obj['ticket'];
$qrcode_url = 'https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=' . urlencode($ticket);
Copier après la connexion

2. Temporaire 2 La génération de. Code QR

La génération du code QR temporaire doit également appeler l'interface du code QR dans le paiement WeChat, et le paramètre expire_seconds doit être spécifié dans le paramètre d'appel de l'interface. Voici comment appeler l'interface de code QR temporaire :

//引入Vendor下的自动加载文件
require_once("Vendor/autoload.php");

//设置appid、secret、商户号等信息
$appid = '';  //微信开放平台appid
$appsecret = ''; //微信开放平台appsecret
$merchant_id = '';  //商户号
$key = '';  //API密钥

//构造二维码接口调用参数
$api_url = 'https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=ACCESS_TOKEN';
$access_token = '';  //access_token需要通过调用微信开放平台的token接口获取
$expire_seconds = 1800;  //临时性二维码的有效时间为30分钟
$action_info = ['scene'=>['scene_id'=>1001]];  //临时性二维码的参数形式

//获取access_token
function getAccessToken()
{
    $appid = '';  //微信开放平台appid
    $appsecret = ''; //微信开放平台appsecret
    $api_url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' . $appid . '&secret=' . $appsecret;
    $api_result = file_get_contents($api_url);
    $api_result_arr = json_decode($api_result, true);
    return $api_result_arr['access_token'];
}

$access_token = getAccessToken();

//构造请求参数
$data = array(
    'expire_seconds' => $expire_seconds,
    'action_name' => 'QR_SCENE',
    'action_info' => $action_info
);

$json_data = json_encode($data);

//构造请求头
$header = array(
    'Content-Type: application/json;charset=utf-8',
    'Content-Length: ' . strlen($json_data)
);

//发送POST请求
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, str_replace('ACCESS_TOKEN', $access_token, $api_url));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$response = curl_exec($ch);
curl_close($ch);

//对响应数据进行处理
$json_obj = json_decode($response, true);
$ticket = $json_obj['ticket'];
$qrcode_url = 'https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=' . urlencode($ticket);
Copier après la connexion

Ce qui précède est la méthode pour générer le code QR WeChat en PHP. Il convient de noter que dans le développement réel, nous devons également générer le paiement du compte officiel dans la plateforme marchande. , et une vérification de signature et un traitement de sécurité pertinents sont nécessaires pour garantir la sécurité et la fiabilité du code QR.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Apr 05, 2025 am 12:04 AM

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

Expliquez la liaison statique tardive en PHP (statique: :). Expliquez la liaison statique tardive en PHP (statique: :). Apr 03, 2025 am 12:04 AM

Liaison statique (statique: :) ​​implémente la liaison statique tardive (LSB) dans PHP, permettant à des classes d'appel d'être référencées dans des contextes statiques plutôt que de définir des classes. 1) Le processus d'analyse est effectué au moment de l'exécution, 2) Recherchez la classe d'appel dans la relation de succession, 3) il peut apporter des frais généraux de performance.

Quelles sont les méthodes PHP Magic (__construct, __ destruct, __ call, __get, __set, etc.) et fournir des cas d'utilisation? Quelles sont les méthodes PHP Magic (__construct, __ destruct, __ call, __get, __set, etc.) et fournir des cas d'utilisation? Apr 03, 2025 am 12:03 AM

Quelles sont les méthodes magiques de PHP? Les méthodes magiques de PHP incluent: 1. \ _ \ _ Construct, utilisé pour initialiser les objets; 2. \ _ \ _ Destruct, utilisé pour nettoyer les ressources; 3. \ _ \ _ Appel, gérer les appels de méthode inexistants; 4. \ _ \ _ GET, Implémentez l'accès à l'attribut dynamique; 5. \ _ \ _ SET, Implémentez les paramètres d'attribut dynamique. Ces méthodes sont automatiquement appelées dans certaines situations, améliorant la flexibilité et l'efficacité du code.

Expliquez l'expression de correspondance (PHP 8) et comment elle diffère du commutateur. Expliquez l'expression de correspondance (PHP 8) et comment elle diffère du commutateur. Apr 06, 2025 am 12:03 AM

Dans PHP8, les expressions de correspondance sont une nouvelle structure de contrôle qui renvoie différents résultats en fonction de la valeur de l'expression. 1) Il est similaire à une instruction Switch, mais renvoie une valeur au lieu d'un bloc d'instruction d'exécution. 2) L'expression de correspondance est strictement comparée (===), ce qui améliore la sécurité. 3) Il évite les éventuelles omissions de rupture dans les instructions de commutation et améliore la simplicité et la lisibilité du code.

Qu'est-ce que la contrefaçon de demande inter-sites (CSRF) et comment implémentez-vous la protection CSRF dans PHP? Qu'est-ce que la contrefaçon de demande inter-sites (CSRF) et comment implémentez-vous la protection CSRF dans PHP? Apr 07, 2025 am 12:02 AM

En PHP, vous pouvez prévenir efficacement les attaques du CSRF en utilisant des jetons imprévisibles. Les méthodes spécifiques comprennent: 1. Générer et intégrer les jetons CSRF dans la forme; 2. Vérifiez la validité du jeton lors du traitement de la demande.

La différence entre H5 et mini-programmes et applications La différence entre H5 et mini-programmes et applications Apr 06, 2025 am 10:42 AM

H5. La principale différence entre les mini programmes et l'application est: Architecture technique: H5 est basé sur la technologie Web, et les mini-programmes et l'application sont des applications indépendantes. Expérience et fonctions: H5 est légère et facile à utiliser, avec des fonctions limitées; Les mini-programmes sont légers et ont une bonne interactivité; Les applications sont puissantes et ont une expérience fluide. Compatibilité: H5 est compatible multiplateforme, les applets et les applications sont limités par la plate-forme. Coût de développement: H5 a un faible coût de développement, des mini-programmes moyens et une application la plus élevée. Scénarios applicables: H5 convient à l'affichage d'informations, les applets conviennent aux applications légères et les applications conviennent aux fonctions complexes.

Expliquez des types stricts (Declare (strict_types = 1);) en php. Expliquez des types stricts (Declare (strict_types = 1);) en php. Apr 07, 2025 am 12:05 AM

Les types stricts en PHP sont activés en ajoutant Declare (strict_types = 1); en haut du fichier. 1) Il force la vérification du type des paramètres de fonction et des valeurs de retour pour éviter la conversion de type implicite. 2) L'utilisation de types stricts peut améliorer la fiabilité et la prévisibilité du code, réduire les bogues et améliorer la maintenabilité et la lisibilité.

Que dois-je faire si le logiciel de sécurité de l'entreprise est en conflit avec les applications? Comment dépanner les logiciels de sécurité des teintes provoque l'ouverture des logiciels communs? Que dois-je faire si le logiciel de sécurité de l'entreprise est en conflit avec les applications? Comment dépanner les logiciels de sécurité des teintes provoque l'ouverture des logiciels communs? Apr 01, 2025 pm 10:48 PM

Problèmes de compatibilité et méthodes de dépannage pour les logiciels et applications de sécurité de l'entreprise. De nombreuses entreprises installeront des logiciels de sécurité afin d'assurer la sécurité intranet. Cependant, les logiciels de sécurité parfois ...

See all articles