Приветствую, я решил вопрос следующим образом. Мой модуль создает таблицу в базе, где записывает номер корзинки и номер ордера из сторонней системы.
Т.е. принцип такой:
1. Пользователь соглашается воспользоваться моим методом оплаты. В этот момент создается запись в таблице, запрашивается сторонний сервис, который присылает свой orderId и ссылку на редирект.
2. Отправляю пользователя на редирект, там он авторизует карту
3. Пользователь возвращается с тем же самым значением сторонним orderId. Я по нему запрашиваю данные из базы и реконструирую контекст.
В упрощенном виде так. Писал я все под версию 1.7, не было времени проверить на предыдущих версиях. Да и желания тоже не было, просто фейспалмовая платформа с документацией "на отвали".
Сам код модуля доступен здесь:
https://github.com/derskythe/prestashop_payviaepulЕсли есть вопросы, охотно отвечу.