SagePay返回“SuccessURL格式无效”

时间:2014-03-04 07:02:54

标签: php payment-gateway sagepay

我正在整合基于sagepay表单的集成并且一直在说

Status Detail:  3087 : The SuccessURL format is invalid.

任何有想法的问题是什么,即使我将我的网址更改为.php格式,我也检查过它们也可以访问。

这里有两个我传递给sagepay的网址。

<input type="hidden" name="SuccessURL" value="http://food121.co.uk/en/cart/140304-1/SagePaySuccess.php"/>

<input type="hidden" name="FailureURL" value="http://food121.co.uk/en/cart/step2?shop=93"/>

https://test.sagepay.com/gateway/service/vspform-register.vsp

上执行此操作

同样的问题Getting 3087 error 但仍然没有解决方案。

2 个答案:

答案 0 :(得分:0)

如果您已经仔细检查了网址并且可以通过网络访问,那么您使用的是“加密”字段吗?因为当SagePay从表单中解密你的“地穴”时,它会给你一些与你正在看的字段无关的错误。

检查加密字符串中'SuccessURL'中的内容是否正确。

一种看待这种情况的方法是故意在你的地穴数据中加入错误的值,看看你得到了什么错误。

答案 1 :(得分:0)

我最近遇到了同样的问题。事实证明,SuccessURL字段中Crypt的值完全SuccessURL字段中的值不匹配。

Crypt字段格式为name=value&name=value&...,我假设这些值应该是网址编码的,因此使用http_build_query来创建它。事实证明,必须提供 as-is (未编码)和ISO-8859-1中的值。

鉴于Crypt中的字段未编码,因此不清楚如何在传递给SagePay的值中包含文字符号(&),尽管此字符是允许的一些领域。 SagePay提供的示例代码并不能解决这种可能性,因此在我的情况下,我只是在生成表单之前从所有字段中删除了&符号。