#javascript #jquery #geolocation #shopify #shopify-api
#javascript #jquery #геолокация #shopify #shopify-api
Вопрос:
Я пытаюсь использовать вызов API для IPstack, чтобы скрыть варианты экспресс-оплаты для клиентов из Японии (JP). Это срабатывало несколько раз при тестировании через стек браузера, но теперь мой вызов api выдает следующую ошибку журнала консоли, поскольку она нарушает следующую директиву политики безопасности содержимого: «script-src ‘self’ ‘unsafe-inline’ ‘unsafe-eval’ blob: cdn.shopify.com cdn.shopifycdn.net cdn.shopifycloud.com app.shopify.com «. Кто-нибудь знает какой-либо другой способ скрыть элементы по геолокации в shopify checkout.жидкая страница?
<div class ="alt-payments">{{ alternative_payment_methods }}</div>
<script>
jQuery.ajax({
url: 'https://api.ipstack.com/check?access_key=API_ACCESS_KEYamp;fields=country_code',
dataType: 'jsonp',
success: function(location) {
// If the visitor is browsing from JP.
if (location.country_code === 'JP') {
// display none express payments.
jQuery('.alt-payments').css('display','none');
}
}
} );
</script>
Комментарии:
1. Является ли магазин Shopify plus или какой-либо пользовательской или сторонней компанией, которая получает доступ к страницам оформления заказа в Shopify?
2. магазин — это shopify plus — я пытаюсь использовать результаты вызова API для IPstack, чтобы вернуть значение для кода страны клиента для проверки на соответствие условию JP и использовать jquery, чтобы скрыть способы оплаты экспресс-заказа с отображением, ни одно из условий не является истинным.
3. Я думаю, что над Shopify plus вы разрабатываете логику, основанную на стране, по сравнению с предыдущими шагами, такими как адрес или данные о доставке, не нужно полагаться на сторонний запрос?
4. использование переменных shopify для страны адреса не будет работать в качестве решения, потому что нам нужно скрыть способы экспресс-оплаты, прежде чем клиенты начнут вводить свой адрес в обычные поля оформления заказа. Мы не можем разрешить клиентам из Японии использовать методы экспресс-оформления заказа, которые выбираются до ввода информации о доставке.
5. вам нужно проверить местоположение на домашней странице, коллекции или любой другой странице, сохранить значение в локальном хранилище и использовать его на странице оформления заказа, из-за проблем с безопасностью Shopify может не допускать сторонних пользователей на страницу оформления заказа.
Ответ №1:
Я бы использовал скрипты Shopify, так как вы в плюсе. Платежи приходят после отправки в любом случае. Итак, у вас есть адрес ДО оплаты. Если вы действительно не делаете что-то странное. Обычная проверка Plus просто проверяет адрес, а затем использует скрипт, чтобы скрыть способ оплаты, который вам не нравится. В этом весь смысл Plus.
Комментарии:
1. это было бы так, Дэвид, за исключением того, что методы экспресс-оформления заказа предлагаются до того, как клиент вводит свой адрес в обычный поток оформления заказа shopify. Проблема в том, что клиенты, которые выбирают оформление заказа экспресс-методом (например, ApplePay или Paypal), могут ввести адрес доставки, который невозможно проверить с помощью Shopify Checkout API, поскольку это независимо размещенные сторонние кассы, поэтому наши клиенты APAC, которые выбирают экспресс-метод (Paypal или ApplePay) могут вводить недопустимые нелатинские символы для своего адреса доставки и не могут быть отправлены.
2. Для меня это не имеет смысла. Весь смысл использования Apple Pay или Paypal заключается в том, что вам никогда не нужно указывать свой адрес. В экспресс-платежах нет Express, если мне нужно что-то сделать, кроме нажатия одной кнопки. Похоже, у вас более глубокие проблемы, чем я думал.. сложно и слишком плохо!