2017-05-05 14:44:33 zhq_bo 阅读数 262
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    27752 人正在学习 去看看 秦子恒

服务器配置(未启用)修改配置 启用

启用并设置服务器配置后,用户发给公众号的消息以及开发者需要的事件
推送,将被微信转发到该URL中

URL(服务器地址) http://www.xxx.com/wx_sample.php
Token(令牌) token
EncodingAESKey(消息加解密密钥) Rooyxxx3g159OijbTrlRwXXXJ8DNGvnhTjvbdanutA
消息加解密方式 兼容模式

<?php
/**
  * wechat php test
  */

//define your token
define("TOKEN", "token");
$wechatObj = new wechatCallbackapiTest();
$wechatObj->valid();

class wechatCallbackapiTest
{
    public function valid()
    {
        $echoStr = $_GET["echostr"];

        //valid signature , option
        if($this->checkSignature()){
            echo $echoStr;
            exit;
        }
    }

    public function responseMsg()
    {
        //get post data, May be due to the different environments
        $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

        //extract post data
        if (!empty($postStr)){

                $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
                $fromUsername = $postObj->FromUserName;
                $toUsername = $postObj->ToUserName;
                $keyword = trim($postObj->Content);
                $time = time();
                $textTpl = "<xml>
                            <ToUserName><![CDATA[%s]]></ToUserName>
                            <FromUserName><![CDATA[%s]]></FromUserName>
                            <CreateTime>%s</CreateTime>
                            <MsgType><![CDATA[%s]]></MsgType>
                            <Content><![CDATA[%s]]></Content>
                            <FuncFlag>0</FuncFlag>
                            </xml>";             
                if(!empty( $keyword ))
                {
                    $msgType = "text";
                    $contentStr = "Welcome to wechat world!";
                    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
                    echo $resultStr;
                }else{
                    echo "Input something...";
                }

        }else {
            echo "";
            exit;
        }
    }

    private function checkSignature()
    {
        $signature = $_GET["signature"];
        $timestamp = $_GET["timestamp"];
        $nonce = $_GET["nonce"];    

        $token = TOKEN;
        $tmpArr = array($token, $timestamp, $nonce);
        sort($tmpArr);
        $tmpStr = implode( $tmpArr );
        $tmpStr = sha1( $tmpStr );

        if( $tmpStr == $signature ){
            return true;
        }else{
            return false;
        }
    }
}

?>
2019-07-25 15:47:42 weixin_38364280 阅读数 315
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    27752 人正在学习 去看看 秦子恒

解决微信开发者工具报错:当前开发者未绑定此AppID,请到小程序后台操作重试

首先要在微信公众平台注册小程序账号,注意与公众号(订阅号)账号区别开来,小程序账号不是公众号账号,登录后小程序账号的界面是这样的:微信公众品台--小程序
然后用点击上图的添加开发者进入到如下界面:添加开发者
邀请登录微信开发者工具的微信 成为该小程序的开发者后就解决该问题了。
要注意的是:
1.区分公众号的AppID与小程序的AppID,他们登录微信开放平台的账号是不一样的,登录后的主界面也是不一样的
2.获取小程序的AppID:
小程序APPID

2019-01-20 22:05:22 qq_41287423 阅读数 532
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    27752 人正在学习 去看看 秦子恒

在这里插入图片描述
(完整代码见最后!!!)
一、服务器配置(公众号)

token验证:
原理参考:微信公众平台-------开发-------开发者工具------开发者文档------入门指导------开发者基本配置-----查看逻辑流程图

