Sagepay 5006错误代码修复

时间:2010-07-16 10:18:53

标签: php payment-gateway payment sagepay

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

我无法达到我的成功或失败的网址。

5 个答案:

答案 0 :(得分:7)

请参阅以下有关您的交易失败错误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)分隔的名称=值字段

6)您的服务器上的通知页面可“崩溃”,你应该检查,以确保您的服务器上的通知页面能够正确处理所有贤者收费(OK,中止,NOTAUTHED,拒绝,待批和发送的消息ERROR)。

7)你应该送OK,在发生在验证通知POST没有错误的所有情况,所以即使贤者收费送你中止或NOTAUTHED的状态,你应该以确定并指向一个页面的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适当的顺序失败页面(如果状态是NOTAUTHED回应或错误)。您可能希望ABORT消息将客户重定向到为他们提供替代付款方式的页面,或询问他们选择取消的原因。如果签名不匹配,您应检查您的代码是否正确重建消息,如果您确定它是,则应使用INVALID和RedirectURL响应所有此类消息,并将用户指向失败页面。 / p>

答案 1 :(得分:1)

尝试

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

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

答案 2 :(得分:0)

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

有关此问题的详情,请查看Sage Pay Server Protocol and Integration Guidelines

答案 3 :(得分:0)

我有这个问题,这里没有任何建议对我有用。我最终弄清楚出了什么问题:

  1. 我必须使用尾部斜杠发送siteFqdns值。
  2. 我不得不发送没有网站地址的serverNotificationUrl 前缀(即只是页面,而不是完整的URL)
  3. 我必须对serverNotificationUrl值进行urlencode(因为它 包括查询字符串参数)
  4. 只有当我完成所有这三件事时,它才会按预期行事。

答案 4 :(得分:0)

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