opayo - SagePay V4.0 CHALLENGE 已停止为我工作
问题描述
我正在开发使用 sagepay 的 V4.0 协议的 ac# 服务。我试图通过传入 CHALLENGE 作为持卡人姓名来模拟 3DAUTH 请求。本周早些时候它工作正常,但今天返回的响应状态正常,3DSecureStatus 为错误。查看测试 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
谢谢
解决方案
您需要 ThreeDSNotificationURL。这是银行在挑战后发回的页面。
在那里,您必须从表单中获取 cres、VPSTxID 和 threeDSessionData 的发布值并将它们发布到 SagePay。然后处理 SagePay 响应以了解支付是成功还是失败,或者是否发生了错误。
推荐阅读
- laravel - 作业内作业的批处理或链接
- firebase - firebase_crashlytics 与 Flutter 的集成无法正常工作 我们将监听您的应用程序以与我们的服务器进行通信
- yarnpkg - Yarn 将单个包安装到单个工作区
- php - 谷歌支付 UPI 集成在 codeigniter
- python-3.x - 使用python后如何访问数据框的第一行
- c# - EF Core,包括派生类型属性
- automation - 衡量 API 的协议测试覆盖率
- javascript - Sequelize:从多列中选择不同的字段值
- coturn - 如何在本地主机上运行的 ubuntu 中运行 coturn
- jmeter - POST Call 在 Postman 中有效,但 JMeter 抛出 HTTP NoHttpResponseException 错误