支付宝即时到帐接口在商户服务器与支付宝服务器进行数据交互的时候需要进行数据前面,主要目的是为了防止数据在传输过程中被恶意窜改。

所谓签名即根据即时到帐交易接口文档中的请求参数列表中,除去 sign、sign_type 两个参数外,其他需要使用到的参数按照从 a 到 z 的顺序排序(若遇到相同首字母,则看第二个字母,
以此类推),然后将拼接成的字符串与支付宝密钥拼接,再进行MD5运算(以md5类型的签名举例说明)。得到的32位字符就是签名结果字符串。

在即时到帐交易中一共需要进行两次签名:

第一次是支付前构造支付数据,需要将支付参数和签名结果字符串用POST方式提交到支付宝网关https://mapi.alipay.com/gateway.do

第二次是支付成功后支付宝服务器通过return_url和notify_url进行同步通知和异步通知时会向商户服务器分别用get方式和post方式发送支付结果处理数据,商户服务器需要根据接受到的数据和签名信息判断该消息是否为支付宝服务器发送的,并根据结果和状态对商户本地程序操作相关的业务逻辑

不幸的是在项目中两次需要验证签名的地方都出了问题,下面讲一下我遇到的状况和解决方法

支付前构造支付数据的签名错误

我是直接使用支付宝官方提供的demo进行开发的,首先在本地跑了一下没有问题,放在服务器环境后进行支付直接跳转到支付宝的错误页面。

错误代码:ILLEGAL_SIGN 错误信息:调试错误,请回到请求来源地,重新发起请求

支付宝商家帮助中心也简明扼要的给出了解决和排查办法:https://cshall.alipay.com/support/help_detail.htm?help_id=397063

我这里是使用utf-8格式的php编写程序,经过排查是在POST提交这一步中文的商品名乱码导致的签名错误

解决方式一:

打开alipay_submit.class.php,找到以下代码(99行左右)

Code   ViewCopyPrint
  1. $sHtml = “<form id=’alipaysubmit’ name=’alipaysubmit’ action='”.$this->alipay_gateway_new.”_input_charset=”.trim(strtolower($this->alipay_config[‘input_charset’])).”‘ method=’“.$method.”>“;

替换为

Code   ViewCopyPrint
  1. $sHtml = “<meta http-equiv=’content-type’ content=’text/html; charset=utf-8′><form id=’alipaysubmit’ name=’alipaysubmit’ action='”.$gateway.”_input_charset=”.trim(strtolower($aliapy_config[‘input_charset’])).”‘ method=’“.$method.”>“;

解决方式二:

在相应的PHP页面声明编码类型为utf-8即可

Code   ViewCopyPrint
  1. header(“content-type: text/html;charset=utf-8″);

支付成功后消息通知中的签名不一致
对于消息通知签名不正确支付宝商户帮助中心也给出了解决和排查办法:https://cshall.alipay.com/support/help_detail.htm?help_id=397351

经过查找资料,网友们给出了几种常见的错误类型:

第一种情况:由于编码导致中文传回是乱码的情况导致sign和mysign不等。可参考这篇文章的案例

http://www.imlqw.com/322.html(目前连接已经失效)

第二种情况:由于post和get提交的问题导致sign和mysign不等,可参考以下文章:

http://my.oschina.net/u/214582/blog/52140

第三种情况:由于官方提供的paraFilter方法bug问题导致sign和mysign不等,可参考一下文章:

http://club.alipay.com/read-htm-tid-10244623-page-e.html

第四种情况:由于参数问题导致的sign和mysign不等的情况。

在PHP的默认配置情况下,当上传的文件大小超出一定的限制时(通常默认为8M),我们将得到如下的错误提示信息:

Warning: POST Content-Length of 625523488 bytes exceeds the limit of 8388608 bytes in Unknown on line 0

上述错误信息的大致意思是,我们使用POST请求提交的数据大小超过了服务器的最大限制数(8388608字节=8MB)。

出现上述错误的原因是,在PHP的配置文件php.ini中,默认存在如下配置信息(在php.ini中,行首的分号”;”表示当前行是注释,不会生效):

