【问题标题】:Why am I getting the error "4020 : Information received from an Invalid IP address." from SagePay?为什么我收到错误“4020:从无效 IP 地址收到的信息”。来自 SagePay?
【发布时间】:2013-07-15 07:09:21
【问题描述】:

这是一个 PHP (Zend Framework 1.11) 站点,不使用现成的包。当请求:

https://live.sagepay.com/gateway/service/vspserver-register.vsp

(带有TxTypePAYMENT),我得到以下响应:

4020 : Information received from an Invalid IP address.

我已登录 SagePay 管理区域并将实时服务器的 IP 地址添加到有效 IP 部分,并且我已确保它使用正确的 SagePay URL 发布到和。

重要的一点是,这个问题是从今天早上开始的,当时我们通过更改 Vendor 属性更改了接收付款的 SagePay 帐户。

更新:同一帐户(供应商)在其他帐户上使用表单集成方法,但相关站点使用服务器集成方法。个人账户是否可以支持多种不同的支付方式,或者是否需要激活另一种?我在管理面板中没有看到任何与此相关的选项。

【问题讨论】:

  • 数据库未同步?当您更改帐户时,您是否同时切换了关联的密钥?
  • Crypt 服务器模式不需要字段

标签: php zend-framework opayo


【解决方案1】:

在收到 SagePay 的回复后,我发现了以下重要注意事项:

  • 您可以在同一供应商的帐户上交替使用 Form/Server/Direct 集成,无需更改设置或注册任何内容
  • 4020 错误确实是 IP 限制错误,而不是伪装另一个错误

这里的问题是,位于 VPS 上的 Web 服务器 (www.mysite.com) 的 IP 地址结果 与 @987654322 时使用的地址相同提出了@请求。我制作了一个测试 PHP 页面,将$_SERVER['REMOTE_ADDR'] 中的 IP 邮寄给自己,并将其放在另一台服务器上。然后我使用curl 来抓取该脚本,然后发现它是一个不同的 IP。将此(零填充版本)放入 My SagePay 控制面板(使用管理员帐户登录)中的 Valid IPs 部分,它立即变得栩栩如生。

更新

你可以使用:

curl icanhazip.com

像这样:

[user@host ~]# curl icanhazip.com
177.12.41.200

从您托管网站的服务器的命令行中显示要使用的正确 IP,而不是上传文件和所有这些问题。 More information and usage here.

【讨论】:

  • 我不得不打电话给 Sage Pay,他们跟踪了失败的交易,给了我正确的 IP 以添加到 MySagePay,我很高兴。
  • 优秀的答案。多次遇到这个问题。获取实际服务器 IP 的唯一方法是使用您在上面解释的 CURL 请求。
【解决方案2】:

您必须将您的 IP 地址添加到 SagePay 控制面板中。

其他建议:

  • 您可以在 www.whatismyip.com 上仔细检查您的 IP 地址并比较您添加的内容,
  • 确保您的地址在添加后没有发生变化(例如,您有动态地址),
  • 检查您的 Apache 用户是否配置为使用不同的 IP 地址,

【讨论】:

    【解决方案3】:

    我们需要将 Web 服务器 IP 地址添加到 Sagepay。 (???如果我在这里错了,请纠正我)

    更多详情:

    本地环境:

    1) 在你的本地环境中,你需要找到你的公网IP:

    dig +short myip.opendns.com @resolver1.opendns.com
    curl icanhazip.com
    curl ipecho.net/plain
    

    或使用:https://www.whatismyip.com/

    在这种情况下,Web 服务器 ip 地址使用您的公共 ip。

    2) 开发、登台、现场环境:登录到 Web 服务器。使用上述命令查找 IP 地址。

    然后,登录 Sagepay 帐户:设置 > 有效 IP > 添加 IP 地址

    填写IP地址
    (子网标记大多是255.255.255.255)

    【讨论】:

      【解决方案4】:

      我就这个错误联系了 Sagepay,已经尝试按照其他答案中的说明添加我的 IP(这没有帮助)。

      在我的情况下,他们说问题在于他们的帐户缺少内部 IP,与请求的来源无关。

      他们在我打电话时添加了 IP,从而解决了问题。 如果添加服务器 IP 没有帮助,那么值得给他们打电话。

      【讨论】:

      • 并且要在控制面板中看到添加IP的界面需要以管理员用户身份登录
      • 这里也一样。他们说除非我有商家帐户 ID 等,否则他们无法帮助我。我无权访问这些,但我确实拥有对 MySagePay 的管理员访问权限 - 电话上的聪明人迅速识别出一个特定的 SagePay 内部 IP 地址(与做我的 API 调用)丢失了,他告诉我它是什么,我的网站可以正常工作! TL;DR 立即给他们打电话
      猜你喜欢
      • 2013-12-22
      • 2016-04-18
      • 2010-11-15
      • 2018-07-01
      • 2014-06-01
      • 1970-01-01
      • 2013-11-01
      • 1970-01-01
      • 2017-11-30
      相关资源
      最近更新 更多