Автор Тема: Валюта в модуле оплаты REDSYS  (Прочитано 37 раз)

27 Сентября 2016, 12:32:48
  • Новичок
  • *
  • Сообщений: 13
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Добрый день, эксперты.

Есть сайт на движке PrestaShop 1.6, есть испанский модуль для оплаты RedSys.

Модуль работает только если валюта оплаты "EUR".
Если, например, выбрана валюта "РУБ", то модуль не может сконвертировать ее в "EUR" и выдает ошибку "передачи данных".

В модуле есть файл redsys.php (прикрепляю), в нем есть код:

// Fuc
$codigo = $this->codigo;
// ISO Moneda
$moneda = $currency->iso_code_num;
// Tipo de Transacción
$trans = $this->trans;

И еще функция проверки валюты:

public function checkCurrency($cart)
{
$currency_order = new Currency($cart->id_currency);
$currencies_module = $this->getCurrency($cart->id_currency);

if (is_array($currencies_module))
foreach ($currencies_module as $currency_module)
if ($currency_order->id == $currency_module['id_currency'])
return true;
return false;
}

Вопрос: что можно сюда дописать, чтобы вне зависимости от того, какая валюта выбрана в данный момент, скрипт сконвертировал ее в EUR и переслал дальше?
27 Сентября 2016, 12:44:12
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 13121
  • Репутация: +14553/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Можно установить ограничение по валютам  и использовать этот метод платежа только при выборе евро.
27 Сентября 2016, 12:46:37
Ответ #2
  • Новичок
  • *
  • Сообщений: 13
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Это альтернативный способ решения проблемы? Или единственный?
27 Сентября 2016, 12:53:12
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 13121
  • Репутация: +14553/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Это альтернативный. Без переделки модуля.
Другой способ переделать модуль.
27 Сентября 2016, 13:02:22
Ответ #4
  • Новичок
  • *
  • Сообщений: 13
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В этом и вопрос, что можно туда безболезненно дописать, чтобы валюта переключалась автоматически на EUR.
27 Сентября 2016, 13:26:23
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 2156
  • Репутация: +49/-4
  • Сообщество PrestaShop
    • Просмотр профиля
Переключать валюту нужно до заказа. Потом поздно. В cart будет сохранена валюта сайта, которая была при показе и добавлении товара.
27 Сентября 2016, 13:33:05
Ответ #6
  • Новичок
  • *
  • Сообщений: 13
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо за Ваш ответ.
27 Сентября 2016, 13:36:06
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 2156
  • Репутация: +49/-4
  • Сообщество PrestaShop
    • Просмотр профиля
Вам нужен модуль валюта от метода оплаты. Выкладывали ссылку на форуме, но найти не могу. На оф. сайте можно поискать или скачать где-нибуть с раздач.
27 Сентября 2016, 13:41:27
Ответ #8
  • Новичок
  • *
  • Сообщений: 13
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Если бы Вы нашли, я была бы Вам безгранично признательна :-)
Надеюсь, он работает под 1.6.