2016-05-30 14:57:38 sj452857582 阅读数 12696
  • 微信支付开发-微信公众号开发12-微信开发php

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

    27809 人正在学习 去看看 秦子恒
昨天跟朋友谈到微信公众号的事情,说到帮他做一个微信公众号,于是今天在折腾这个,在微信页面添加服务器配置之后,点提交,自己搭建的web服务器收到了微信转发过来的请求,然后按要求返回传过来的随机字符串之后,微信页面提示请求URL超时,于是就觉得很奇怪,服务器已经接收了请求了啊,也返回随机字符串。在网上搜了一下可能是ip变化的原因,因为用的自己电脑做的外网映射,用的nat123工具,可能是这个原因,多提交几次就成功了,只是不稳定而已,前期自己开发测试一下够了。
2017-06-29 21:51:37 always_and_forever_ 阅读数 1251
  • 微信支付开发-微信公众号开发12-微信开发php

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

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

主要讲配置,验证token,以及可能遇到的错误和需要注意的细节。

1.你肯定要有个微信公众号;if(no)return;

2.在平台上,找到 ‘开发’ –’基本配置’,

这里写图片描述

服务器地址: 你的服务器地址,推送消息会转发到这个地址上; 只支持http:80端口/ https:443端口
令牌: 作为第一次验证的标识,要和你php文件里面的token保持一致;
消息加解密: 随机生成即可;
消息加解密方式:根据需要;

至于外头的白名单配置,如果开发中不需要access_token的话,不配置白名单也没事。

3.后台需要编写验证token脚本,下面以php的为例,(你的服务器要有php环境)

<?php
/**
* wechat php test
* update time: 20141008
*/
//define your token
define("TOKEN", "weixin"); // 改成在平台上配置的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 (!emptyempty($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(!emptyempty( $keyword ))
{
$msgType = "text";
$contentStr = "Welcome to wechat world!";
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
echo $resultStr;
}else{
echo "";
}
}else {
echo "";
exit;
}
}
private function checkSignature()
{
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr, SORT_STRING);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature ){
return true;
}else{
return false;
}
}
}
?>

4.后台写好之后,即可在平台上点击提交配置,出现 提交成功提示,就算配置成功。

用这个php来验证,不会有问题,如果提示 url超时,先确认你的url能不能被访问到,用postman的工具测一下,也可以抓包看一下。查看服务器有没有拦截微信的ip,登录服务器,用iptables -list 查看当前ip禁用配置。如果都没有问题,请先别怀疑这段代码,换个服务器试一下。

5.提交成功之后,别忘了启动配置

2014-11-19 16:31:45 u010683915 阅读数 32889
  • 微信支付开发-微信公众号开发12-微信开发php

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

    27809 人正在学习 去看看 秦子恒
微信公众开发者模式,首先需要填写URL和Token,其中URL是开发者用来接收微信服务器数据的接口URL。Token可由开发者任意填写,用作生成签名(该Token会和接口URL中包含的Token进行比对,从而验证安全性)。而有时当我们提交时会出现“请求URL超时”的问题。现在我们来分析下这种问题的解决办法。

 1.在分析问题的前提,你需要拥有一个公网IP的服务器或者虚拟主机(注:需要使用域名,并开放80端口),这样通信顺利提交。
 2.PHP示例代码,官方可以下载,这里提供给大家。下载
 3.上传后,提交 http://域名/api.php,其中token值默认为weixin。

常见问题总结:
1.你的服务器在国外,或者服务器网速不给力,一般多试几次就可以了。如果经常这样,就需要考虑更换服务器。
2.解决微信请求URL超时,你的服务器没有正确响应Token验证:原因是因为文件编码问题,UTF-8编码无法通过,而UTF-8无BOM编码可以通过。 附:自动检测并删除BOM.rar
3.技术分析跟踪http记录的方法来查看我们自己的服务器收到了请求没有回应,还是微信根本没有发请求过来。插入代码如下:
$_SERVER['REMOTE_ADDR']
$_SERVER['QUERY_STRING']
会生成log.html来分析来源。
4.分析通信接口来源是否被屏蔽,这里举例服务器安全狗,默认如果开启WEB防火墙,保护80端口防止CC会影响通信端口使用频率 导致的请求URL超时。
这里可以使用简单的发包或者telnet来分析是否是这几个原因。

以上是梵天科技对微信请求URL超时总结的几点常见问题的解决方案,希望能帮助大家更好的完善自己的平台。

 微有趣    国内最大的微信第三方开发平台
...............................................................................................................................................................
微有趣(微信号:vyouq_com):
专注微信商家公众号提供与众不同的、有针对性的营销推广服务,提供一站式微信营销方案。
...............................................................................................................................................................
2013-02-18 13:50:55 AKmumu2010 阅读数 17992
  • 微信支付开发-微信公众号开发12-微信开发php

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

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

注册微信公众平台后要成为开发者,token可以随意定义,url输入的不行就通过不了,会提示url超时,或者你的服务器没有正确响应Token验证,请阅读消息接口使用指南,下面你要有你的主机,写一个php文件,内容如下,将此php文件的url地址写上就ok了


<?php
define ( "TOKEN", "dismath" );
$wechatObj = new wechatCallbackapiTest();
$wechatObj->valid();

class wechatCallbackapiTest
{
    public function valid()
    {
        $echoStr = $_GET["echostr"];        //随机字符串
        if($this->checkSignature()){
            echo $echoStr;
            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;
      }
    }   
}  



2014-03-11 10:48:41 lsh3958411 阅读数 12120
  • 微信支付开发-微信公众号开发12-微信开发php

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

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

解决方法如下:
1,从微信那再次下载wx_sample.zip的包
2,重新设置token,将wx_sample.zip的代码解压后保存为你需要的文件名如:index.php
3,认证通过后,在用你原有的代码覆盖index.php即可正常运行
 
其原理可能相当于RESET,希望可以帮助那些跟我一样需要移植平台的开发者少走一些弯路~

微信公众平台开发

阅读数 1008

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