首页 » 文章随笔 » 技巧教程 » WordPress中支付宝responseTxt为true而isSign为false处理方法?

WordPress中支付宝responseTxt为true而isSign为false处理方法?

WordPress中支付问题,开始时使用的插件Wechat Shop,这个支付宝插件支持支付宝和微信支付,也可以不用注册帐号,直接点开扫描就付了,方便是方便,但他的处理方式是把钱付给了Wechat shop的帐号,而不是把钱付到自己的帐号中,并且象我这种博客,本来就是做着玩,很少会收到钱,Wechat shop收的每笔收手续费另外还要单独每月付会员费。这让我这种博客没法陪他玩!于是就把wordpress的支付改成了foxpay,foxpay钱直接转到自己帐号中,不会象wechat shop一样经过中转,需要自己和支付宝或微信签约!支付宝签约很简单,只要你提交的资料是有效的,就很快通过了,一般一天之内通过!微信支付就很坑了,需要你每年支付300元的认证费,这300元就是一个坑,厚脸皮的腾讯还说是给的第三方机构,典型的收了钱不认帐!并且每年都要收300元认证费,不然就无法使用微信支付,网上还有很多给了300元认证费,微信说这样那样不符合要求,认证不合格,300元又不退的情况!总之,微信支付就一个大坑,这一点不得不挺马云,所以我的wordpress直接使用支付宝,不再使用微信支付!从支付宝和微信的签约可以看出,支付宝是想做全球市场,而微信就是做国内市场的,在国外微信这样的处理方式,根本做不起来,这样看来支付宝的格局比微信大得多!腾讯就是在国内有社交群体,没了社交群体,什么都不行!为了让自己国际化,你也支持的使用支付宝吧,拒绝使用微信,我看好多网站支付都是支付宝,没集成微信,因为微信这做法实在是……

WordPress中集成foxpay后,开始使用很正常,使用支付宝能付款成功,返回信息处理也正常,昨天有人和我反映,充值后支付宝钱扣了,而本站的会员资产中没有到帐,并且无充值记录!以前都正常,为什么现在突然不行了呢?通篇看了一下foxpay的代码,其中foxpay有一个文件是加密的,admin目录下的erphp-settings.php文件,看了下还是混淆式的php加密,看着这代码就让人晕,瞬间有种放弃的感觉!但支付宝不到帐就无法处理了,有黑匣存在就没法确定事情的原由了!在查找资料后,终于解开了erphp-settings.php文件,erphp-settings.php文件解密后代码如下!

您暂时无权访问此隐藏内容!

左看右看这代码也是一个普通设置的php文件,没有暗桩进行检测呀?foxpay全部代码放在这儿的,又没有远程进行合法性验证,支付宝突然无法到帐和foxpay本身无关!于是找到alipay的文件进行调试,在alipay_notify.class.php中保存log日志信息,支付宝支付后回调通知中responseTxt=true isSign=False,因为之前也不明白支付宝的回调通知是什么格式,于是搜索,支付宝responseTxt为true而isSign为false的处理方法,一种是在alipay_notify.class.php的verityReturn()方法添加unset($_GET[‘_URL_’]);另一种方法是alipay_core.function.php的paraFilter($para)添加reset($para) ,他们使用这两种方法都解决了支付宝回调通知esponseTxt为true而isSign为false的问题!我按照这样改,屁用没用,照样支付宝回调通知responseTxt为true而isSign为false!顿时感觉前途渺茫,有种想找foxpay的作者的想法,但我都看了foxpay的全部代码,不远程验证,不绑定域名,反正就是完全提供的源代码,alipay的文件还是支付宝官方的,找foxpay作者也没用!

静下心来仔细想了想,是不是wordpress安装的什么插件造成支付宝回调通知responseTxt为true而isSign为false呢?在网上发现有人反映支付宝回调通知responseTxt为true而isSign为false时找支付宝技术人员,支付宝方面回馈的基本都是网站添加了多余的参数造成的支付宝回调通知responseTxt为true而isSign为false。我想了想最近这段时间修改过wordpress哪些地方,我把相关的修改全部删除,再测试 支付宝回调通知responseTxt为true而isSign也为true了,充值成功也能到帐了!果然是修改了wordpress造成了支付宝回调通知responseTxt为true而isSign为false。但是哪个代码呢?

