Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Recommended Posts

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

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

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

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

Link to post
Share on other sites

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

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

Link to post
Share on other sites

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

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

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

Цитата

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

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

 

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

 

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

wayforpay.php

Link to post
Share on other sites

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

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

 

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

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

$this->session->data['order_id'] = $order_id;
Link to post
Share on other sites

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

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

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

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

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

 

Link to post
Share on other sites

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

Link to post
Share on other sites

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

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

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

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

Link to post
Share on other sites

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

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

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

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

Link to post
Share on other sites

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

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

$this->config->get('payment_wayforpay_language')
Link to post
Share on other sites

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

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

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

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

 

Link to post
Share on other sites

В 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. ((

Link to post
Share on other sites

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

Link to post
Share on other sites

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

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

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

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.