1

I am busy with implementing payments using Sage Pay direct protocol 3.0 (4,0 unavailable yet as I understand)

  1. I register transaction using vspdirect-register.vsp
  2. I redirect user to ACSURL with MD, PAReq and TermUrl using POST
  3. I catch user on TermUrl and check transaction status using direct3dcallback.vsp with MD and PARes

BUT on this stage I always get:

  • STATUS: 'OK'
  • AVSCV2: 'ALL MATCH',
  • StatusDetail: '0000 : The Authorisation was Successful.',
  • AddressResult: 'MATCHED',
  • PostCodeResult: 'MATCHED',
  • CV2Result: 'MATCHED',
  • '3DSecureStatus': 'ERROR'

Using MySagePay tools I get an explanation like :

3D secure status The authentication callback message was MALFORMED. No 3D-Authentication occurred! ERROR
Attempt 1
ECI result Unknown result type

How can I debug this error?

Is it normal that I get status OK even when 3DSecureStatus : ERROR ?

4

3 回答 3

1

Q1:为什么会出现 3-D Secure 错误?

MALFORMED状态指向 SagePay 无法读取您的请求..(例如,它在语法或结构上无效等)。

鉴于 OP 中缺少代码,与其尝试猜测您做错了什么,我将展示我们所做的(可行的 - 我们已经实现了 v3.00 和 4.00)。

我们使用以下参数执行 HTTP POST https://live.sagepay.com/gateway/service/direct3dcallback.vsp(或https://test.sagepay.com/gateway/service/direct3dcallback.vsp在测试的情况下):

对于直接协议 v3.00

  • VPS 协议:“3.00”
  • MD:MD 发布到TermURL(例如 20156570522002324295)
  • PARes:“PARes 发布到TermURL

对于直接协议 v4.00

  • VPS 协议:“4.00”
  • VPSTxId:初始支付响应中的VPSTxId注意大括号{}需要去掉!!!
  • CRes:“发布到”的ThreeDSNotificationURLCRes

Q2:为什么 3-D Secure 失败时会显示 OK 状态?

我相信这可能是由于您的商家规则集。如果 3-D Secure 不可用或失败,您可以说明您希望交易发生的情况。

所以,检查你的规则集。我相信我们会强迫我们的消费者通过 3-D Secure,否则我们的退款百分比会很高。

脚注

我也同意,既然你在做这项工作,那么实施 4.00 版可能会更有益,因为这意味着你的大多数客户应该有更好的体验,你也会有更好的转化率。赢赢。

HTH。

于 2019-08-29T13:43:14.380 回答
0

多谢你们!Sage 支持帮助我找到了问题。关键是——路由“ThreeDSNotificationURL”在“CRes”中进行更改,因为我们已经配置了一些安全行为,当我们在 Sage 端检查这个密钥时——我们得到了一个错误。所以这条路线的一些额外的安全行为已经解决了这个问题。

多谢你们!

于 2019-09-24T08:38:17.203 回答
0

SagePay 测试服务器上提供了 Protocal 4.0,您已经可以开始使用它了。它需要在 2019 年 9 月 14 日之前实施,我从 SagePay 支持人员那里得到的最后信息是,协议 4.0 将在 2019 年 9 月 14 日之前在实时服务器上。

对于您的问题:我调用 ACSURL 并为 MD、PaReq、TermUrl 添加了查询字符串,这可以正常工作。我看到你发布了 PAReq。请注意,我使用 PaReq。小写 a 而不是大写 A。请参阅文档的第 16 页。DIRECT_Integration_and_Protocol_4_Guidelines.pdf

也许您可以发布您发布到 SagePay 的完整 URL。

希望这可以帮助。

于 2019-08-28T12:38:53.437 回答