第一步:本地搭建验证token服务:
(前提,搭建好内网穿透,详情链接:https://blog.csdn.net/qq_41287423/article/details/86547044)
在这里插入图片描述
第二步:微信公众平台配置
微信公众平台------开发------基本配置------服务器配置------修改配置
在这里插入图片描述
在这里插入图片描述
二、jssdk安全域名配置

微信公众平台----设置----公众号设置----功能设置----JS接口安全域名----设置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、测试账号的服务器配置(测试账号可以使用大部分授权微信接口)
微信公众平台------开发者工具------公众平台测试账号------接口配置信息
在这里插入图片描述

四、接入JS-SDK(通过config接口注入权限验证配置,调用微信功能接口,如:微信扫一扫、分享)
第一步:获取获取access_token(每日调用上限2000次,所以一般获取后保存在缓存中,2小时内有效)
第二步:通过access_token,获取jsapi_ticket (同样需要做缓存)

参考:微信公众平台----开发者工具----开发者文档----微信网页开发----微信JS-SDK说明文档
在这里插入图片描述

①获取access_token

开发者工具------公众平台测试账号------接口配置信息
在这里插入图片描述
开发者文档----开始开发----获取access_token
在这里插入图片描述
在这里插入图片描述
②获取jsapi_ticket
开发者文档----微信网页开发----微信JS-SDK说明文档
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
③获取signature签名
创建signature加密模板:model----hash.js
const hash = require(’./model/hash.js’) //引入封装的hash加密模块
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
浏览器访问:http://hmx.nat300.top/jssdk
console.log(config)得到:
在这里插入图片描述

node模板引擎有很多,这里以ejs模板为例:
ejs模板引擎(服务器产生的数据,通过ejs模板动态的渲染到前端页面)
ejs模板使用简单案例,链接:

参考:微信公众平台----开发者工具----开发者文档----微信网页开发----微信JS-SDK说明文档
在这里插入图片描述
① npm install ejs
②新建:views----index.ejs(引入JS文件)
在这里插入图片描述
③配置引擎
在这里插入图片描述
④响应对象的方法render来渲染视图
在这里插入图片描述
在这里插入图片描述
五、通过ready接口处理成功验证

在这里插入图片描述
在这里插入图片描述
打开开发者工具,选择微信公众号项目,输入对应的接口,如以上配置的:http://hmx.nat300.top/jssdk,进行测试
在这里插入图片描述

微信公众号开发,以上配置完整代码,链接:https://blog.csdn.net/qq_41287423/article/details/86571720

2018-11-16 14:58:14 jal517486222 阅读数 897
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    27752 人正在学习 去看看 秦子恒

PHP版接入微信开发者模式,进行Token验证


一、登录微信公众号的后台,鼠标滚动到最下方,然后点击开发->基本配置,然后点击绿色的启用按钮,内容不着急填写

在这里插入图片描述


二、下载微信公众平台提供的PHP版本介入实例文件:

这是微信公众平台提供的下载链接,请点击
懒得下载的人可以将下面的代码拷贝下来,放入PHP文件里,命名为configToken.php

<?php
/**
  * wechat php test
  */

//define your token
define("TOKEN", "weixin");//此处的TOKEN就是接下来需要填在微信的配置里面的token,需要保持严格一致
$wechatObj = new wechatCallbackapiTest();
$wechatObj->valid();

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

    public function responseMsg()
    {
		//get post data, May be due to the different environments
		$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

      	//extract post data
		if (!empty($postStr)){
                /* libxml_disable_entity_loader is to prevent XML eXternal Entity Injection,
                   the best way is to check the validity of xml by yourself */
                libxml_disable_entity_loader(true);
              	$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
                $fromUsername = $postObj->FromUserName;
                $toUsername = $postObj->ToUserName;
                $keyword = trim($postObj->Content);
                $time = time();
                $textTpl = "<xml>
							<ToUserName><![CDATA[%s]]></ToUserName>
							<FromUserName><![CDATA[%s]]></FromUserName>
							<CreateTime>%s</CreateTime>
							<MsgType><![CDATA[%s]]></MsgType>
							<Content><![CDATA[%s]]></Content>
							<FuncFlag>0</FuncFlag>
							</xml>";             
				if(!empty( $keyword ))
                {
              		$msgType = "text";
                	$contentStr = "Welcome to wechat world!";
                	$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
                	echo $resultStr;
                }else{
                	echo "Input something...";
                }

        }else {
        	echo "";
        	exit;
        }
    }
		
	private function checkSignature()
	{
        // you must define TOKEN by yourself
        if (!defined("TOKEN")) {
            throw new Exception('TOKEN is not defined!');
        }
        
        $signature = $_GET["signature"];
        $timestamp = $_GET["timestamp"];
        $nonce = $_GET["nonce"];
        		
		$token = TOKEN;
		$tmpArr = array($token, $timestamp, $nonce);
        // use SORT_STRING rule
		sort($tmpArr, SORT_STRING);
		$tmpStr = implode( $tmpArr );
		$tmpStr = sha1( $tmpStr );
		
		if( $tmpStr == $signature ){
			return true;
		}else{
			return false;
		}
	}
}

