编程语言
首页 > 编程语言> > php – Sagepay 5006错误代码修复

php – Sagepay 5006错误代码修复

作者:互联网

任何人都可以告诉我为什么sagepay抛出5006(无法重定向到供应商的网站.),我可以将交易发布到sagepay并且能够在sagepay结束时提供信用卡信息.但是,我的问题是,一旦它返回到我的通知页面,它会抛出错误5006.

我无法达到我的成功或失败的URL.

解决方法:

请参阅以下有关您的交易失败错误5006的问题的建议:无法重定向到供应商的网站.供应商未能提供RedirectionURL.

错误消息本身并不总是完全准确,因为当他们收到回复他们发给NotificationURL的帖子时收到的通知响应有任何问题时会显示错误消息.以下是您可以调查的各种已知问题的列表:

1)您可以确认收到状态为OK,INVALID或ERROR的事务响应

2)在将上述三个字段写入POST的Response对象之前,请确保清除响应缓冲区以删除任何标题代码,注释或HTML. Sage Pay Server期望“Status =”成为响应中的第一个字符.如果它没有看到这些,它会将响应视为错误并使事务失败!

3)您的通知页面应仅响应状态字段,RedirectURL字段和可选的StatusDetail字段.在这些字段之前或之后不应包含其他HTML,标题,注释或文本. Sage Pay Server会将所有此类文本视为错误并使事务失败

4)无论状态如何,必须将包含有效的完全限定URL(即以http://或https://开头的地址)的RedirectURL发送到您Sage Pay将向您的客户发送到您网站的最终完成页面

5)编码必须是由运行返回换行符(CRLF)分隔的Name = Value字段

6)您服务器上的通知页面可能“崩溃”,您应该检查以确保服务器上的通知页面能够正确处理Sage Pay发送的所有消息(OK,ABORT,NOTAUTHED,REJECTED,PENDING和ERROR).

7)您应该在验证通知POST时没有发生错误的所有情况下发送OK,因此即使Sage Pay向您发送ABORT或NOTAUTHED状态,您也应该回复OK和RedirectURL,指向通知客户的页面交易没有完成.

8)Sage Pay网关在各种固定IP地址上运行,它们通常使用单独的IP地址来响应所有事务请求.

请确保您的服务器或防火墙内允许以下所有IP地址:

对于我们网关的出站流量:

195.170.169.9 – live.sagepay.com
195.170.169.8 – test.sagepay.com

对于入站流量,如果使用SERVER,则只需将IP列入白名单,因为这是启动回叫的唯一解决方案.您不需要将它应用于我们的FORM和DIRECT集成.我们回电的IP是:

195.170.169.14
195.170.169.18
195.170.169.15

Sage Pay使用的子网掩码为255.255.255.000.

确保您的防火墙允许出站端口443(仅限HTTPS!)和入站端口443(以及可选80 HTTP)访问,以便与我们的服务器通信(在Simulator / Test / Live上).
但是,总是有改变的余地. Sage Pay拥有整个195.170.169.0/255范围(256个IP).

9)您是否使用我们通过NextURL传递到您的通知页面的’SecurityKey’在您的数据库上正确匹配交易

10)如果MD5签名匹配,您的通知脚本应响应状态为OK,RedirectURL指向订单完成页面(如果状态为OK)或适当的订单失败页面(如果状态为NOTAUTHED或ERROR) .您可能希望ABORT消息将客户重定向到为他们提供替代付款方式的页面,或询问他们选择取消的原因.如果签名不匹配,则应检查您的代码是否正确重建消息,如果您确定它是,则应使用INVALID和RedirectURL将用户指向故障页面来响应所有此类消息.

标签:php,payment-gateway,payment,sagepay
来源: https://codeday.me/bug/20190610/1213043.html