PayPal IPN 使用 PHP 生成 HTTP 302 错误

2024-01-08

我有一个可以运行的 IPN 脚本,并且已经工作了一段时间。最近我开始得到一个HTTP/1.1 302 Moved Temporarily作为回应,无法确定原因。

以下是与发布到 PayPal 并获取响应相关的代码:

$sd = @fsockopen('ssl://www.paypal.com', 443, $errno, $errstr, 30);
if(!$sd) {
    $error = 'Error opening socket connection to PayPal: '.$errstr;
    quit($error, $errno);
}

$req = 'cmd=_notify-validate';
foreach($_POST as $key=>$value) $req .= "&{$key}=".urlencode(stripslashes($value));

// post back to PayPal to validate
$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";
$header .= "Host: http://www.paypal.com/\r\n";
$header .= "Connection: close\r\n\r\n";

fputs($sd, $header.$req);
$response = '';
while(!feof($sd)) $response .= fgets($sd, 4096);
fclose($sd);

请注意,所有连接、传输和响应均有效,但我没有收到错误消息。但 PayPal 的响应并不正确,因为它没有提供其文档中所述的 VERIFIED 或 INVALID,而是提供 HTTP 302 错误。


我以这种方式构建我的请求(并且它有效)。也许它可以帮助你

$req = 'cmd=_notify-validate';
foreach ($_POST as $key => $value) {
    $value = urlencode(stripslashes($value));
    //Fixes some special characters Paypal sends
    $value = preg_replace('/(.*[^%^0^D])(%0A)(.*)/i','${1}%0D%0A${3}', $value);
    $req .= '&' . $key . '=' . $value;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PayPal IPN 使用 PHP 生成 HTTP 302 错误 的相关文章

  • URL 中的 %2F 中断并且未引用所需的 .php 文件 [重复]

    这个问题在这里已经有答案了 我需要将 作为变量作为 URL 的一部分传递 我的结构如下所示 www domain com listings page 1 city Burnaby South type Townhome bedroom 2
  • 如何在 Zend Framework 3 中注册自定义表单视图助手

    我正在将继承的 Zend Framework 2 应用程序迁移到 Zend Framework 3 并且在注册自定义表单视图助手时遇到了一些困难 这些助手在应用程序使用版本 2 时起作用 主要用于添加标签属性以实现可访问性 例如 这是一个自
  • 如何在laravel中注册后自动登录

    我在 laravel 中注册用户时遇到问题 user假设是包含所有数组元素的数组 同时自动登录以下代码结果false 数据库中保存的密码是hash make password user id this gt user model gt ad
  • 为什么我的会话仍然存在?

    我一定很愚蠢 因为似乎一件相当明显的事情现在让我完全困惑 我有一个会议 ie SESSION handbag id 在某个时刻 我需要彻底终止这个会话 ie at the start of the page session start el
  • php 数组中出现意外的 json 输出结构

    我正在尝试转换动态数据 如何从 PHP 获取此 JSON JSON 122240cb 253c 4046 adcd ae81266709a6 item 0 3 这就是我所做的 但它不起作用 PHP json array 122240cb 2
  • 按文件名对 $_FILES 进行排序 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 他俩 如您所知 在新的 HTML5 中 您可以非常轻松地上传多个文件 但我这里的问题是如何按列 名称 对 FILES 数组进行排序 这是
  • PHP:读取所有传入 HTTP 请求的类 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在 GitHub Action 中使用不同版本的 PHP 进行测试

    我有一些 PHP 代码 其中包含使用以下命令运行的测试PHPUnit并想对其进行测试GitHub Actions 我在他们的文档中找不到测试 PHP 包的方法 我想使用不同版本的 PHP 进行测试 但他们只有最新的版本7 3安装 您可以添加
  • 覆盖 FOS 用户包中的“更改密码”模板

    我做了一些研究 遗憾的是找不到任何帮助 因此 我将 FOSUserBundle ChangePasswordAction 渲染到我的模板中 但它显示供应商提供的默认模板 我的渲染控制器的模板 block body h2 Einstellun
  • PHP 中标头的使用

    非常简单的问题 这两个 PHP 版本 5 标头调用中哪一个是 最好的 header Not Modified true 304 header HTTP 1 1 304 Not Modified 我很确定第一个是最多价的 但只是好奇如果在 H
  • 通过互联网IP地址从一台计算机访问xampp到另一台计算机

    我试图从另一台计算机访问我的 xampp 它显示为禁止错误 然后我在 google 上搜索答案 因为他们告诉在 apache 文件夹中的 httpd conf 文件中更改一些设置 如下所示 Order Deny Allow Deny fro
  • 如何使用 C# 中的参数将用户重定向到 paypal

    如果我有像下面这样的简单表格 我可以用它来将用户重定向到 PayPal 以完成付款
  • 如何处理 REST api 中的 php 通知、警告和错误?

    在 REST API 中 200 响应表明操作成功 PHP 默认情况下直接在响应正文中输出错误消息 而不更改响应代码 在 SPA 中 用户无法直接看到响应文本 因此 当应用程序未按预期工作时 我通过 FireBug 检查响应正文 以检查可能
  • php - 解析html页面

    div divbox div p para1 p p para2 p p para3 p table class table tr td td tr table p para4 p p para5 p 有人可以告诉我如何解析这个 html
  • PHP 检查当前日期是在设定日期之前还是之后

    我从数据库中提取一个日期 其格式为 dd mm YYYY 我想做的是检查当前日期 如果当前日期早于数据库中的日期 则需要打印数据库日期 如果是在之后 则需要打印 继续 有人能指出我正确的方向吗 if strtotime database d
  • session_start():无法解码会话对象

    我有时在使用 CodeIgniter 时遇到以下问题 错误 2019 03 05 19 57 26 gt 严重性 警告 gt session start 无法解码会话对象 会话已被销毁 system libraries Session Se
  • PHP 表单 - 带验证蜜罐

    我有以下内容 效果很好 但对垃圾邮件机器人开放 我想放入蜜罐 而不是验证码 下面的代码适用于验证姓名 电子邮件 消息 但我无法让它与蜜罐一起工作 任何人都可以查看 蜜罐 代码并告诉我如何修复它吗 我希望表单给出 success2 不允许垃圾
  • 矩形超出边界是什么意思

    PPB Graphics2D PaintImageData 矩形超出界限是什么意思 我几乎在我检查的每一段代码中都看到了它 最新的代码是 define my consumer key define my consumer secret oa
  • 通过 htaccess 将 PNG 解析为 PHP 仅适用于本地服务器,但不适用于网络服务器

    我用 PHP 创建了一个动态 PNG 图片 为了使用 PNG 扩展名 我创建了一个包含以下内容的 htaccess 文件 AddType application x httpd php png 在我的本地 XAMPP 服务器上 一切工作正常
  • PHP更改小数点分隔符

    在某些情况下 PHP 会在操作后更改小数点分隔符 下面是一个示例 为什么小数点分隔符变成 这是一个多语言网站 在西班牙语版本中 区域设置设置为西班牙语 es ES 小数点分隔符为 这就是为什么正在改变 解决方案是强制 LC NUMERIC

随机推荐

  • 在jar文件中的类中调用静态方法[重复]

    这个问题在这里已经有答案了 我想在 jar 文件中的类中执行特定方法 该文件没有 main 方法 使用我尝试过的 java 命令java cp classes jar com example test Application但我收到这个错误
  • QTreeWidget editItem 失败并显示“编辑:编辑失败”

    我有一个QTreeWidgetItem添加到QTreeWidget QTreeWidgetItem item new QTreeWidgetItem ui gt trwPairs item gt setFlags item gt flags
  • 使用 Matplotlib 模拟 Origin 中的瀑布图

    我正在尝试使用 Python 和 Matplotlib 创建 Origin 制作的瀑布图 见下图 or 一般方案对我来说很有意义 你从一个 2D 矩阵开始 就像你想制作一个曲面图一样 然后你可以遵循中显示的任何食谱StackOverflow
  • 为什么 unsigned int 还是有符号的? [复制]

    这个问题在这里已经有答案了 我创建了一个 unsigned int 和 unsigned char 然后我分配 10 值 并且 char 保持无符号并给我一个值 246 但 unsigned int 取 10 值 include
  • 从结构体向量中,获取一个收集每个结构体的字段之一的向量

    假设我有以下结构 struct Point double X Y Z 和以下向量 std vector
  • 如何测试某个值是否在某个范围内?

    我希望能够创建一个Range http doc rust lang org std ops struct Range html然后测试变量是否包含在该范围内 看起来像这样的东西 fn main let a 3 5 assert a cont
  • Grails 3.0.9:Spock 集成测试的 @Rollback 注释不起作用

    我目前正在为我们的项目进行一些集成 或功能性 我不是真正的 QA 而是后端开发人员 所以我可能会草率地使用术语 REST 测试 我们正在使用 Grails 3 0 9 Spock Framework 1 0 Groovy 2 4 和 Pos
  • 带有模式android的EditText输入

    我有一个 EditText 我必须接受字母数字用户输入的特定于模式和连字符的输入 会自动插入 XXX XXX XXXX 如何做到这一点 安卓有什么模式工具吗 你可以通过以下方式实现图案文本观察者 https github com zsave
  • 读取csv文件并将df写入excel并使用文本换行

    我正在尝试获得以下输出 但除标题外 所有行和列均采用文本换行 import pandas as pd import pandas io formats style import os from pandas import ExcelWrit
  • 如何在 2D 和 3D 投影之间切换

    我有一个 matplotlib 图 我希望能够在 2D 和 3D 投影之间切换 我可以从 2D 转到 3D 但我似乎不知道如何转到另一条路 例子 import numpy as np from mpl toolkits mplot3d im
  • Eclipse - 更改自动完成建议的顺序

    我看到以前有人问过这个问题 但我似乎找不到我想要的 目前 在 窗口 gt 首选项 gt Java gt 编辑器 gt 内容辅助 中 我的排序建议设置为 按相关性 然而 他们似乎仍然按字母顺序排序 例如 每当我有一个HashMap我开始打字m
  • 如何将数组元素扩展为函数的单独参数

    我有一组具有动态值的颜色 这取决于数据库 现在 函数中需要这些值 该函数仅采用像此函数那样的值 para1 para2 para3 para4 其中 param1 到 param4 是数组中的颜色值 问题是我如何以上述格式将这些值解析为该函
  • 无法使用 BigQuery Python API 设置目标表

    我最近在使用 Python API 时收到以下 BigQuery 错误 google api core exceptions BadRequest 400 无法为脚本设置co nfiguration query destinationTab
  • Text[] 数组列的表索引

    我有一个 PostgreSQL 数据库表text 数组 在其上定义的列 我使用这些列以这种方式搜索数据库中的特定记录 select obj from business where street ANY address line 1 and
  • ExtJs。设置行编辑单元格值

    我有带有 RowEditing 插件的网格 编辑器有 2 列 一列带有组合框 另一列带有禁用的文本字段 我需要在更改组合框值后更改文本字段值 我有组合框监听器 listeners select function combo records
  • 在 AWS CDK 中组织安全组规则的最佳方式

    对于我的示例 我有一个 EKS 集群 RDS 数据库和一个 VPN 客户端端点 每个端点都有自己的安全组 我希望在这些安全组之间显式定义出口 入口规则 我在RDS堆栈中定义数据库安全组 导入EKS VPNaws ec2 SecurityGr
  • SQL Server:根据参数将存储过程结果插入表中

    我有一个存储过程Test Sp它以这种方式返回数据 Id Name Age Address State Country 1 ManiS 25 aaaa bbb ccc 该存储过程返回 6 列数据 但我只想将前 2 列插入临时表中 我的临时表
  • Bootstrap 3 DatePicker - 如何在不重置选择器配置的情况下重置所选日期?

    我正在尝试重置单击按钮时选定的日期 但到目前为止我只能清除input元素 选择器上没有实际日期 下面的代码重置了所有内容 包括配置和日期 所以它显然不是我需要的 datepicker datepicker update resets eve
  • 如何从曲线拟合中提取残差

    我在 Matlab R2016a 中使用曲线拟合来找到两个数组之间的最佳拟合 一个数组表示给定纬度和经度处的某个值 另一个数组表示收集该值的日期 在使用曲线拟合工具时 我能够找到一条最佳拟合线并绘制残差 我只关心残差 但是 当我将残差导出到
  • PayPal IPN 使用 PHP 生成 HTTP 302 错误

    我有一个可以运行的 IPN 脚本 并且已经工作了一段时间 最近我开始得到一个HTTP 1 1 302 Moved Temporarily作为回应 无法确定原因 以下是与发布到 PayPal 并获取响应相关的代码 sd fsockopen s