请参阅以下有关您的交易失败错误 5006 问题的建议:无法重定向到供应商的网站。供应商未能提供重定向 URL。
错误消息本身并不总是完全准确,因为当他们在回复您的NotificationURL 的帖子时收到的通知响应存在任何类型的问题时,就会显示错误消息。以下是您可以调查的各种已知问题的列表:
1) 您可以确认收到状态为 OK、INVALID 或 ERROR 的交易响应
2) 在将上述三个字段写入 POST 的 Response 对象之前,请确保清除响应缓冲区以删除任何标头代码、注释或 HTML。 Sage Pay 服务器期望“Status=”作为响应中的第一个字符。如果它没有看到这些,它会将响应视为错误并导致事务失败!
3) 您的通知页面应该只响应 Status 字段、RedirectURL 字段和可选的 StatusDetail 字段。这些字段之前或之后不应包含其他 HTML、标题、注释或文本。 Sage Pay 服务器会将所有此类文本视为错误并使交易失败
4) 无论状态如何,都必须将包含有效、完全限定 URL(即以 http:// 或 https:// 开头的地址)的 RedirectURL 发送到您网站上的最终完成页面,Sage Pay 会将您的客户发送到该页面
5) 编码必须为“名称=值”字段,并用回车换行符 (CRLF) 分隔
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)访问,以便与我们的服务器(在模拟器/测试/实时)进行通信。
然而,这种情况总是有改变的余地。 Sage Pay 拥有整个 195.170.169.0/255 范围(256 个 IP)。
9) 您是否使用我们通过 NextURL 传递到您的通知页面的“SecurityKey”在数据库上正确匹配交易
10) 如果 MD5 签名匹配,您的通知脚本应以 OK 状态和指向订单完成页面(如果状态为 OK)或相应订单失败页面(如果状态为 NOTAUTHED 或 ERROR)的 RedirectURL 进行响应。您可能希望 ABORT 消息将客户重定向到为他们提供替代付款方式的页面,或询问他们为什么选择取消。如果签名不匹配,您应该检查您的代码是否正确重建消息,如果您确定是这样,则所有此类消息都应该使用 INVALID 进行响应,并使用 RedirectURL 将用户指向失败页面。