我正忙于使用Sage Pay direct 3.0实现支付(据我所知,4,0不可用)
但在这个舞台上我总是得到:
使用MySagePay工具可以得到如下解释:
三维安全状态身份验证回调消息格式错误。没有进行3D验证!错误 尝试1 结果未知结果类型
如何调试此错误?
即使在3DSecureStatus : ERROR时,我的状态也是正常的吗?
发布于 2019-08-29 13:43:14
Q1:你为什么要得到一个三维安全错误?
MALFORMED状态表明SagePay无法读取您的请求。(例如,它在语法上或结构上是无效的等等)。
考虑到OP中缺少代码,而不是试图猜测您做错了什么,我将展示我们做了什么(这是有效的-我们实现了v3.00和4.00)。
我们使用以下参数对https://live.sagepay.com/gateway/service/direct3dcallback.vsp执行HTTP (在进行测试时执行https://test.sagepay.com/gateway/service/direct3dcallback.vsp ):
直接协议v3.00
TermURL (例如20156570522002324295)TermURL__“直接协议v4.00
{} VPSTxId:最初付款回复中的VPSTxId (注意,需要删除的花括号!)ThreeDSNotificationURL__的CRes”Q2:当3D安全失败时,你为什么会得到一个OK状态?
我相信这可能是由于你的商人规则。如果3D安全不可用或失败,您可以声明您希望在事务中发生什么。
所以,看看你的规则集。我相信,我们迫使我们的消费者通过3D安全,因为我们的收费百分比相当高,否则.
脚注
我也同意,既然您正在做这项工作,实现4.00版本可能会更有益处,因为这意味着您的大多数客户应该有更好的体验,而且您的转换率也会更高。赢得胜利。
HTH。
发布于 2019-08-28 12:38:53
协议4.0在SagePay测试服务器上是可用的,您可以开始处理这个问题了。它需要在2019年9月14日之前实现,我从SagePay支持人员那里得到的最后一个信息是,协议4.0将在2019年9月14日之前在现场服务器上运行。
对于您的问题:我使用添加的查询字符串调用ACSURL,用于MD、PaReq、TermUrl,运行良好。我看到你发了PAReq。请注意,我使用PaReq。A小a而不是大写A。见文件第16页。Guidelines.pdf
也许你可以把你发到SagePay的完整网址贴出来。
希望这能有所帮助。
发布于 2019-09-24 08:38:17
谢谢你们!智者的支持帮助我找到了问题。重点是-路由'ThreeDSNotificationURL‘在'CRes’中进行更改,因为我们已经配置了一些安全行为,当我们在Sage侧检查这个密钥时,我们得到了一个错误。因此,该路由的一些额外的安全行为解决了这个问题。
谢谢你们!
https://stackoverflow.com/questions/57691937
复制相似问题