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

После онлайн - оплаты не передается транзакция

Для того чтобы сработал модуль при онлайн-оплате нужно чтобы:

После оплаты пользователь должен возвращаться на страницу checkout/success и в сессии должен быть order_id

 

Некоторые модули оплаты шлют коллбек, меняют статус заказа и на странице success уже нет этого параметра в сессии

 

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

 

Как решить:

убедиться что в контроллере оплаты нет подобных вещей

unset($this->session->data['order_id']);

 

в контроллере оплаты перед редиректом на checkout/success установить принудительно в сессию номер заказа

выглядит он примерно так

image.thumb.png.746c8d6d0ee0d7970c4d159aa6b2c848.png

 

установить номер заказа пришедший из системы оплаты примерно так

 

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

 

чтобы получилось так ($order_id заменить на переменную с н заказа)

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

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

 

Это не касается серверных отправок аналитики, фб и тп, они работают с изменением статуса заказа в модели

 


Comments

Нет комментариев для отображения


×
×
  • Создать...

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

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