BigCommerce: ограничить возможности оплаты в зависимости от страны
Укороченная версия:
Я хочу принять Paypal в качестве формы оплаты для всех, кто находится за пределами 48 штатов США.
Я не вижу, как эта функция уже не установлена в bigcommerce под опциями оплаты и просто скрывает эти платежные шлюзы на основе выбора из выпадающего меню страны.
К сожалению, я недостаточно хорошо знаю bigcommerce, но мне удалось запрограммировать это на других корзинах, таких как x-cart, без особых проблем. Кто-нибудь испытал это или исправил для меня?
В настоящее время мы отключили платежи через нашего продавца всем, кто находится за пределами США, и разместили баннер на нашем сайте, когда регистрировали свою учетную запись для оплаты, но тогда люди будут сидеть там и пытаться ввести свои данные CC 12 тысяч раз, заполняя мой почтовый ящик. с оповещениями о захвате -_-
заранее спасибо
Currnetly работает Cornerstone 1.5 Theme
1 ответ
Одним из возможных решений может быть использование JavaScript для чтения страны доставки или выставления счета, а затем отображения соответствующих способов оплаты.
Вот концептуальный пример, предполагающий, что вы знаете, как выбрать конкретные элементы (используйте инструменты разработчика вашего браузера, чтобы определить правильные селекторы для ваших целевых элементов).
/**
* This example binds a change event to the shipping country input dropdown,
* so whenever a country is selected or changed, this code will show the relevant
* payment methods.
* NOTE: The change method here might not work if the payment methods section
* is inaccessible at the time of country selection, at which point you should
* modify the code to read the country at the time of DOM load for the payment methods.
*/
//** Whenever the shipping country is selected or changed **//
$("#shipping_country_dropdown").change(function() {
// Hide/Clear all visible payment options:
$(".payment_methods :input").each(function() {
$(this).hide();
});
togglePaymentMethodsByCountry($(this).find('option:selected').text());
});
/**
* Displays specific payment methods depending on the customer's selected billing or shipping country.
* You set the list of countries and their allowed payment methods here.
* @param country String - The customer selected country.
* @return Void
*/
function togglePaymentMethodsByCountry(country) {
//** Define your country/payment options here, countries in caps **//
switch(country.toUpperCase()) {
case "UNITED STATES OF AMERICA":
$('#payment_method_1').show();
$('#payment_method_2').show();
$('#payment_method_3').show();
break;
case "CANADA":
$('#payment_method_1').show();
$('#payment_method_2').show();
break;
default:
// For all other countries not listed above:
$('#payment_method_3').show();
break;
}
}