Допилил \system\storage\modification\catalog\controller\account\order.php
перед строкой
$this->response->setOutput($this->load->view('account/order_info', $data));
Следующее:
if ($order_info['payment_code'] && $order_info['payment_code']=='tinkoff') {
$this->load->model('extension/payment/'.$order_info['payment_code']);
if (isset($this->session->data['order_id'])) {
$tmp_order_id=$this->session->data['order_id'];
}
$this->session->data['order_id']=$order_info['order_id'];
$params = [
'terminalkey' => $this->config->get('tinkoff_terminal_key'),
'secret' => $this->config->get('tinkoff_secret_key'),
'currency' => $order_info['currency_code'],
'language' => $this->config->get('tinkoff_payment_language'),
'frame' => 'true',
'amount' => $order_info['total'],
'order' => $order_info['order_id'],
'description' => $order_info['comment'],
'email' => $order_info['email'],
'phone' => $order_info['telephone']
];
$view = [
'payment' => [
'params' => $params
]
];
$data['payment_view'] = $this->load->view($this->config->get('config_template') . '/extension/payment/tinkoff_checkout_custom.tpl', $view);
if (isset($tmp_order_id)) {
$this->session->data['order_id']=$tmp_order_id;
}
else {
unset($this->session->data['order_id']);
}
}
И создал view своё:
<style>.tinkoffPayRow{display:block;margin:1%;width:160px;}</style>
<script src="https://securepay.tinkoff.ru/html/payForm/js/tinkoff_v2.js"></script>
<form name="TinkoffPayForm" onsubmit="pay(this); return false;">
<?php foreach($payment['params'] as $name => $value): ?>
<input type="hidden" name="<?php echo $name; ?>" value="<?php echo $value; ?>">
<?php endforeach; ?>
<input class="tinkoffPayRow btn btn-success" type="submit" value="Оплатить">
</form>
Пока всё в норме, осталось прикрутить страницы ответов со сменой статуса и т.п.
После продолжу пост.