• 所以要实现APP或者网站的微信登录,必须通过微信开放平台开发者资质认证(一年需要交纳300元)才能获得接口权限。 现在很多企业都已经实现了三证合一,这主要记录下三证合一填写申请时候的一些注意事项。 ...

    微信开放平台网址:https://open.weixin.qq.com

    申请微信开放平台的主要目的:实现APP或者网站的微信登录。

    所以要实现APP或者网站的微信登录,必须通过微信开放平台开发者资质认证(一年需要交纳300元)才能获得接口权限。


    现在很多企业都已经实现了三证合一,这主要记录下三证合一填写申请时候的一些注意事项。


    1、组织机构代码证
    目前仅支持中国大陆企业;
    注: 若由于三证合一原因没有组织机构代码证时可填统一社会信用代码;
    2、企业工商营业执照(副本)
    中国大陆工商局或市场监督管理局颁发的工商营业执照必须在有效期内,且须是当前企业最新的工商营业执照。
    注: 三证合一统一社会信用代码18位,可在营业执照注册号位置上填写“注册号”或“统一社会信用代码”;
    3、申请公函
    请下载申请认证公函(模版参考示例)
    填写认证公函需要提供公众号的原始ID,去我的账户信息查看原始ID。
    上传加盖企业公章的原件照片或扫描件
    4、其他证明材料
    可提交其他证明材料。
    注:上传文件需加盖企业公章的原件照片或扫描件
    支持.jpg .jpeg .bmp .gif .png格式照片,大小不超过2M。

    展开全文
  • 本地测试没有问题,部署到正式服务器,微信支付获取不到prepay id,怎么解决
  • 微信开放平台“开发资源”中网站... 据开发者资质认证处介绍:开发者资质认证通过后,微信开放平台帐号下的应用,将获得微信登录、智能接口、第三方平台开发等高级能力。 所以在微信第三方授权登陆获取用户信息...

    微信开放平台开发系列文章:

    微信开放平台开发第三方授权登陆(一):开发前期准备

    微信开放平台开发第三方授权登陆(二):PC网页端

    微信开放平台开发第三方授权登陆(三):Android客户端

    微信开放平台开发第三方授权登陆(四):微信公众号

    微信开放平台开发第三方授权登陆(五):微信小程序

     

    目录

    一、前期准备流程

    二、具体实现步骤

    1、注册邮箱账号

    2、注册微信开放平台账号、完善开发者资料

    3、申请开发者资质认证

    1)申请开发者资质认证

    2)选定类型

    3)填写“认证资料”

    4)填写“管理员信息”

    5)上传“企业基本信息”材料:

    6)进入填写发票及支付费用

    4、创建应用

    1)创建网站应用

    2)创建移动应用

    5、申请微信登陆功能

    三、注意事项

    四.主要提供材料

    五、特殊情况处理方案


    据微信开放平台“开发资源”中网站应用微信登陆功能开发指南描述:进行授权登陆接入前,需要先注册一个开发者账号,并拥有一个已经审核通过的网站应用,并获取AppID和APPSecret,然后申请微信登陆并通过审核后,可以接入流程进行开发。

    据开发者资质认证处介绍:开发者资质认证通过后,微信开放平台帐号下的应用,将获得微信登录、智能接口、第三方平台开发等高级能力。

    所以在微信第三方授权登陆获取用户信息开发前,需要做一些前期准备。目的是获取到AppID以及AppSecret,并成功申请微信登陆功能

    一、前期准备流程

    1、注册邮箱账号。

    2、根据邮箱账号注册微信开放平台账号,完善开发者资料。

    3、申请开发者资质认证、填写相关资料、填写发票、支付认证金额。提交并等待认证结果

    4、认证成功后,创建网站应用,填写基本信息、下载网站信息登记表填写并上传扫描件、填写授权回调域等。提交审核等待结果。

    5、认证成功后,创建移动应用,至少选择安卓、IOS、WP8其中一种平台

    6、创建应用成功后,申请微信登陆,等待审核结果,待审核通过后,可进行微信登陆的开发。

    注:创建应用和开发者资质认证可同时进行

    准备工作大致流程图

    二、具体实现步骤

    1、注册邮箱账号

    支持网易邮箱、QQ邮箱等常规邮箱。此邮箱将成为日后登陆开放平台的账号

     

    2、注册微信开放平台账号、完善开发者资料

    1)填写邮箱进行注册、开放平台将发送邮件到填写邮箱中,点击邮件上的地址进行开发者资料的完善。(开放平台注册地址:https://open.weixin.qq.com/cgi-bin/readtemplate?t=regist/regist_tmpl&lang=zh_CN

    2)开发者资料完善:主要填写注册人信息。如真实姓名、真实手机号码、联系地址、身份证号码。使用注册人的微信扫码绑定为管理员。提交信息。(邮件信息包含地址,点击后进行资料完善)

    3)完善资料后,根据邮箱及密码进行登录

     

    3、申请开发者资质认证

    1)申请开发者资质认证

    登录后,点击右上角邮箱号进入“基本资料”,点击“开发者资质认证”,显示未认证,点击“现在申请”。

    认证成功后,这里将变成认证成功:

    2)选定类型

    同意“微信开放平台开发者资质认证服务协议”,点击下一步。选择类型为“企业”,点击确定。

    注:类型包含了企业、网店商家、媒体(事业单位媒体、其他媒体)、政府及事业单位、其他组织(社会团体、民办非企业、其他组织)

    3)填写“认证资料”

    包括企业全称、组织机构代码、工商执照注册号、法定代表人/企业负责人姓名、经营范围(一般经营范围)、企业规模(选填)、企业开户名称、企业开户银行、企业银行账号。

    4)填写“管理员信息”

    包括账号管理员姓名、账号管理员部门与职位、账号管理员手机号、管理员座机、管理员电子邮件、身份证号。最后需要使用管理员的微信进行扫码。

    5)上传“企业基本信息”材料:

    需要准备的材料及要求如下

    I.组织机构代码证

    组织机构代码证必须在有效期范围内。必须是原件照片、扫描件或复印件加盖企业公章后的扫描件。图片不超2M

    II.企业工商营业执照

    中国大陆工商局或市场监督管理局颁发的工商营业执照,且必须在有效期内。要求原件照片、扫描件或者复印件加盖企业公章后的扫描件

    III.申请公函下载打印

    如果是一般企业需要先下载“一般企业申请认证公函”,个体下载“个体工商户申请认证公函”(见附件中“一般企业申请认证公函.doc”及“个体工商户申请认证公函.doc”或于网站中下载)。对下载的申请公函进行打印。

    IV.填写申请公函信息

    填写内容主要有(根据不同企业类型进行填写,只需要填写其中一个就可以):

    A.一般企业申请认证公函:

    a.企业信息:申请企业全称、官网(可缺省)、办公电话、办公地址、企业规模、企业简介(要说明企业经营范围,重要历程,主要产品和服务及覆盖区域等事项)、

    b.法定代表信息:法定代表人姓名、身份证号码、应用的Appid(这时还没有Appid,此项不填)、登陆Email、

    c.申请相关信息:申请认证理由、提供的服务、

    d.账号运营者信息 : 账号运营者姓名、部门及职位、身份证号、手机号、办公联系电话、电子邮箱

    e.填写认证申请公函:最后运营者签字并加盖企业章

    B.个体工商户申请认证公函:

    a.个体工商户信息:个体工商户全称、官网(可缺省)、办公电话、办公地址、规模、简介(主要说明经营范围,重要历程,主要产品和服务及覆盖区域等事项)

    b.经营者信息:经营者姓名、身份证号码、应用的Appid(这时还没有Appid,此项不填)、登陆Email

    c.申请相关信息:申请认证理由、提供的服务、

    d.账号运营者信息:账号运营者姓名、部门及职位、身份证号、手机号、办公联系电话、电子邮箱

    e.填写认证申请公函:最后运营者签字并加盖企业章

    V.对填写好的申请公函进行上传图片:

    上传加盖企业公章的原件照片或扫描件

    点击下一步。

    6)进入填写发票及支付费用

    等待认证结果。

    注:开发者认证费用为300.有效期一年,可在最后三个月申请年审续期

     

    4、创建应用

    1)创建网站应用

    进入开放平台首页(https://open.weixin.qq.com),点击上方“管理中心”,点击“网站应用”,点击“创建网站应用

    I.填写基本信息

    包括网站应用名称、英文名(选填)、应用简介、英文简介(选填)、应用官网。

    II.上传网站信息登记表扫描件及网站应用图片

           A. 网站信息登记表

    先下载《微信开放平台网站信息登记表》(见附件”微信开放平台网站信息登记表.doc”).然后进行填写打印。最后盖章,上传扫描件。图片不超过2M

    网站开放平台信息登记表填写内容包括:

    a. 网站信息:

    1)网站网址:要创建第三方准备使用的网址。

    2)网站备案号/许可证号

    3)主板单位名称/个人姓名

    4)单位/个人官网网址

    5)单位/个人所在地: 

    6)单位/个人简介:

    b. 开发者账户信息

    1)邮箱:注册微信开放平台的注册邮箱

    2)网站应用名称:与开放平台填写的网站应用名称一致

    c. 负责人信息

    1)  姓名

    2)  职务

    3)  联系人手机

    4)  责任人个人邮箱

    然后填写责任人签名。职务。以及填写日期,最后盖上申请公司的章

           B. 网站应用图片

    上传网站应用水印招聘。28*28像素以及108*108像素的png图片,大小不超过300k。

    上传完成后,点击下一步

    III.填写授权回调域

    填写合法的域名。第三方授权登陆后,只能回调到该域名下的页面。(即,开发的网站上线后的域名)

    审核时间大概7个工作日内(审核资料完整正确的话,大概3天左右能审核通过)

    审核不通过的话,会显示驳回,并且告知哪个环节审核不通过,可以重新修改再审,

    审核成功页面:

    2)创建移动应用

    进入开放平台首页(https://open.weixin.qq.com),点击上方“管理中心”,点击“移动应用”,点击“创建移动应用

    I.填写基本信息

    包括移动应用名称、英文名(选填)、应用简介、英文简介(选填)、应用官网。

    II.上传移动应用图片

        上传移动应用水印图片28*28像素的png图片,以及移动应用高清图片108*108像素的png图片。大小均不超过300k

    III.填写平台信息

         选择平台,一共有三种平台:ISO应用、Android应用和WP8应用

         至少选择一个平台,可以多选。

    A. IOS应用

           细分为iPhone和iPad,可多选

           这两种设备类型均需要提供“Bundle ID”(ISO应用唯一标识)、“测试版本Bundle ID”(ISO应用测试版本的BundleID)、“AppStore下载地址”(选填)

    B.Android应用

            需要提供 “应用签名” 和 “应用包名”,以及“应用下载地址(选填)”

         应用签名可以使用签名生成工具直接从安装当前应用的手机获取,应用签名由开发者签名该应用的keystore文件决定

         应用包名在manifest文件里声明,要和正式发布应用的包名一致。

    C.WP8 应用

            WP8应用只需要填写“应用下载地址(选填)”就可以了。

    注意:应用若还没有提交到应用市场,下载地址等可以暂时为空,提交到应用市场后,可修改下载地址。

     

    注:

    1.审核将在三个工作日内完成,目前只审核开发者的资质和真实性,不涉及应用内容本部,不需要开发者提交ipa文件或将含微信SDK的版本在AppStore上线后再审核,但要求开发者提供该应用已经上线的版本的下载地址

    2.同一应用在不同平台的版本应共用一个AppID

    审核成功后的页面(Android)

    5、申请微信登陆功能

    成功创建应用并审核通过后,点击应用右方“查看”可以查看应用详情。

    在“接口信息”一栏中,查看当前应用拥有的接口权限。

    选中“微信登陆”接口,点击右方申请开通,开通微信登陆功能。

     

    三、注意事项

    1、开发者资质认证结果只有成功或失败两种情况。审核费用与最终是否审核通过无关。每申请一次,就需要支付一次审核服务费用

    2、我方在完成在线申请及资料提交流程,并完成审核服务费用支付后,腾讯会在15个工作日内展开认证工作,我方应积极配合腾讯及第三方审核公司的认证需求,并有权随时了解、查询认证进度

    3.认证失败原因可能情况:

    1)由于我方原因,经腾讯三次系统通知用户调整申请内容,我方仍未能满足开发者资质认证要求的;

    2)由于我方原因:自用户付费之日起三十日,我方仍未能满足开发者资质认证要求之一;

    3)因其他原因而不能认证成功的情形

    4、网站应用和移动应用一个开发者最多只能登记10个。

     

    四.主要提供材料

    主要提供材料,详情见“具体实现步骤

    1. 微信开放平台登陆邮箱
    2. 开发者个人详细信息
    3. 企业信息及法人(负责人)信息(包括官网等)
    4. 企业账号管理员信息(包括微信扫码)
    5. 企业章
    6. 应用官网及备案号/许可证。 应用图标。

     

    五、特殊情况处理方案

    1.若我方向腾讯或者第三方审核机构提供的资料和信息如有变更的,应当及时采取以下措施:

    1)如处于认证过程中的资料和信息发生变更,用户应立即通知腾讯或负责认证订单的第三方审核机构更新有关资料及信息;

    2)如认证成功后资料和信息发生变更,用户应及时申请补充订单变更有关资料及信息;

    3)如认证成功后腾讯发现资料和信息存在错误,用户应及时申请补充订单更正有关资料及信息。

    展开全文
  • 报错如图所示。 一开始是以为微信公众平台没有添加开发者,管理员也不行。后面发现是开发者工具里面的AppID不对,查看更多,有个详情, 把这个默认的AppID换成自己的就好了 ...

    报错如图所示。

    一开始是以为微信公众平台没有添加开发者,管理员也不行。后面发现是开发者工具里面的AppID不对,查看更多,有个详情,

    把这个默认的AppID换成自己的就好了

    展开全文
  • 微信开放平台的开发

    2019-11-25 18:05:12
    微信公众平台-第三方平台(简称第三方平台)开放给所有通过开发者资质认证后的开发者使用。在得到公众号或小程序运营者(简称运营者)授权后,第三方平台开发者可以通过调用微信开放平台的接口能力,为公众号或小...

    概念

    微信公众平台-第三方平台(简称第三方平台)开放给所有通过开发者资质认证后的开发者使用。在得到公众号或小程序运营者(简称运营者)授权后,第三方平台开发者可以通过调用微信开放平台的接口能力,为公众号或小程序的运营者提供账号申请、小程序创建、技术开发、行业方案、活动营销、插件能力等全方位服务。同一个账号的运营者可以选择多家适合自己的第三方为其提供产品能力或委托运营。

    写此篇博客的缘由

    由于腾讯文档的极其简陋,导致很多开发者(我)多走了许多弯路。所以我立下誓言如果我这边开发完成,我一定搞篇博客,给后来者指条路,因为腾讯实在太坑了,废话就不啰嗦了,直接开讲。

    第一步:创建第三方平台

    1).在微信开放平台-管理中心-第三方平台中创建第三方平台账号。创建第三方平台

    2).选择“平台型服务商类型”创建第三方平台。填写第三方平台的基本信息. 填写基本信息

    3).设置相关权限信息,具体权限集信息可参考:第三方平台权限说明
    4).填写开发资料的信息说明, 可参考:第三方平台申请资料说明

    第二步:调试开发

          接收第三方验证票据(component_verity_ticket

    在第三方平台创建审核通过后,微信服务器会向其“授权事件接收URL”每隔10分钟定时推送component_verify_ticket。第三方平台方在收到ticket推送后也需进行解密,接收到后必须直接返回字符串success。

    /**
         * 用于接受微信传来的ticket
         *
         * @return string
         */
        public function authCallback(){
    
            $xml_msg=file_get_contents('php://input');
    
            $msg=array(
                "timeStamp"  => empty($_GET['timestamp'])     ? ""    : trim($_GET['timestamp']) ,
                "nonce"     => empty($_GET['nonce'])     ? ""    : trim($_GET['nonce']) ,
                "msg_sign"   => empty($_GET['msg_signature']) ? ""    : trim($_GET['msg_signature'])
            );
           //第三方平台的配置信息
            $wx_settins=[
       
                   'app_id'  => env('WECHAT_OPEN_PLATFORM_APPID', ''),
                   'secret'  => env('WECHAT_OPEN_PLATFORM_SECRET', ''),
                   'token'   => env('WECHAT_OPEN_PLATFORM_TOKEN', ''),
                   'aes_key' => env('WECHAT_OPEN_PLATFORM_AES_KEY', ''),
           ];
    
            $result = $this->component_decode($xml_msg,$msg,$wx_settins);
            $ticket = WechatTicket::where('ticket', $result)->get();
            if(!count($ticket)){
                $Data=[
                    'appid'=>open_platform_app_id,
                    'ticket'=>$result,
                    'created_at'=>date('Y-m-d H:i:s')
                ];
                WechatTicket::insert($Data);
            }
            return 'success';
        }

    注意1:component_verity_ticket建议每次接受都进行写入缓存/数据库/文件

    注意2:微信发送的请求中总共有5个参数,具体如下:

    时间戳 timestamp,随机数nonce , encrypt_type(加密类型,为aes)和msg_signature(消息体签名,用于验证消息体的正确性)以及xml内容 

    XML内容

    <xml>
    
    <AppId></AppId>
    
    <CreateTime>1413192605 </CreateTime>
    
    <InfoType> </InfoType>
    
    <ComponentVerifyTicket> </ComponentVerifyTicket>
    
    </xml>
    
    

    注意3:对上述XML内容解密

    解密/加密方式都是aes,

    需要在创建第三方平台时填写开发资料时填写的:消息验证token,消息加解密key,appid

    和微信请求来的参数:msg_signature(签名),timestamp(时间戳),nonce(随机数),postDataStr(post来的数据字符串),进行校验和解密成明文内容。然后提取出ComponentVerifyTicket进行写入缓存/数据库/文件(后续所有的操作都需要用到)

           获取令牌(component_access_token

    第三方平台component_access_token是第三方平台的下文中接口的调用凭据,也叫做令牌(component_access_token)。每个令牌是存在有效期(2小时)的,且令牌的调用不是无限制的,请第三方平台做好令牌的管理,在令牌快过期时(比如1小时30分)再进行刷新.

      /**
         * 获取component_access_token
         *
         * @return bool|string
         */
        public function getComponentAccessToken()
        {
            $componentAccessToken=Redis::get('component_access_token');
            if(!$componentAccessToken){
                // 获取最新的ticket
                $ticket = WechatTicket::where('appid', $this->open_platform['open_platform']['app_id'])
                    ->orderBy('created_at', 'DESC')
                    ->limit(1)
                    ->select(['ticket'])
                    ->first();
                $this->componentVerifyTicket = $ticket->ticket;
                $url = "https://api.weixin.qq.com/cgi-bin/component/api_component_token";
                $postData = array(
                    "component_appid" =>open_platform_app_id,
                    "component_appsecret" => open_platform_secret,
                    "component_verify_ticket" => $this->componentVerifyTicket
                );
                $componentAccessTokenReq = $this->http($url, $postData, 'POST');
                $componentAccessTokenArr = json_decode($componentAccessTokenReq, true);
                $componentAccessToken = $componentAccessTokenArr['component_access_token'];
                Redis::setex('component_access_token', 5400, $componentAccessToken); //有效时间2个小时,缓存一定要小于两个小时
            }
            return $componentAccessToken;
        }
    1. 判断token未过期直接返回(不要频繁的请求token,微信有请求次数限制)
    2. 用最新的ticket
    3. 拼装请求数据
    4. 发送Https请求并获取结果
    5. 解析结果并缓存token

           获取预授权码(pre_auth_code

    该API用于获取预授权码。预授权码用于公众号或小程序授权时的第三方平台方安全验证

    /**
         * 获取预授权码
         *
         * @param string $componentAccessToken
         * @return bool|string
         */
        public function getPreAuthCode(string $componentAccessToken)
        {
            $url = "https://api.weixin.qq.com/cgi-bin/component/api_create_preauthcode?component_access_token=" . $componentAccessToken;
            $postData = array(
                "component_appid" => $open_platform_app_id, //第三方平台的APPID
            );
    
            return OpenWechat::newInstance()->http($url, $postData, 'POST');//发送post请求
        }

    重定向到授权页,引入用户进入授权页

    第三方平台方可以在自己的网站:中放置“微信公众号授权”的入口,引导公众号进入授权页。授权页网址为

    https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid=xxxx&pre_auth_code=xxxxx&redirect_uri=xxxx

    该网址中第三方平台方需要提供第三方平台方appid、预授权码和回调URI(授权成功后直接跳转的页面),

    步骤:

    • 在第三方平台指定的域名下做一个简单的页面作为授权页的入口
    • 获取pre_auth_code
    • 替换重定向的url的参数

       

     /**
         * 公众号授权
         *
         * @param Request $request
         * @return string
         */
        public function openOauth(Request $request){
            // 1、获取component_access_token
            $componentAccessToken= OpenWechat::getComponentAccessToken();
            if($request->has('auth_code')){
                // 存在auth_code 说明前两个接口已请求过
                // 4、使用授权码换取公众号或小程序的接口调用凭据和授权信息
                $authorization = $this->getAuthToken($componentAccessToken,$request->input('auth_code'));
                $authorization_info = json_decode($authorization,true);
                $whereData=['authorizer_appid'=>$authorization_info['authorization_info']['authorizer_appid']];
                $updataData=[
                    'authorizer_access_token'=>$authorization_info['authorization_info']['authorizer_access_token'],
                    'authorizer_refresh_token'=>$authorization_info['authorization_info']['authorizer_refresh_token']
                ];
                WechatAccount::updateOrCreate($whereData,$updataData);
            }else{
                // 2、获取预授权码
                $preAuthCodeReq = $this->getPreAuthCode($componentAccessToken);
                $preAuthCodeArr = json_decode($preAuthCodeReq,true);
                $preAuthCode = $preAuthCodeArr['pre_auth_code'];
    
                // 3、引导进入授权页面
                $url = "https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid=". $this->open_platform['open_platform']['app_id'] ."&pre_auth_code=". $preAuthCode ."&redirect_uri=".$request->fullUrl();
                return view('wechat.auth', [
                    'url' => $url,
                ]);
            }
    
            return 'success';
        }

    注意:接收授权方授权请求并一定要保存授权方信息

    在第四步后重定向到授权页后,在授权页上会有一个二维码,微信公众号管理员(开发者的权限不行)通过的使用本人微信扫描二维码对第三方平台进行授权,在公众号管理员扫描二维码后,第三方平台后台给定的回调地址(redirect_uri将会收到一条请求,请求中包含了授权方的authorization_code和authorization_code的有效期 ;

    1. 使用authorization_code换取授权方的authorizer_access_token和authorizer_refresh_token。
    ​
    /**
         * 获取公众号信息包括token refresh_token
         *
         * @param string $componentAccessToken
         * @param string $authCode
         * @return bool|string
         */
        private function getAuthToken(string $componentAccessToken, string $authCode)
        {
            $url = "https://api.weixin.qq.com/cgi-bin/component/api_query_auth?component_access_token=" . $componentAccessToken;
            $postData = array(
                'component_appid' => , //第三方app_id
                "authorization_code" => $authCode
            );
    //        return $this->http($url, $postData, 'POST');
            return OpenWechat::newInstance()->http($url, $postData, 'POST');
        }
    
    ​

    步骤:

    • 获取第三方平台的token
    • 获取授权方授权信息
    • 获取授权方账号信息进行保存

    获取/刷新接口调用令牌

    在公众号/小程序接口调用令牌(authorizer_access_token)失效时,可以使用刷新令牌(authorizer_refresh_token)获取新的接口调用令牌。

    注意: authorizer_access_token 有效期为 2 小时,开发者需要缓存 authorizer_access_token,避免获取/刷新接口调用令牌的 API 调用触发每日限额

       /**
         * 更新authorizer_access_token
         *
         * @return bool|string
         */
        public function UpdateAuthorizerAccessToken($authorizer_appid)
        {
            $component_access_token=$this->getComponentAccessToken();
            $old_authorizer_refresh_token= WechatAccount::where("authorizer_appid",$authorizer_appid)->first(['authorizer_refresh_token']);
            $url="https://api.weixin.qq.com/cgi-bin/component/api_authorizer_token?component_access_token=$component_access_token";
            $postData = array(
                "component_appid" => $this->open_platform['open_platform']['app_id'],
                "authorizer_appid" => $authorizer_appid,
                "authorizer_refresh_token" => $old_authorizer_refresh_token->authorizer_refresh_token
            );
            $authorizer_refresh_token=$this->http($url, $postData, 'POST');
            $new_authorizer_refresh_token=json_decode($authorizer_refresh_token, true);
            $whereData=['authorizer_appid'=>$authorizer_appid];
            $updataData=[
                'authorizer_access_token'=>$new_authorizer_refresh_token['authorizer_access_token'],
                'authorizer_refresh_token'=>$new_authorizer_refresh_token['authorizer_refresh_token']
            ];
            WechatAccount::updateOrCreate($whereData,$updataData);
        }

    公用的http请求方法

    /**
         * post 请求
         *
         * @param string $url
         * @param array $data
         * @param string $method
         * @return bool|string
         */
        public function http(string $url, array $data, string $method)
        {
            $data = json_encode($data);
            $curl = curl_init(); // 启动一个CURL会话
            curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 对认证证书来源的检查
            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在
            curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器
            curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
            curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
            if ($method == 'POST') {
                curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
                if ($data != '') {
                    curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
                }
            }
            curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环
            curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
            $tmpInfo = curl_exec($curl); // 执行操作
            curl_close($curl); // 关闭CURL会话
            return $tmpInfo; // 返回数据
        }

    第三步:代公众号调用接口

     当微信公众号授权给第三方开发平台后,第三方开发平台执行某些操作时,如查询用户信息、发送模板消息等等,这就需要使用authorizer_access_token。这个token从获得开始,2小时内有效,如果需要继续使用授权,就需要在有效期内主动刷新token。但是当某些原因导致刷新token失败时,仍然可以使用authorizer_refresh_token(自获得起30天内有效)重新获得authorizer_access_token。这里的authorizer_access_token就可以代替普通的access_token去调你授权的接口了。

     

    展开全文
  • 1、分清类型,开放平台为了进行微信扫码登录系统的,所以别和公众平台搞混2、进来后需要两个认证,一个开发者资质认证,检测开发主体,准备材料,对公账户,等;另外一个是网站备份,备份一级域名填写好公安备份号3...

    1、分清类型,开放平台为了进行微信扫码登录系统的,所以别和公众平台搞混

    2、进来后需要两个认证,一个开发者资质认证,检测开发主体,准备材料,对公账户,等;另外一个是网站备份,备份一级域名填写好公安备份号

    3、具体内容如实填写,开发者认证管理员和一开始的认证 用的微信人可以不同,类似小兵和法人的区别

    展开全文
  • 微信开放平台开发——网页微信扫码登录(OAuth2.0) 1、OAuth2.0  OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将...
  • 微信登录是指App和网站应用,可以通过接入该功能,让用户...微信登录功能申请已经向开发者开放,只要微信开放平台帐号通过开发者资质认证,其帐号下所有的App和网站应用将自动获得微信登录权限。 一、申请权限 ...
  • 微信开放平台之第三方平台是为了让公众号或小程序运营者,在面向垂直行业需求时,可以一键授权给第三方平台,让其帮助完成业务开发,且是基于微信 CRM 的必要组成模块之一。 对于刚开始接触第三方平台开发的人员来说...
  • 微信公众号开发分为微信公众平台和公众号第三方平台。 首先需要一个认证服务号,然后在设置,基本配置里面配置公众号开发信息和服务器配置。 这是我们会得到开发者ID(AppID),开发者密码(AppSecret),服务器地址...
  • 上礼拜回了趟家,想着为了项目,既然到家了,就先申请个企业版的微信公众号和小程序先看看。流程是复杂,在法人代表微信扫码过程中卡住了,先把这次申请流程和注意事项先写一般先,后续等再回家就全补完。 注意这篇...
  • 前期需要认证开发者资质,这里就不介绍了,因为是公司已有的; 然后在管理中心-网站应用-创建网站应用: 有几个点需要注意下: 1.域名是需要有备案的域名,而且,必须是以企业备案的网站才可以,这里我遇到的坑是...
  •  微信支付开发第一步就是使用公司管理者/高层帐号登录微信开放平台,进入“账号中心”,进行开发者资质认证,需要填写公司资料,包括但不限于,公司注册号,公 司营业执照,公司对外办公电话,公司对公银行卡信息...
  • 1、OAuth2.0  OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某... ...每一个令牌授权一个特定的网站(例如,视频编辑网站)在特定的时段(例如,接下来的2小时内)内访问特定的资源(例如仅仅
  • 微信开放平台上面,绑定小程序的提示写的十分具有迷惑性: 读完有这种感觉:相同主体,开放平台即使不认证,也可以绑定5个以内的小程序;但其实不是这样的: 对于企业类型:必须进行开放平台的认证,一年300 ...
  • 这是一篇我想严重吐槽的文章,我需要做一个微信扫码功能,我看了下文档,发现没有那么难,结果一开始我就卡壳,申请网站应用我申请了四次,我很奔溃,关键是我搞不懂的是为什么审核周期这么长,一次就是一个礼拜 ...
  • 作者 | 屠 敏责编 | 唐小引一年多前,张小龙在微信公开课 PRO 上正式宣布小程序的到来,彼时大批的创业者开始在 O2O 服务、电商、制作平台、周边服务等运营模式...
  • 因为公司要求需要微信登录,所以需要微信开发者认证,要先去微信开放平台进行资质认证 认证成功后,获取到AppID和AppSecret(这两个是微信授权登录所必须的) 二:进行开发 公司要求微信小程序登录后判断用户是否...
  • 如果公司需要开发小程序,首先要在公司微信公众号里面申请小程序,快速开通并认证之后...申请完成后可以使用微信开发者工具开发公司自己的小程序。本章就来讲一下快速注册认证小程序的步骤。 1、打开百度,搜索微...
  • 新成立的公司申请企业类型的微信公众号流程,作为一个微信公众号相关从业人员来说,是必备技能。本节就来讲讲微信公众平台企业号的认证申请步骤。 一、登录申请开通  具体步骤:登录微信公众平台-&gt;...
1 2 3 4 5 ... 20
收藏数 1,423
精华内容 569