1

我正在尝试使用 Adyen 的安全字段来加密购物者的敏感数据 https://docs.adyen.com/developers/checkout/api-integration

输入应该在页面上呈现为 iframe,但我收到以下错误。

iframe 错误

图书馆嵌入 <head>

<script type="text/javascript" src="https://checkoutshopper-test.adyen.com/checkoutshopper/assets/js/sdk/checkoutSecuredFields.1.3.3.min.js"></script>

形式

<form class="flex-center position-ref h-100" action="{{ route('pay.credit') }}" method="post" id="adyen-encrypted-form">
            @csrf()
            @method('POST')

            <div class="cards-div">

                <div class="js-chckt-pm__pm-holder">
                    <input type="hidden" name="txvariant" value="card" />
                    {{--<div class="form-group">--}}
                        {{--<div class="form-control">--}}
                            <label>
                                <span class="input-field" data-cse="encryptedCardNumber"></span>
                            </label>
                        {{--</div>--}}
                    {{--</div>--}}
                    <div class="form-group">
                        <div class="form-control">
                            <label>
                                <span class="input-field" data-cse="encryptedExpiryMonth"></span>
                            </label>
                        </div>
                    </div>
                    <div class="form-group">
                        <div class="form-control">
                            <label>
                                <span class="input-field" data-cse="encryptedExpiryYear"></span>
                            </label>
                        </div>
                    </div>
                    <div class="form-group">
                        <div class="form-control">
                            <label>
                                <span class="input-field" data-cse="encryptedSecurityCode"></span>
                            </label>
                        </div>
                    </div>
                    <div id="pmHolder" class="js-chckt-pm__pm-holder">
                        <input type="hidden" name="txvariant" value="card">
                        <input type="hidden" name="encryptedCardNumber" id="card-encrypted-card" value="">
                        <input type="hidden" name="encryptedExpiryMonth" id="card-encrypted-month" value="">
                        <input type="hidden" name="encryptedExpiryYear" id="card-encrypted-year" value="">
                        <input type="hidden" name="encryptedSecurityCode" id="card-encrypted-code" value="">
                    </div>

                    <button type="submit" class="btn btn-success btn-lg btn-block">Pagar</button>
                </div>
            </div>

        </form>

Origin键在底部 <body>

<script type="text/javascript">
            var csfSetupObj = {
                rootNode: '.cards-div',
                configObject : {
                    originKey : "pub.v2.8015418815230181.aHR0cDovL2FkeWVuLmJldGE.KfETYJbalDv9FEZ04R8azVjBqUreC611yhD-ZFMwZKI0"
                }
            };
            var securedFields = csf(csfSetupObj);
        </script>
4

3 回答 3

4

只是因为我们也一直在解决这个问题,

确保在生成 originKey 时输入的域上测试 adyens 脚本。

这些必须匹配脚本才能正常工作。如果您想先在本地测试,请在 Adyen 面板中为 localhost:8080 生成第二个 originKey,就像 luke_b 建议的那样。

如果域和域不匹配,iframe 将呈现,但它们不会出现(将具有 disply:none 样式)

于 2019-01-31T13:45:38.130 回答
2

伙计们,事实证明它实际上与代码无关。

在我的帐户面板中,我禁用了这个 CSE 库

解决它的最佳方法是联系 Adyen 的支持或尝试经典集成,您可以在本地托管此库。

于 2019-02-04T15:18:40.147 回答
0

对我来说,我只是将我的本地开发域添加http://127.0.0.1:5000Allowed originsCustomer Area

于 2020-08-19T03:28:00.310 回答