Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Доработка модуля wayforpay


 Поделиться

Рекомендованные сообщения

Нужна доработка модуля wayforpay. Ocstore 3.

Сейчас при успешной оплате и возврате на сайт пользователь разлогинивается, я так понимаю происходит очистка сессии. Нужно что бы не было разлогинивания.

И второй момент - доработать поддержку мультиязычности. Например сейчас, покупатель уходит на оплату с украинской версии, а после успешной оплаты всегда приходит на русскую версию. Нужно сделать, что бы возврат был на ту языковую версию, с которой покупатель ушел на оплату.

Для мультиязыка установлен модуль Марка.

Ссылка на комментарий
Поделиться на других сайтах


В калбек ставите нужную вам локаль в ссылку.

А про разлогивание не совсем понятно. В модуле нет очистки сессии.

Ссылка на комментарий
Поделиться на других сайтах

2 часа назад, Vladzimir сказал:

А про разлогивание не совсем понятно. В модуле нет очистки сессии.

Я хз почему, но у меня почему то удаляет сессии, так как покупатель точно разлогинивается и выкидывает из админки, если я был залогинен и там. Три раза проверил. Вот контроллер модуля.

Цитата

В калбек ставите нужную вам локаль в ссылку.

сейчас в функции response указан переход на:

 

 $this->response->redirect($this->url->link('checkout/success')); 

 

Как здесь указать зависимость языка с которого пришел на оплату - на тот и ушел после оплаты?

wayforpay.php

Ссылка на комментарий
Поделиться на других сайтах


Чуток промазал, возврат это там где response

Можно на лету подменять в зависимости от языка через str_replace

 

Сессия в модуле точно не режется. Скорее проблема именно в моделе оформления заказа.

Ведь не зря же вы добавили в response сей код

$this->session->data['order_id'] = $order_id;
Ссылка на комментарий
Поделиться на других сайтах

1 час назад, Vladzimir сказал:

Ведь не зря же вы добавили в response сей код


$this->session->data['order_id'] = $order_id;

Да врядли это с моделью оформления заказа. Стоит шаблон юнишоп для ocstore 3 и заказ оформляется через встроенное в шаблон одностраничное оформление заказа. 

Код этот добавлен так как изначально не передавался даже номер заказа на страницу success. Эту же проблему и ее решение нашел на этом форуме. Ссылка на тему ниже. Может и разлогин связан с этим же? Вы за оплату можете пофиксить эти проблемы?

 

Ссылка на комментарий
Поделиться на других сайтах


Короче, это не баг - это фича опенкарта. И проявляется только при онлайн оплате. Почему - ХЗ.

Ссылка на комментарий
Поделиться на других сайтах

Есть очень дикое подозрение на вот этот код в addOrderHistory

			if ($customer_info && $customer_info['safe']) {
				$safe = true;
			} else {
				$safe = false;
			}

И скорее всего у вас стоит Симпла с гостевым оформлением заказа.

Что там далее делает Anti-Fraud я не разбирался. Но на 99% проблема в нем.

Ссылка на комментарий
Поделиться на других сайтах

Нет, симпла не стоит. Юнишоп и встроенное олностраничное оформление заказа. 

Есть варианты это поправить за денежку? 

Ну хотя бы корректное направление на нужную языковую версию после оплаты? 

Ато украиноязычные пользователи недовольны перенаправлению на русский.)) 

Ссылка на комментарий
Поделиться на других сайтах


Я таким как бы не занимаюсь. Посоветовать могу.

Язык хранится в сессии. Его же можно и указывать вместо

$this->config->get('payment_wayforpay_language')
Ссылка на комментарий
Поделиться на других сайтах

Проблему со "слетающей" авторизацией благодаря подсказке halfhope - удалось побороть.

Проблему с постоянным возвратом на русский язык - нет. 

У wayforpay есть возможность оплаты в виде платежного виджета - https://wiki.wayforpay.com/view/852091. Форма оплаты всплывает на сайте, без перехода на сайт wayforpay. 

Нужен специалист, который модифицирует модуль wayforpay для оплаты в форме виджета.

 

Ссылка на комментарий
Поделиться на других сайтах


В 15.04.2021 в 18:18, Vladzimir сказал:

Я таким как бы не занимаюсь. Посоветовать могу.

Язык хранится в сессии. Его же можно и указывать вместо


$this->config->get('payment_wayforpay_language')

 

$this->config->get('payment_wayforpay_language') - это указание языка самой платежной страницы wayforpay.

 

Сохранение сессии и авторизации удалось победить благодаря этому решению: https://forum.opencart.com/viewtopic.php?f=202&t=219633#p797082

Там есть решение и для сохранения куков языка, и после правок они уже помечаются как secure, но все равно при возврате с wayforpay устанавливаются куки с ru. ((

Ссылка на комментарий
Поделиться на других сайтах


Неужели так сложно сделать что типа такого str_replace ('/index.php','/'.$order['language_code'].'/index.php',$returnUrl) с определенным условием?

Ссылка на комментарий
Поделиться на других сайтах

27 минут назад, Vladzimir сказал:

Неужели так сложно сделать что типа такого str_replace ('/index.php','/'.$order['language_code'].'/index.php',$returnUrl) с определенным условием?

Ну видимо, если бы для меня это было не сложно, я бы не создал тему в поиске платной доработки.) 

Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.