Maison  >  Article  >  développement back-end  >  Implémentation PHP des techniques d'organigramme des opérations de l'applet WeChat

Implémentation PHP des techniques d'organigramme des opérations de l'applet WeChat

PHPz
PHPzoriginal
2023-05-31 19:51:331590parcourir

Avec le développement rapide de l'Internet mobile, les mini-programmes WeChat deviennent de plus en plus populaires parmi les utilisateurs, et PHP, en tant que langage de programmation puissant, joue également un rôle important dans le processus de développement des mini-programmes. Cet article présentera les techniques de mise en œuvre de l'organigramme des opérations de l'applet WeChat en PHP.

  1. Obtenir access_token

Dans le processus de développement de l'utilisation de l'applet WeChat, vous devez d'abord obtenir access_token, qui est un identifiant important pour réaliser le fonctionnement de l'applet WeChat. Le code pour obtenir access_token en PHP est le suivant :

function getAccessToken($appid,$appsecret){
        $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret";
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $output = curl_exec($ch);
        $arr = json_decode($output, true);
        curl_close($ch);
        if(isset($arr['access_token'])){
            return $arr['access_token'];
        }else{
            return false;
        }
    }

où $appid et $appsecret sont attribués lors de la création du mini programme sur la plateforme publique WeChat.

  1. Envoyer un modèle de message

Ensuite, vous pouvez utiliser PHP pour envoyer des modèles de messages, le code est le suivant :

function sendTemplateMsg($access_token,$openid,$tem_id,$data,$url='',$miniprogram=''){
        $template = array(
            'touser' => $openid,
            'template_id' => $tem_id,
            'data' => $data
        );
        if(!empty($url)){
            $template['url'] = $url;
        }
        if(!empty($miniprogram)){
            $template['miniprogram'] = $miniprogram;
        }
        $url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".$access_token;
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($template));
        $output = curl_exec($ch);
        curl_close($ch);
        return json_decode($output, true);
    }

où $access_token est le bon obtenu à l'étape précédente, $openid est l'utilisateur openid qui souhaite envoyer le modèle de message, $tem_id est l'application. L'ID du modèle de message, $data est un tableau contenant le contenu du message.

  1. Obtenir des informations sur l'utilisateur

PHP peut également obtenir des informations relatives à l'utilisateur, telles que le surnom de l'utilisateur, son avatar, etc. Le code est le suivant :

function getUserInfo($access_token,$openid){
        $url = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=$access_token&openid=$openid&lang=zh_CN";
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $output = curl_exec($ch);
        $arr = json_decode($output, true);
        curl_close($ch);
        return $arr;
    }

où $access_token est le certificat obtenu à l'étape précédente, et $openid est l'openid de l'utilisateur pour obtenir les informations utilisateur.

  1. Calling WeChat payment

Dans le processus de développement de l'applet WeChat, les étapes liées au paiement de l'utilisateur peuvent être implémentées à l'aide de PHP. Le code est le suivant :

function wxpay($params,$key){
        $url = 'https://api.mch.weixin.qq.com/pay/unifiedorder';
        $params['appid'] = YOUR_APPID;
        $params['mch_id'] = YOUR_MCHID;
        $params['nonce_str'] = md5(uniqid(rand(),true));
        $params['sign_type'] = 'MD5';
        $params['spbill_create_ip'] = $_SERVER['REMOTE_ADDR'];
        $params['notify_url'] = YOUR_NOTIFY_URL;
        $params['trade_type'] = 'JSAPI';
        $params['openid'] = YOUR_OPENID;
        ksort($params);
        $str = "";
        foreach($params as $k=>$v){
            if($v != "" && !is_array($v)){
                $str .= $k . "=" . $v . "&";
            }
        }
        $str .= "key=" . $key;
        $params['sign'] = strtoupper(md5($str));
        $xml = arrayToXml($params);
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
        $output = curl_exec($ch);
        curl_close($ch);
        $arr = xmlToArray($output);
        return $arr;
    }

où $params est un tableau contenant des informations relatives au paiement, et $key est la clé API définie sur la plateforme marchande WeChat.

Résumé : 

Ce qui précède représente l'intégralité du contenu du processus de fonctionnement du mini-programme WeChat en PHP. Grâce à ces techniques, le travail de développement du mini-programme peut être effectué plus facilement. Bien entendu, en fonctionnement réel, vous devez également prendre en compte des facteurs tels que la sécurité, l'efficacité et la maintenabilité du programme, et envisager et utiliser de manière globale la solution qui vous convient le mieux, afin de pouvoir effectuer plus efficacement de petites tâches de développement de programmes.

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