我有以下相同的问题: Sagepay Direct 3D Secure Blank Page Issue ....虽然在我的实例中没有涉及任何魔术,但我仍然无法显示3D安全测试页。这是提交的表单字段(根据Chrome的开发者工具的“网络”标签):
<form name="form" id="3dsecureform" action="https://test.sagepay.com/mpitools/accesscontroler?action" method="post">
<input type="hidden" name="MD" value="20156449501764516147" />
<input type="hidden" name="PaReq" value="eJxVUUFuwjAQvPcVUa6VWDuxE0CLEW0OpYIqKlRC3NzEKmmTAE7SQl+PDUkpt5n1emZ3FseHIne+la6ybTlyaY+4Y3GHy41WKlqopNFK4FxVlfxQTpaOXI9QHjA24ISGAeM0oCx0BcaTV7UX2AoJo9OjCB01CjrZyLIWKJP9w/RFMNLnvofQUiyUnkaCM8L8gBM/9PseCxEuZSxlocSzzLNZnSKcGSbbpqz1UfS9AKEj2OhcbOp6NwRAsATh6h03FlXm8yFLhcybr08S/t7/kOh9uQoGJNaz9WodvZERgu3AVNZKmI0HJPSJQ9mQB0NuxjrXURbWVXjMTG02uTDcWZPJzdP/EppItSqTbvCOoTrstqWynxD+MKaqSsTChh/LozOPp8bclhCuyzw+2ViT2iRFbaJnZPUyk4hHyEXQEgTbC+2xoL2rQTf3PgFvDqs0" />
<input type="hidden" name="TermUrl" value="https://www.EXAMPLE.co.uk/sagepay/3dsecurecallback" />
<button type="submit btn btn-primary">Submit</button>
</form>
我尝试将表单操作更改为?action=auth
。这产生了一个3D安全页面,但是所有字段都显示为空。我使用的是PHP,因此我也尝试将trim(urlencode())
放在每个字段中。结果相同-POST的结果为200,但响应完全空白。我认为提交的字段一定有问题.....
答案 0 :(得分:0)
我已经检查了开发日志,并确实从SagePay返回了https://test.sagepay.com/mpitools/accesscontroler?action=pareq以获取ACSURL。在我看来,您的表单在?action之后丢失了= pareq。希望这能解决问题。
答案 1 :(得分:0)
进行了两项更改: 1.根据KH-S的评论,需要将pareq附加到表单操作中[我认为我的PHP方法已从SagePay响应中将其删除] 2.在SagePay界面中,需要在“设置”下添加网站URL。
这两个更改都是必需的。 感谢您的帮助,KH-S。
答案 2 :(得分:0)
在尝试实现3DS2时遇到了相同的问题,在尝试重定向到提供的acsUrl
时收到空白页。 (即https://test.sagepay.com/mpitools/accesscontroler?action=pareq)
在表示支持后,他们说我应该在帐单地址上仅使用United Kingdom / GB,因为目前似乎还有其他错误(我最初使用的是阿富汗,因为它是清单中的第一位)。
遵循此建议后,我在https://test.sagepay.com/3ds-simulator/html_challenge中得到了完全不同的acsUrl
。
我认为这只是暂时的问题,但是对于那些现在实施此问题的人来说值得注意