为什么我收到错误“4020:从无效的IP地址收到的信息”。来自SagePay?

时间:2013-07-15 07:09:21

标签: php zend-framework sagepay

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

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

TxType的{​​{1}}),我收到以下回复:

PAYMENT

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

一个重要的注意事项是,此问题是今天早上开始的,当时我们通过更改4020 : Information received from an Invalid IP address. 属性更改了付款发送到的SagePay帐户。

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

4 个答案:

答案 0 :(得分:8)

收到SagePay的回复后,我发现了以下重要说明:

  • 您可以在同一供应商的帐户上互换使用表单/服务器/直接集成,而无需更改设置或注册任何内容
  • 4020错误确实是IP限制错误,并没有伪装另一个错误

这里的问题是,在VPS上的网络服务器(www.mysite.com)的IP地址被证明与{{}时使用的地址相同1}}提出了请求。我做了一个测试PHP页面,它将curl中的IP邮寄给我自己并将其放在另一台服务器上。然后我使用$_SERVER['REMOTE_ADDR']来获取该脚本并且低,看它是一个不同的IP。将此(零填充版本)放入My SagePay控制面板中的curl部分(使用管理员帐户登录),它立即生效。

更新

您可以使用:

Valid IPs

像这样:

curl icanhazip.com

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

答案 1 :(得分:4)

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

其他建议:

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

答案 2 :(得分:0)

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

在我的案例中,他们说问题是他们在帐户上缺少内部IP,与请求的来源无关。

他们在我打电话时添加了IP,并对问题进行了分类。 如果添加服务器IP并不值得给他们打电话。

答案 3 :(得分:0)

我们需要将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地址

enter image description here

填写IP地址
(子网标记通常为255.255.255.255)