4

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

我最终无法达到我的成功或失败 URL。

4

5 回答 5

7

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

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

1) 您可以确认收到交易响应,状态为 OK、INVALID 或 ERROR

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

3) 您的通知页面应该只响应状态字段、重定向URL 字段和可选的状态详细信息字段。在这些字段之前或之后不应包含其他 HTML、标题、注释或文本。Sage Pay 服务器会将所有此类文本视为错误并导致交易失败

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

5) 编码必须为 Name=Value 字段,由回车换行符 (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)访问,以便与我们的服务器(在 Simulator/Test/Live 上)进行通信。然而,这总是有改变的余地。Sage Pay 拥有整个 195.170.169.0/255 范围(256 个 IP)。

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

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

于 2013-10-10T11:46:46.307 回答
1

尝试

一些想法。只需在他们的论坛中搜索 5006。有很多帖子。

作为一般建议:对于支付网关,通常最好在各自的供应商站点寻求支持。

于 2010-07-16T10:28:39.780 回答
0

RedirectURL 通常是托管在您自己网站上的页面,该页面设计为订单完成页面,我们在交易完成后将购物者的网络浏览器重定向到该页面。

有关这方面的更多信息,请查看Sage Pay 服务器协议和集成指南

于 2013-09-24T12:30:15.583 回答
0

我遇到了这个问题,这里的建议都不适合我。我最终弄清楚出了什么问题:

  1. 我必须发送带有斜杠的 siteFqdns 值。
  2. 我必须发送没有网站地址前缀的 serverNotificationUrl(即只是页面,而不是完整的 URL)
  3. 我必须对 serverNotificationUrl 值进行 urlencode(因为它包含查询字符串参数)

只有当我完成所有这三件事时,它才会按预期运行。

于 2015-04-21T14:39:54.797 回答
0

我遇到了这个问题并通过更新 strYourSiteFQDN 值来解决。在我的情况下,这些值缺少 https 并且只是 http 。如果站点是 https 并且您仅提供 http,则 Sage 不会重定向。

于 2018-10-05T10:07:01.023 回答