?>

三、建一个PHP项目,我起的名称叫做WeiXinWeb,将刚才下载的wx_sample文件解压缩,然后重命名为configToken.php(就是我上面的代码)放到项目的根目录中(我的项目中还有其他几个文件都是从git上克隆下来的,你们的项目中没有也没关系,只需要有configToken.php就行了)

在这里插入图片描述


四、将这个项目放到公网能访问的服务器上,开发人员都懂该怎么操作吧,没有服务器的可以自己去各个云购买去,此处默认你有公网服务器


五、回到第一步微信公众平台的开发者的配置下面,点击“修改配置”, 将服务器地址写上你的configToken.php能被访问到的路径,我中间的马赛克是我的服务器域名,你们修改成自己的即可。此处的token就是刚才填在configToken的TOKEN,需要保持严格一致

在这里插入图片描述

到此就大功告成了,分分钟就解决问题,庆祝一下~

2019-02-19 09:23:33 hulala_wuqiang 阅读数 576
  • 微信支付开发-微信公众号开发12-微信开发php

    微信公众平台开发之微信支付开发是子恒老师《微信公众平台开发》视频教程的第12部。详细讲解了用php进行微信支付的开发。内容包含获取支付密钥,微信公众号支付开发,扫码支付,微信刷卡支付,异步处理支付结果等等。欢迎反馈,微信/QQ:68183131

    27752 人正在学习 去看看 秦子恒

码字截图不易,转载请标注原文地址https://blog.csdn.net/hulala_wuqiang/article/details/87687410

本文为系列文章:
一、注册账号
二、申请认证流程
三、开发者基本配置
四、申请自定义模板消息


三、开发者基本配置

1. 成为开发者

选择左侧菜单栏->开发->基本配置,勾选同意,点击成为开发者

基本配置
成为开发者

2. 启用开发者密码

点击启用开发者密码(AppSecret)
启用开发者密码

3. 管理员扫码确认

每一个关键步骤都需要管理员微信扫码确认
扫码

4. 输入账号密码

确认后输入微信公众号账号的登录密码
密码验证

5. 生成开发者密码(APPSecret)

记录开发者密码,然后把开发者ID和密码保存下来,发送给开发人员
密码记录

6. 设置IP白名单

完成,点击设置IP白名单

微信对调用“获取access_token”接口增加IP白名单校验:只有将IP地址设置为公众号的IP白名单,才能成功调用该接口。如非白名单IP调用,将返回错误码:40164。

IP白名单

7. 输入IP白名单

同样需要管理员账号扫码
白名单
扫码

8.填写服务器配置

点击修改配置,进入配置页面
修改配置

9.填写服务器配置

服务器配置

  • URL是开发者用来接收微信消息和事件的接口URL。就是你们的后台地址注意必须以http://或https://开头,分别支持80端口和443端口
  • Token可由开发者可以任意填写,用作生成签名(该Token会和接口URL中包含的Token进行比对,从而验证安全性)
  • EncodingAESKey由开发者手动填写或随机生成,将用作消息体加解密密钥。
  • 消息加解密方式建议新手最开始使用明文模式,开发完成后转兼容模式测试,最后发布的时候修改为安全模式即可。

10. 提交配置

点击下提交按钮,确认之
提交

11. 完成服务器配置

前面只是修改服务器配置,还未启用,还需要点击启用按钮,启用前面设置的服务器配置
启用

12. 启用服务器配置

注意开始服务器配置后,自定义菜单与自动回复功能失效
启用

没有更多推荐了,返回首页