Opayo 3ds2 - sagepay PI 集成 rsa3dsauth.co.uk 无法返回三个 DSSessionData

问题描述

Opayo 从我们的付款请求中返回,要求我们联系 https://www.rsa3dsauth.co.uk/3ds2/cReqWebBased?issuer=barclays" 进行 3D 安全身份验证,因此我们发送:

<form id="c-form" method="POST" action="https://www.rsa3dsauth.co.uk/3ds2/cReqWebBased?issuer=barclays">
  <input type="hidden" name="creq" value="*removed for data protection*" />
  <input type="hidden" name="threeDSSessionData" value="tQtpVHCcCVGEhPNDaeCtMK9I%2fREJERnarovmuZPsM4M6xy6gks9rOYix36waoxOn1wukcobCFbfd2jpmVDVDwZjrd3MzJtmpyFDEAu5R9azVveH6kBEXc5F2ETnFijQfEj5l6EzmH7EnMzbTlFHgbkDGR%2fH9CtURo0K2VSUKHN4%3d" />
  <script>
    document.addEventListener("DOMContentLoaded",function()
    {
      var b = document.getElementById("c-form");
      b && b.submit();
    });
  </script>
</form>

我们回来了

POST https://xxxxx.xxxxxxx.xxx/api/payment/3dsecurechallenge?eid=ctl00_cphMain_Payment_SagePay_ThreeD 
cres=*removed for data protection*&threeDSSessionData=

注意 &threeDSSessionData= 后面没有任何东西,它应该将我们的字符串返回给我们。

documentation 说:

enter image description here

还有其他人遇到这个问题吗?

解决方法

是的!上周我们用 3DSv2 切换到 v4,有几十个客户报告说他们尝试付款,基本上只是回到结账处。现在正在寻找一个巴克莱银行,但也有其他人 - 包括一个他们 3dauth 并且根本没有返回到我们的结账处......

,

threeDSSessionData 似乎是输入标签中的 URL 编码。您是否在没有 URL 编码的情况下尝试过此操作?我相信它应该只使用 base64 编码。

,

只是为了添加更多上下文 - 我们遇到了同样的问题,但仅限于 rsasecure.co.uk 在 6 月初。其他银行工作正常。我们与 Opayo 有一个关于此的未决案例,但没有太多沟通。

我们在发生此问题时关闭了 3DS,但已被建议今天 (23.07.21) 再试一次,因为这可能是银行方面的问题。