Maison >développement back-end >tutoriel php >Explication détaillée de l'exemple d'accès au développement php WeChat

Explication détaillée de l'exemple d'accès au développement php WeChat

墨辰丷
墨辰丷original
2018-06-01 14:32:122499parcourir

Cet article présente principalement en détail l'accès au développement de PHP WeChat et vérifie les demandes en vérifiant la signature. Les amis intéressés peuvent se référer à

WeChat, je pense que tout le monde le connaît, comme Alipay, il change tranquillement celui de tout le monde. mode de vie. Avec ce nouveau style de vie, de plus en plus de microservices ont commencé à entrer dans nos vies. Nous pouvons utiliser WeChat pour vérifier les factures, les remboursements et les paiements des cartes de crédit, Tencent a annoncé au public que le compte de service ouvre des fonctions de paiement et. neuf interfaces avancées. Grâce à ces interfaces, les développeurs peuvent utiliser WeChat pour contrôler à distance les téléviseurs, les réfrigérateurs, les machines à laver et même les cuiseurs à riz. Grâce à la fonction de micropaiement de WeChat, ils peuvent également acheter facilement des billets de cinéma et des téléphones portables en ligne, recharger et regarder des programmes payants sur Internet. , etc.

Ci-dessous, sur la base de ma compréhension personnelle, je décrirai brièvement la première étape du développement de WeChat, comment se connecter au serveur WeChat.

Si vous souhaitez vous impliquer dans le développement de WeChat, la première étape consiste à demander un compte officiel WeChat. Les comptes officiels sont divisés en comptes de service et comptes d'abonnement. Les comptes de service, comme leur nom l'indique, sont principalement utilisés pour fournir des services aux utilisateurs. Ils sont généralement utilisés par les entreprises ou les secteurs de services. Leurs fonctions sont plus puissantes que les comptes d'abonnement, mais ils présentent également des inconvénients. Le compte n’est autorisé à envoyer qu’un seul message de groupe par mois. Les comptes d'abonnement sont principalement utilisés pour fournir des informations et des informations. Ils sont généralement utilisés par les médias. Leurs fonctions sont plus faibles que celles des comptes de service, mais ils peuvent envoyer un message de groupe chaque jour. Les descriptions suivantes sont toutes basées sur des comptes de service.

Après avoir demandé le compte public WeChat, nous avons également besoin d'un serveur WEB externe pour faciliter l'interaction des données avec le serveur WeChat. Je n'entrerai pas dans les détails de cette étape. Baidu et Sina fournissent tous deux ce service.

Connectez-vous à la plateforme publique WeChat et sélectionnez « Fonction » -> « Fonction avancée » dans le menu de navigation de gauche. WeChat nous propose deux « Mode d'édition » et « Mode de développement ». , ces deux modes s'excluent mutuellement, c'est-à-dire que si le « Mode Édition » est activé, le « Mode Développement » doit être désactivé, et vice versa. Le « mode édition » est également appelé mode idiot. Les développeurs peuvent définir directement des menus sur la plateforme et définir des réponses automatiques et d'autres fonctions. La fonction de menu définie ici est relativement faible. Une fois que l'utilisateur a cliqué sur le menu personnalisé, il ne peut que répondre à un message ou ouvrir une page Web. Si vous devez effectuer d'autres actions en fonction du menu cliqué par l'utilisateur, vous devez utiliser. le « mode développement ».

Le prérequis pour utiliser le « mode développement » est que vous devez postuler pour devenir développeur.

Dans la première étape, vous devez spécifier l'URL pour recevoir les données du serveur WeChat, et vous devez également spécifier un TOKEN (qui peut être rempli arbitrairement par le développeur et utilisé pour générer un signature) pour vérification lors de l’accès.

La deuxième étape consiste à vérifier la validité de l'URL que vous avez spécifiée. Le serveur WeChat enverra une requête GET à l'URL que vous avez spécifiée. La requête comporte quatre paramètres.

Le développeur vérifie la demande en vérifiant la signature. S'il est confirmé que cette requête GET provient du serveur WeChat, veuillez renvoyer le contenu du paramètre echostr tel quel, alors l'accès prendra effet et vous deviendrez développeur avec succès, sinon l'accès échouera.

Le code d'inspection PHP est le suivant.

<?php

  $wechatObj = new wechatCallbackAPI();
  $wechatObj->valid(); 


  class wechatCallbackAPI {

    private $token = "WEIXIN";

    private $appId = "APPID";

    private $appSecret = "APPSECRET";
    
    private function checkSignature() {
      $signature = $_GET["signature"];
      $timestamp = $_GET["timestamp"];
      $nonce = $_GET["nonce"];  
          
      $tmpArr = array($this->token, $timestamp, $nonce);
      sort($tmpArr);
      $tmpStr = implode($tmpArr);
      $tmpStr = sha1($tmpStr);
      
      if($tmpStr == $signature) {
        return true;
      } else {
        return false;
      }
    }

    public function valid() {
      $echoStr = $_GET["echostr"];
      
      //valid signature, option
      if($this->checkSignature()){
        echo $echoStr;
        exit;
      }
    }
  }
?>

Résumé : Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.

Recommandations associées :

Explication détaillée des fonctions anonymes et précautions de PHP

Fonctions de connexion, d'enregistrement et de modification de mot de passe mises en œuvre par PHP

Utilisation de la fonction de rappel call_user_func_array en PHP


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:
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