Web Drop-in 集成

Web Drop-in integration

我目前正在实施 Adyen Web Drop-in 集成,但 运行 在登台测试时遇到问题。

从 Adyen 开发人员控制台,我可以看到会话端点的 API 请求和响应,其中 returns sessionData 负载符合预期。

然后我们将 sessionData 传递到正确呈现表单的页面。

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

    <script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.10.0/adyen.js"
            integrity="sha384-LoKEanRPljHoEsT5o+grBn8hgVzoPevwGvRd+gOp/2Xgc4Jx2FQkx29092SKDdeY"
            crossorigin="anonymous"></script>

    <link rel="stylesheet"
          href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/5.10.0/adyen.css"
          integrity="sha384-DB96UxMFf+ytuAxtum6/9TOoG/y+vUDFbqolCb7OcQvBA+qSrGaRrl81nMADo/+9"
          crossorigin="anonymous">
</head>

<body>
    <div id="dropin-container"></div>
    <script type="text/javascript">
        (async () => {
            let checkout = await AdyenCheckout(${partnerJsonParameters?string});
            checkout.create('dropin').mount('#dropin-container');
        })();
    </script>
</body>
</html>

用测试信用卡号填写表格并单击“支付”后,我在浏览器网络窗格中看到两个请求,CORS 预飞行很好,然后第二个请求失败

{"status":403,"errorCode":"010","message":"Not allowed [This error message is only provided on TEST, this error will be a 500 Internal Error on LIVE.]","errorType":"security"}

我找到了两篇关于这个错误的文章,https://www.adyen.help/hc/en-us/articles/360014216000-Why-do-I-receive-a-403-or-010-Not-Allowed-error- and https://docs.adyen.com/development-resources/error-codes#010-not-allowed但是角色似乎没问题。

我已验证来自服务器端的会话和结帐配置都配置了“测试”环境。关于我还可以尝试什么的任何指示?

在与 Matthew 反复讨论后,这里是解决方案。

We have seen this error happening before on the test environment, and the best way to resolve is to use another API user. Would it be possible to create a new API user as described here, or use another of the existing ones? Using the API Key and Client Key from the new user should resolve the issue.