Защищенные поля Адьена не отображаются - PullRequest
0 голосов
/ 10 декабря 2018

Я пытаюсь использовать защищенные поля Adyen для шифрования конфиденциальных данных покупателя. https://docs.adyen.com/developers/checkout/api-integration

Предполагается, что входные данные будут отображаться как фреймы на странице, но я получаю следующую ошибку.

ошибка iframe

Libray встроить в <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>

Исходный ключ внизу <body>

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

Ответы [ 2 ]

0 голосов
/ 04 февраля 2019

Ну, ребята, оказалось, что это не было связано с кодом на самом деле.

В моей учетной записи у меня была отключена библиотека CSE

. Лучший способ решить эту проблему - связаться со службой поддержки Adyen или попробовать классическую интеграцию, в которой выможет разместить эту библиотеку локально.

0 голосов
/ 31 января 2019

только потому, что мы тоже столкнулись с этой проблемой,

убедитесь, что вы тестируете скрипт adyens на домене, который вы указали при создании originKey.

те ДОЛЖНЫсовпадать, чтобы скрипт работал правильно.Если вы хотите сначала протестировать это локально, сгенерируйте второй originKey в Adyen Panel только для localhost: 8080, как предложил luke_b.

Если домен и домен не совпадают, iframes будут отображаться, но они не будутпоявляются (будет отображаться: на них нет стилей)

...