>  기사  >  백엔드 개발  >  WeChat 애플릿 작업 흐름도 기술의 PHP 구현

WeChat 애플릿 작업 흐름도 기술의 PHP 구현

PHPz
PHPz원래의
2023-05-31 19:51:331638검색

모바일 인터넷의 급속한 발전과 함께 WeChat 미니 프로그램은 사용자들 사이에서 점점 더 인기를 얻고 있으며, 강력한 프로그래밍 언어인 PHP도 미니 프로그램 개발 과정에서 중요한 역할을 합니다. 이 기사에서는 PHP에서 WeChat 애플릿 작업 흐름도를 구현하는 기술을 소개합니다.

  1. Get access_token

WeChat 애플릿을 사용하는 개발 과정에서는 먼저 WeChat 애플릿의 작동을 구현하는 데 중요한 자격 증명인 access_token을 얻어야 합니다. PHP에서 access_token을 얻는 코드는 다음과 같습니다:

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;
        }
    }

WeChat 공개 플랫폼에서 미니 프로그램을 생성할 때 $appid 및 $appsecret가 할당되는 곳입니다.

  1. 템플릿 메시지 보내기

다음으로 PHP를 사용하여 템플릿 메시지를 보낼 수 있습니다. 코드는 다음과 같습니다.

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);
    }

여기서 $access_token은 이전 단계에서 얻은 바우처이고, $openid는 다음과 같은 사용자의 openid입니다. 템플릿 메시지를 보내려고 합니다. $tem_id는 애플리케이션입니다. 템플릿 메시지 ID인 $data는 메시지 내용을 포함하는 배열입니다.

  1. 사용자 정보 가져오기

PHP는 사용자 닉네임, 아바타 등과 같은 사용자 관련 정보도 가져올 수 있습니다. 코드는 다음과 같습니다.

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;
    }

여기서 $access_token은 이전 단계에서 얻은 인증서이고 $openid는 사용자 정보를 얻기 위한 사용자 openid입니다.

  1. WeChat 결제 호출

WeChat 애플릿 개발 과정에서 사용자 결제와 관련된 단계는 PHP를 사용하여 구현할 수 있습니다. 코드는 다음과 같습니다.

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;
    }

여기서 $params는 결제 관련 정보가 포함된 배열이고, $key는 위챗 가맹점 플랫폼에 설정된 API 키입니다.

요약:

위 내용은 PHP에서의 WeChat 미니 프로그램 작동 프로세스의 전체 내용입니다. 이러한 기술을 통해 미니 프로그램 개발 작업을 보다 원활하게 수행할 수 있습니다. 물론 실제 운영에서도 프로그램 안전성, 효율성, 유지보수성 등의 요소를 고려하고 자신에게 가장 적합한 솔루션을 종합적으로 고려하고 활용해야 소규모 프로그램 개발 업무를 보다 효율적으로 완료할 수 있습니다.

위 내용은 WeChat 애플릿 작업 흐름도 기술의 PHP 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.