Одну часть головоломки я вроде решил))
Чтобы заказ правильно оформился в опенкарте нужно, чтобы запустился метод addOrderHistory из модели checkout/order
В модуле тинькова catalog/controller/extension/payment/tinkoff этот метод вызывается в функции callback. Соответственно, в настройках страницы успешного/неуспешного платежа в личном кабинете тинькова нужно указать вот такой url:
<название_сайта>/index.php?route= extension/payment/tinkoff/callback
После оплаты, идет переадресация на данную страницу нашего сайта и к url тиньков «лепит» свои параметры типа:
http://название_сайта/index.php?route=extension/payment/tinkoff/callback&Success=true&ErrorCode=0&Message=None&Details=&Amount=153800&MerchantEmail=sale...
Но тут есть НО: в функции callback видимо ожидается пост-запрос и параметры должны доставаться из пост-запроса. Из-за этого вылетает ошибка и алгоритмы дальше не работают.
Я думаю так: можно допилить оригинальный модуль, чтобы он брал параметры из гет-запроса и правильно проставлял статус заказа (именно из-за непроставленного статуса заказа, его не видно в админке сайта, хотя в базе он есть).
После статуса должна вызыватся страница <название_сайта>/index.php?route=checkout/success которая очищает корзину на сайте.
Это все для успешной оплаты.
Для неуспешной оплаты в модуле тинькова есть функция failure. В ней я пока не разбирался.