我正在整合基于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 但仍然没有解决方案。
答案 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提供的示例代码并不能解决这种可能性,因此在我的情况下,我只是在生成表单之前从所有字段中删除了&符号。