SagePay V4.0 CHALLENGE 已停止为我工作
SagePay V4.0 CHALLENGE has stopped working for me
我正在开发一个使用 sagepay V4.0 协议的 c# 服务。我试图通过传入 CHALLENGE 作为持卡人姓名来模拟 3DAUTH 请求。
本周早些时候它运行良好,但今天返回的响应状态正常,3DSecureStatus 为错误。
查看测试 MySagePay 欺诈结果屏幕,有一个带有消息 "The Authentication callback message was Malformed..." 的红色盾牌
我已将 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
感谢
您需要 ThreeDSNotificationURL。这是银行 post 挑战后返回的页面。
您必须从表单中获取 cres、VPSTxID 和 threeDSessionData 的 post 值,并将它们 post 发送到 SagePay。然后处理 SagePay 响应以查明支付是成功还是失败或者是否发生错误。
我们有同样的问题。我们的代码运行良好。我们将 "CHALLENGE" 作为 CardHolder 传递,我们将获得预期的状态,但在某个时候,我们开始收到“3DSecureStatus=ERROR”。
沙盒有什么变化吗?
我认为它(测试沙箱)现在又能正常工作了。
现在似乎又开始工作了。收到此回复
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 post 发行说明,以便跟踪部署历史。
有关信息,当 post 使用 Cardholder=Challenge 时,您不需要有效的 ThreeDSNotificationURL。
谢谢大家
我正在开发一个使用 sagepay V4.0 协议的 c# 服务。我试图通过传入 CHALLENGE 作为持卡人姓名来模拟 3DAUTH 请求。 本周早些时候它运行良好,但今天返回的响应状态正常,3DSecureStatus 为错误。 查看测试 MySagePay 欺诈结果屏幕,有一个带有消息 "The Authentication callback message was Malformed..." 的红色盾牌 我已将 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
感谢
您需要 ThreeDSNotificationURL。这是银行 post 挑战后返回的页面。
您必须从表单中获取 cres、VPSTxID 和 threeDSessionData 的 post 值,并将它们 post 发送到 SagePay。然后处理 SagePay 响应以查明支付是成功还是失败或者是否发生错误。
我们有同样的问题。我们的代码运行良好。我们将 "CHALLENGE" 作为 CardHolder 传递,我们将获得预期的状态,但在某个时候,我们开始收到“3DSecureStatus=ERROR”。
沙盒有什么变化吗?
我认为它(测试沙箱)现在又能正常工作了。
现在似乎又开始工作了。收到此回复
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 post 发行说明,以便跟踪部署历史。
有关信息,当 post 使用 Cardholder=Challenge 时,您不需要有效的 ThreeDSNotificationURL。
谢谢大家