//脚本解析输入数据(类似 POST 和 GET)允许的最大时间,单位是秒。 它从接收所有数据到开始执行脚本进行测量的。
max_input_time = 60
//允许客户端单个POST请求发送的最大数据
post_max_size = 8M
//是否开启文件上传功能
file_uploads = On
//文件上传的临时存放目录(如果不指定,使用系统默认的临时目录)
//upload_tmp_dir =
//允许单个请求上传的最大文件大小
upload_max_filesize = 2M
//允许单个POST请求同时上传的最大文件数量
max_file_uploads = 20

从上面的配置信息中我们可以看出,PHP的默认配置信息就是导致PHP文件上传时提示文件大小超出限制的“罪魁祸首”。上述配置信息中给出了各个指令选项对应的中文注释信息,大家可以根据自己的实际需求情况对php.ini配置文件进行相应的修改。

博主由于做微信开发的缘故,经常需要在chrome浏览器调试微信网页,因而不可避免的要经常把微信中的一些链接复制到PC上,再加上公司禁止使用QQ的原因,所以就开始找可以在PC上浏览微信的东西.

目前(在今天前可以使用的主要有这么几种)

1.微信网页版(http://wx.qq.com)

主流方式一.微信官方开发,每次登陆需要扫描二维码,需要借助浏览器才可以使用和访问.曾经用着还不错,好友列表中可以显示好友和公众号,但是近来可能因为腾讯官方限制,好友列表只能显示好友,公众号不在列表显示,公众号的消息也不进行提示.

2.QQ浏览器微信版(http://browser.qq.com/download/wechat.html)

主流方式二.微信官方开发,每次登陆需要扫描二维码,内嵌于微信浏览器中,功能上没有什么限制,公众号和普通好友都会显示,消息都有提醒.但是要使用这个东西就必须安装QQ浏览器,笔者对软件有洁癖,电脑只有IE,FireFox和Chrome三种内核不完全相同的浏览器,对于像360,QQ这样的用了别的内核又拿回家自己改改发不出来的阉割版浏览器非常反感,功能再好也不愿装.

3.微信电脑版

不知道是不是主流,感觉知道的人不多.该软件是由搜狗团队开发,但是目前该项目貌似取消了,官方网站已经打不开了,但是在度娘还是能搜出很多下载连接的.功能上和微信网页版差不多,但是独立于浏览器,在没有更好的替代品之前,笔者一直在用.
4.屌丝专用(在PC用安装模拟器上手机版微信)
优点:功能和体验上与手机版完全一致

缺点:PC机上的安卓模拟器比较吃内存,配置不是特别高经常会卡,用起来不流畅.

当然废话这么多不是非要在这么几种在电脑上使用微信的方法中评出优劣,而是要告诉你,从今天起上面这些方法都OUT啦~

为什么这么讲呢?

今早上班,同事看到我桌面上那个微信电脑版上大大的二维码跟我说,腾讯自己开发的微信电脑版已经放出来了,于是赶紧去问度娘,度娘居然不知道.然后找同事帮忙查,最后在微博里找到了蛛丝马迹.现在应该是在内测,腾讯微信电脑版刚好赶在14年的圣诞节流出,不错不错,简单体验了一下,感觉还不错,公众号和普通公众号都在好友列表里,消息也有提醒,界面设计也ok,听说只有第一次登陆需要扫码.

喜欢尝鲜的你赶紧试一下吧~

下载连接附上

http://dldir1.qq.com/weixin/Windows/WeChat1.0_Alpha.exe

微信PC版

最近在一个项目中做登录模块,使用jQuery validate插件进行表单验证,验证通过后jQuery Form插件ajax提交表单数据,在火狐,谷歌浏览器使用正常,无报错信息,但在IE8下点击登陆按钮没有反应,后来看到IE控制台有报错信息说”对象不支持此属性或方法”.

我这里的报错信息如下:

对象不支持此属性或方法

错误详细信息

上网搜了一下有以下几种原因和解决办法,经过测试我的问题是通过方法3解决的,给遇到同样问题的朋友参考一下

1.表单控件中存在name为关键字的情况

由于表单中存在name为submit(或action等其他关键字)的组件,因此提交时没有提交submit而是提交了名字为submit的value。

如以下错误示例:

<form>
<input type=”text” name=”submit” />
<input type=”button” name=”submit” value=”提交”/>
<input type=”submit” name=”submit” value=”提交”/>
</form>

解决办法:

将name为submit等关键词改名,如Submit(注意貌似只要不是全部小写的就可以)

2.出现表单嵌套。(form中嵌套form)

在页面中本来有个fom,然后又include一个页面,在这个页面中也有一个form,出现了表单嵌套的情况。。

这样在提交时,被包含的form会提交不了。

解决办法:

去掉一个form表单

3.插件引入问题

检查js路径是否正确;

②注意jquery要放在from.js之前加载;

③尝试替换jquery的版本;

④引入js文件的type

把type=”application/javascript”改为type=”text/javascript”,或者不要type都可以无错运行

报错时是这样的

<script src=”http://file.waiting8.com/js/jquery-1.8.3.min.js” language=”javascript”></script>
<script src=”http://file.waiting8.com/js/jquery.form.js” type=”application/javascript” language=”javascript”></script>
<script src=”http://file.waiting8.com/js/jquery.validate.min.js” type=”application/javascript” language=”javascript”></script>

改成这样IE8就没问题了

<script src=”http://file.waiting8.com/js/jquery-1.8.3.min.js” language=”javascript”></script>
<script src=”http://file.waiting8.com/js/jquery.form.js” type=”text/javascript” language=”javascript”></script>
<script src=”http://file.waiting8.com/js/jquery.validate.min.js” type=”text/javascript” language=”javascript”></script>

附加知识:

1、表单应该包含name,aciton,method这三个必须的属性,enctype,id这两个属性可以根据需要加上,表单不要嵌套

2、document.form.action与document.form.submit()一定不要搞混,action是属性,submit是方法,方法不要忘记加上左右括号,这是一般新手经常遇到的问题。

<script>

var imgUrl = "图片地址";

var lineLink = "网址";

var descContent = '爱在五月,\n\n妈咪爱1+1亲子健康之旅开启全国行首站----重庆站妈咪爱活性益生菌';

var shareTitle = '标题';

var appid = '';

function shareFriend() {

WeixinJSBridge.invoke('sendAppMessage',{

"appid": appid,

"img_url": imgUrl,

"img_width": "200",

"img_height": "200",

"link": lineLink,

"desc": descContent,

"title": shareTitle

}, function(res) {

//_report('send_msg', res.err_msg);

})

}

function shareTimeline() {

WeixinJSBridge.invoke('shareTimeline',{

"img_url": imgUrl,

"img_width": "200",

"img_height": "200",

"link": lineLink,

"desc": descContent,

"title": shareTitle

}, function(res) {

//_report('timeline', res.err_msg);

});

}

function shareWeibo() {

WeixinJSBridge.invoke('shareWeibo',{

"content": descContent,

"url": lineLink,

}, function(res) {

//_report('weibo', res.err_msg);

});

}

// 当微信内置浏览器完成内部初始化后会触发WeixinJSBridgeReady事件。

document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {

// 发送给好友

WeixinJSBridge.on('menu:share:appmessage', function(argv){

shareFriend();

});

// 分享到朋友圈

WeixinJSBridge.on('menu:share:timeline', function(argv){

shareTimeline();

});

// 分享到微博

WeixinJSBridge.on('menu:share:weibo', function(argv){

shareWeibo();

});

}, false);

</script>

随便吧,我知道关于我的所有都无关紧要,我根本什么都比不上,你的任何东西任何事情都比我重要 ,你的时间不属于我,太宝贵了 我消受不起,随便吧,我自己带着自己出发吧,所有事情自己解决,总有一天,我会慢慢的把你从我的生活里撤离,你不会再是我的唯一

我觉得我快受不了,我一直在想,分手,分手分手,我真不想以后结婚了再后悔,不想以后再离婚,我真的快崩溃了,所有事都自己一个人扛,哭了自己安慰自己抹眼泪,诉说出去之后变成了争论,无休止的回拨,或是讽刺,这场感情最后的结局或许一直的预料就是对的,你不可能会因为我改变什么,你想做什么我永远阻止不了,参与不了,我们比陌生人还不如,陌生人都知道我什么时候难过了,伤心了 ,有困难了,而你,完全无视…………………………… 阅读全文

在导入MAGENTO SAMPLE数据时出现USING BTREE错误,主要原因是MYSQL不兼容问题导致。在tag与tag_relation两个表中使用了USING BTREE,但其格式不兼容导致导入失败。修改后即可正常导入了。

修改如下:

PRIMARY KEY (`tag_id`) USING BTREE,

修改为:

PRIMARY KEY `tab_id` USING BTREE(`tag_id`),

PRIMARY KEY (`tag_relation_id`) USING BTREE,

修改为

PRIMARY KEY `tag_relation_id` USING BTREE(`tag_relation_id`),

再次导入数据库则可完整导入。

PS:

错误原因:
主要是是MYSQL 5.1的一个BUG,其出现原因是mysql 5.1和mysql 5.0在处理到索引语句时有所区别。
案例:
有时导入mysql会提示如下错误: ERROR 1064 (42000) at line 486: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use   near ‘USING BTREE,   KEY `Reference_1_FK` (`RoleID`),   CONSTRAINT `FK_userinfo_RoleID’ at line 11
解决办法:
打开要导入的文件在里面搜索 BTREE 找到如下内容   KEY `columnCindex` (`columnC`) USING BTREE   修改为   KEY `columnCindex` USING BTREE (`columnC`),   然后就可以顺利通过了
总结:

出现了不兼容的情况,在Mysql 5.1中建有UNIQUE KEY 的表导出时是这个样子的“KEY `pkey` (`pkey`) USING BTREE”,

而Mysql 5.0处理的时候只能识别“KEY `pkey` USING BTREE (`pkey`)”。因此需要改一下Key的位置。

源码简介 :
适用范围:  微信平台源码,微信公众平台源码,微信营销平台源码,微信平台程序,微信公众平台程序 运行环境:  PHP、MYsql  [基于PigCMS最新内核]
其他说明:微信公众平台20140620运营版,源码全部开源,修复0613现存问题(天气查询等第三方接口回复空白问题),3G模板更新至122套,新增4款微游戏,功能方面也做了更新(微论坛、微客服、新版微预约、留言板等等等,详细请看下方加粗部分),功能没得说,我们从2月更新以来,不断完善狗扑微信公众平台源码,大家有目共睹。我们不求最新,只求最稳定,让客户用的放心、舒心,是我们的追求!功能囊括微官网、微商城、微团购、会员卡、在线预约、微调研、微相册、微名片、LBS门店定位、刮刮卡、水果达人、欢乐大转盘、微促销、微婚庆、微餐饮、微房产、微酒店、微医疗、微汽车等等等。更多功能自行下载体验,我就不多说了。 功能模块清单:
版权申明:本源码来源于网络,仅供学习交流之用,请勿用于用于商业用途。
如有侵权,请联系我们删除。 安装教程:见压缩包。
测试截图 : 下载地址:

链接: http://pan.baidu.com/s/1dDjBVEx 密码: 2ifv

解压密码: ↓↓↓↓↓★解压密码(请复制全部)★↓↓↓↓↓ BBS.GOPE.CN__狗扑微信06204%7\=fhjf][GHkl45/j ↑↑↑↑↑★解压密码(请复制全部)★↑↑↑↑↑

最近两个礼拜都为陈大猪要来的事准备着,到处看房子找房子,看床看家具,很想在他到来之前把小窝打扮得很温馨,可是真的好烦躁,完美主义的思想让我总天的为了这些事情焦躁着,听到他说话事不关己的那种语气就会很火,我似乎都不愿意找他,不愿意去想他