我正在使用Sagepay V4.0协议的C#服务。我试图通过传递CHALLENGE作为持卡人姓名来模拟3DAUTH请求。 本周早些时候运行良好,但今天返回的响应状态为OK,而3DSecureStatus为ERROR。 在测试MySagePay欺诈结果屏幕上,有一个红色的防护罩,显示消息“身份验证回调消息格式不正确...”。 我已将ThreeDSNotificationURL设置为不存在的页面,但错误可能是Sage正在以某种方式尝试验证此页面吗? 我期望状态响应为“ 3DAUTH”。 非常感谢任何帮助,包括有关从mysagepay控制台错误获取更多信息的任何提示。 这是我发送的消息的一部分
&ThreeDSNotificationURL= http://test.somepage.com/testpage.aspx
&UseDefaultValues=True
&BrowserAcceptHeader=Unknown
&BrowserLanguage=en-GB
&ChallengeWindowSize=03
&BrowserJavascriptEnabled=1
&BrowserJavaEnabled=1
&BrowserColorDepth=16
&BrowserScreenHeight=800
&BrowserScreenWidth=1500
&BrowserTZ=-60
&VPSProtocol=4.00
&TxType=PAYMENT
&Vendor=mycompany
&Currency=GBP
&ClientIPAddress=127.0.0.1
&BrowserUserAgent=Unknown
&Apply3DSecure=0
谢谢
答案 0 :(得分:0)
您需要ThreeDSNotificationURL。这是银行在挑战后发回的页面。
您必须从表单获取cres,VPSTxID和threeDSessionData的发布值,并将它们发布到SagePay。然后处理SagePay响应,以了解付款成功还是失败或是否发生错误。
答案 1 :(得分:0)
我们有同样的问题。我们的代码工作正常。我们将通过“挑战”作为CardHolder,并获得预期的状态,但是在某些时候,我们开始收到“ 3DSecureStatus = ERROR”。
沙箱有什么变化吗?
答案 2 :(得分:0)
我认为它(测试沙箱)现在又可以正常工作了。
答案 3 :(得分:0)
似乎现在可以重新工作了。得到这个回应
VPSProtocol=4.00
Status=3DAUTH
StatusDetail=2021 : Please redirect your customer to the ACSURL, passing CReq.
VPSTxId={2FD68707-9DDC-76B8-2002-FBAE65F}
3DSecureStatus=OK
ACSURL=https://test.sagepay.com/3ds-simulator/html_challenge
CReq=ewogICJtZXNzYWdlVHlwZSIgOiAiQ1JlcSIsCiAgIm1lc3NhZ2VW
在测试站点上一定是短暂的。很高兴知道Sage是否针对这些实例发布了发行说明,以便可以跟踪部署历史记录。
有关信息,使用Cardholder = Challenge发布时,您不需要有效的ThreeDSNotificationURL。
谢谢