问题描述
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=
后面没有任何东西,它应该将我们的字符串返回给我们。
还有其他人遇到这个问题吗?
解决方法
是的!上周我们用 3DSv2 切换到 v4,有几十个客户报告说他们尝试付款,基本上只是回到结账处。现在正在寻找一个巴克莱银行,但也有其他人 - 包括一个他们 3dauth 并且根本没有返回到我们的结账处......
,threeDSSessionData
似乎是输入标签中的 URL 编码。您是否在没有 URL 编码的情况下尝试过此操作?我相信它应该只使用 base64 编码。
只是为了添加更多上下文 - 我们遇到了同样的问题,但仅限于 rsasecure.co.uk 在 6 月初。其他银行工作正常。我们与 Opayo 有一个关于此的未决案例,但没有太多沟通。
我们在发生此问题时关闭了 3DS,但已被建议今天 (23.07.21) 再试一次,因为这可能是银行方面的问题。