这是一个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帐户。
更新:使用表单集成方法在其他帐户上使用此同一帐户(供应商),但相关网站使用了服务器集成方法。个人帐户可以支持多种不同的付款方式,还是需要激活另一种?我在管理面板中看不到与此相关的任何选项。
答案 0 :(得分:8)
收到SagePay的回复后,我发现了以下重要说明:
这里的问题是,在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控制面板中。
其他建议:
答案 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地址
填写IP地址
(子网标记通常为255.255.255.255)