Подтвердить что ты не робот

Использование Stripe Checkout с помощью Cordova ios 4.0.0+

Я пытался получить Stripe checkout, работая с Cordova iOs 4.2.0, и мне не повезло. Последняя версия ICO в Кордове, с которой она работает, - 3.9.2. Чтобы проверить, я сделал пустое приложение hello world cordova и добавил этот код для полосы (проверен на ios 9 и 10):

<script
    src="https://checkout.stripe.com/checkout.js" class="stripe-button"
    data-key="xxxxxxx"
    data-amount="999"
    data-name="Oki Technologies Inc"
    data-description="Widget"
    data-locale="auto"
    data-currency="cad">

Теперь он отлично работает на Cordova ios 3.9.2, но на 4.0.0+ он просто имеет пустой iframe с темным наложением. Я думаю, что он пытается открыть всплывающее окно на новой вкладке, такой как мобильная сеть, а не как всплывающее окно, как это предполагается делать в приложении. Я надеюсь, что там пользовательский агент или что-то, что я могу подделать, чтобы заставить его работать, поскольку он отлично работает на веб-сайте android/cordova, а также на iphone в Интернете. Есть ли способ заставить это работать?

Я сделал тестовое репо здесь, что кто-то может клонировать для тестирования https://github.com/HockeyCommunity/stripe

4b9b3361

Ответ 1

Я несколько дней стучал головой о стену, пытаясь найти решение. Решение заключалось в том, чтобы добавить следующие два строки в мой файл config.xml:

<access origin="*" /> <allow-navigation href="#" onclick="location.href='https://*.stripe.com/*'; return false;" />

Надеюсь, это поможет!

EDIT: обновленное решение с предложением от @TateThurston