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;
  }
}
Другие вопросы по тегам