我一直试图为一个网站配置IPN我正试图建立。长话短说,我希望这是对我的数据库条目的控制,其他API在其他地方下订单。
我就是不能让它工作。检查PayPal网站上的IPN历史看起来像是向URL发送ok(我在按钮中指定了,而不是通过PayPal),但绝对没有发生任何事情。从我的脚本,我希望一封电子邮件陈述失败或成功。我还尝试在我的listener.php中设置一个会话变量,我在返回url上检查这个变量(尽管我认为由于IPN和返回页面不一定连续运行,所以没有设置这个变量)...
<?php
// listener.php
$_SESSION['listener'] = 'reached';
// read the post from PayPal
$req = 'cmd=_notify-validate';
foreach ($_POST as $key => $value) {
$value = urlencode(stripslashes($value));
$req .= "&$key=$value";
}
// post back to PayPal
$header = "POST /cgi-bin/webscr HTTP/1.1\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
$header .= "Conection: Close";
$fp = fsockopen ('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 30);
if (!$fp) {
// HTTP ERROR
}
else {
fputs ($fp, $header . $req);
$res = stream_get_contents($fp, 1024);
if (strcmp ($res, "VERIFIED") == 0) {
$to = 'myemail@gmail.com';
$subject = 'IPN VERIFIED';
$message = $req;
$headers = 'From:noreply@mydomain.com' . "\r\n";
mail($to, $subject, $message, $headers);
}
else if (strcmp ($res, "INVALID") == 0) {
$to = 'mymail@gmail.com';
$subject = 'IPN INVALID';
$message = $req;
$headers = 'From:noreply@mydomain.com' . "\r\n";
mail($to, $subject, $message, $headers);
}
fclose ($fp);
}
?>
我通过向自己发送电子邮件检查了$res
的值,尽管我期望的是“验证”或“无效”,但实际上是这样的:
HTTP/1.1 200 OK Date: Mon, 11 Aug 2014 09:14:48 GMT Server: Apache X-Frame-Options: SAMEORIGIN Set-Cookie: c9MWDuvPtT9GIMyPc3jwol1VSlO=3B4lq1GFXyCeV6nNKFDjhiS0CC1T77tsq9IXk6bQiM3OI8T1hI6ih0f7I0FDZQH3e6lqT0RXEH4DqKZUJ9uKzNyIxPANl_6326ntzQsqsVA_2KO7z0wvIKf_T_9BwLagSrsP7r7X5TO3G15FCnUK-PIqOlv16zGTZrmLood4Ezql7U17t2emfzW_CfbgFDDZogUFvIUhjCqzN1pLiejHhgKADJj0jNpmjOeMXdY9XWtytXo9NWUH0OuAlrsoYaU3beBi2MK86WLaZnSNBxbrpVOG9W70_lS8fxJ5QPA1K-jXhBAf3p4eqKXzoKOeEqNOCeKEnemyqxrhkQx8lUBnTWo_BdBfMinfEhqfyisMv13mwLixHKKJ9Kkd3jRQGFwW0139gBT4Hw_hUvbJ2AfLVxKeFrfb64x10B3C8Y8rb8bJ6nrwUm7-DJS-3He; domain=.paypal.com; path=/; Secure; HttpOnly Set-Cookie: cookie_check=yes; expires=Thu, 08-Aug-2024 09:14:49 GMT; domain=.paypal.com; path=/; Secure; HttpOnly Set-Cookie: navcmd=_notify-validate; domain=.paypal.com; path=/; Secure; HttpOnly Set-Cookie: navlns=0.0; expires=Wed, 10-Aug-2016 09:14:49 GMT; domain=.paypal.com; path=/; Secure; HttpOnly Set-Cookie: Apache=10.72.109.11.1407748488825362; path=/; expires=Wed, 03-Aug-44 09:14:
多谢!李
这个问题现在已经用cURL解决了--实现起来非常简单!https://gist.github.com/codeangry/5957044
exVim 的配色由三部分组成: 你自己的Vim配色, exVim 插件的语法高亮和插件的配色. 你可以按照以下步骤来定制你的配色: 安装你的配色 exVim 提供了三种方法安装你的自定义配色 方法1. 在 ex-colorscheme 中安装(推荐) 首选的方法是在 ex-colorschemes 中安装自己的配色, 这种方法仅仅需要你把自己的配色文件放到 vimfiles/bundle/ex-
目录: 在配置项目yml文件中: 问题: null 客户端YML: 有没有人知道我怎样才能在这两种情况下只带一个配置文件?
丰富的过滤器插件的存在是 logstash 威力如此强大的重要因素。名为过滤器,其实提供的不单单是过滤的功能。在本章我们就会重点介绍几个插件,它们扩展了进入过滤器的原始数据,进行复杂的逻辑处理,甚至可以无中生有的添加新的 logstash 事件到后续的流程中去!
Codec 是 logstash 从 1.3.0 版开始新引入的概念(Codec 来自 Coder/decoder 两个单词的首字母缩写)。 在此之前,logstash 只支持纯文本形式输入,然后以过滤器处理它。但现在,我们可以在输入 期处理不同类型的数据,这全是因为有了 codec 设置。 所以,这里需要纠正之前的一个概念。Logstash 不只是一个input | filter | outpu
在 “Hello World” 示例中,我们已经见到并介绍了 logstash 的运行流程和配置的基础语法。从这章开始,我们就要逐一介绍 logstash 流程中比较常用的一些插件,并在介绍中针对其主要适用的场景,推荐的配置,作一些说明。 限于篇幅,接下来内容中,配置示例不一定能贴完整。请记住一个原则:Logstash 配置一定要有一个 input 和一个 output。在演示过程中,如果没有写明
根据文档--不管应用程序名称如何,如果模式与*/development(即localhost:8888/user/development或localhost:8888/demo/development)匹配,配置服务器应该匹配配置文件模式并获取适当的属性。例如:http://localhost:8888/demo/development我应该从ssh://git@xxxgithub.com/dev