【问题标题】:Sagepay 5006 error code fixSagepay 5006 错误代码修复
【发布时间】:2011-03-16 21:12:21
【问题描述】:

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

我最终无法获得成功或失败的 URL。

【问题讨论】:

    标签: php payment-gateway payment opayo


    【解决方案1】:

    试试

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

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

    【讨论】:

    • @VAC 好吧,就像我说的,最好的办法是直接在他们的论坛上提问。那里的机会要好得多。另外,你没有提供任何代码,所以我非常怀疑这里的任何人都可以帮助你。
    • 请看我在 sagepay 上的下一篇文章...stackoverflow.com/questions/3264328/sagepay-curl-data-posting
    • @Gordon 看起来 SagePay 已经把所有这些都放在了登录后面(或者只是简单地删除了它......)叹息......
    【解决方案2】:

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

    有关这方面的更多信息,请查看Sage Pay Server Protocol and Integration Guidelines

    【讨论】:

      【解决方案3】:

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

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

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

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

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

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

      5) 编码必须为 Name=Value 字段,由回车换行符 (CRLF) 分隔

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

      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)的 RedirectURL或错误)。您可能希望 ABORT 消息将客户重定向到为他们提供替代付款方式的页面,或询问他们为什么选择取消。如果签名不匹配,您应该检查您的代码是否正确地重建了消息,如果您确定是,则所有此类消息都应使用 INVALID 和 RedirectURL 来响应,将用户指向失败页面。

      【讨论】:

      • CIDR格式的IP范围为195.170.169.0/24(即195.170.169.0-255)
      【解决方案4】:

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

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

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

      【讨论】:

        【解决方案5】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-10-04
          • 1970-01-01
          • 2018-05-05
          • 1970-01-01
          • 2019-12-14
          • 1970-01-01
          • 2012-10-27
          • 2013-09-26
          相关资源
          最近更新 更多