前段时间有一个无聊的人,使用软件乱发评论,于是我添加了这样的代码

// 垃圾评论拦截
class anti_spam {
	function anti_spam() {
		if ( !current_user_can('level_0') ) {
			add_action('template_redirect', array($this, 'w_tb'), 1);
			add_action('init', array($this, 'gate'), 1);
			add_action('preprocess_comment', array($this, 'sink'), 1);
		}
	}
	function w_tb() {
		if ( is_singular() ) {
			ob_start(create_function('$input','return preg_replace("#textarea(.*?)name=([\"\'])comment([\"\'])(.+)/textarea>#",
				"textarea$1name=$2w$3$4/textarea>",$input);') );
		}
	}
	function gate() {//这函数,让支付宝返回的参数也加了下面的内容
		if ( !empty($_POST['w']) && empty($_POST['comment']) ) {
			$_POST['comment'] = $_POST['w'];
		} else {
			$request = $_SERVER['REQUEST_URI'];
			$referer = isset($_SERVER['HTTP_REFERER'])         ? $_SERVER['HTTP_REFERER']         : '隐瞒';
			$IP      = isset($_SERVER["HTTP_X_FORWARDED_FOR"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] . ' (透过代理)' : $_SERVER["REMOTE_ADDR"];
			$way     = isset($_POST['w'])                      ? '手动操作'                       : '未经评论表格';
			$spamcom = isset($_POST['comment'])                ? $_POST['comment']                : null;
			$_POST['spam_confirmed'] = "请求: ". $request. "\n来路: ". $referer. "\nIP: ". $IP. "\n方式: ". $way. "\n內容: ". $spamcom. "\n -- 记录成功 --";
		}
	}
	function sink( $comment ) {
		if ( !empty($_POST['spam_confirmed']) ) {
			if ( in_array( $comment['comment_type'], array('pingback', 'trackback') ) ) return $comment;
			//方法一: 直接挡掉, 將 die(); 前面两斜线刪除即可.
			die();
			//方法二: 标记为 spam, 留在资料库检查是否误判.
			//add_filter('pre_comment_approved', create_function('', 'return "spam";'));
			//$comment['comment_content'] = "[ 小墙判断这是 Spam! ]\n". $_POST['spam_confirmed'];
		}
		return $comment;
	}
}
$anti_spam = new anti_spam();//这代码和支付宝在线充值冲突,花了我几个小时发现这个坑

禁掉这代码,支付宝回调通知responseTxt为true而isSign也为true,允许这代码支付宝回调通知responseTxt为true而isSign为false.问题终于找到了,开启这段代码,再去看看alipay的回调字符串,多了几个参数,就是这段代码中添加的 隐藏,透过代理什么的!如果早早的清楚支付宝的回调函数格式,就不用这么费事了!

总结:支付宝回调通知responseTxt为true而isSign为false时,如果你使用的Wordpress,不防看看你什么插件或代码给支付宝回调多添加了什么参数!再找这参数是什么代码或插件添加的,一步到位! 再次吐槽微信支付,大家都集成支付宝吧,别用微信支付了!最后还可以用支付宝扫下面这二维码,领红包!支付宝红包

内容查看

查看价格:1 金币

您需要先后,才能购买查看隐藏内容!

本站软件绿色无广告,无后门,非复杂程序不加注册,隐藏内容请勿传播,否则会取消后续支持! 购买后仍然无法显示(由于缓存原因),请退出重新登录一次!或者进入会员中心-〉消费清单中下载!有问题请在相应文章评论下留言或者email到goodeboy@qq.com

未经允许不得转载:百脑问 » WordPress中支付宝responseTxt为true而isSign为false处理方法?

×

感谢您的支持,我们会一直保持!

扫码支持
请土豪扫码随意打赏

打开微信扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

分享到:更多 ()

评论 抢沙发

评论前必须登录!

百脑问 创新坚持 杰然不同

赞助我们联系我们
数据查询次数:92 消耗时间:0.500 秒, 使用内存: 21.55MB
您好,有什么可以帮您吗!