public function confirmation()
{
$this->load->language('extension/payment/klarna_checkout');
if (!$this->config->get('klarna_checkout_status')) {
return false;
}
if (isset($this->session->data['order_id'])) {
$this->cart->clear();
// Add to activity log
if ($this->config->get('config_customer_activity')) {
$this->load->model('account/activity');
if ($this->customer->isLogged()) {
$activity_data = array('customer_id' => $this->customer->getId(), 'name' => $this->customer->getFirstName() . ' ' . $this->customer->getLastName(), 'order_id' => $this->session->data['order_id']);
$this->model_account_activity->addActivity('order_account', $activity_data);
} else {
$activity_data = array('name' => $this->session->data['guest']['firstname'] . ' ' . $this->session->data['guest']['lastname'], 'order_id' => $this->session->data['order_id']);
$this->model_account_activity->addActivity('order_guest', $activity_data);
}
}
unset($this->session->data['shipping_method']);
unset($this->session->data['shipping_methods']);
unset($this->session->data['payment_method']);
unset($this->session->data['payment_methods']);
unset($this->session->data['guest']);
unset($this->session->data['comment']);
unset($this->session->data['order_id']);
unset($this->session->data['coupon']);
unset($this->session->data['reward']);
unset($this->session->data['voucher']);
unset($this->session->data['vouchers']);
unset($this->session->data['totals']);
unset($this->session->data['klarna_checkout_order_id']);
unset($this->session->data['klarna_checkout_data']);
}
$this->document->setTitle($this->language->get('heading_title_success'));
$data['breadcrumbs'] = array();
$data['breadcrumbs'][] = array('text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home'));
$data['breadcrumbs'][] = array('text' => $this->language->get('text_basket'), 'href' => $this->url->link('checkout/cart'));
$data['breadcrumbs'][] = array('text' => $this->language->get('text_checkout'), 'href' => $this->url->link('checkout/checkout', '', true));
$data['breadcrumbs'][] = array('text' => $this->language->get('text_success'), 'href' => $this->url->link('checkout/success'));
$data['heading_title'] = $this->language->get('heading_title_success');
$data['button_continue'] = $this->language->get('button_continue');
$data['continue'] = $this->url->link('common/home');
$data['column_left'] = $this->load->controller('common/column_left');
$data['column_right'] = $this->load->controller('common/column_right');
$data['content_top'] = $this->load->controller('common/content_top');
$data['content_bottom'] = $this->load->controller('common/content_bottom');
$data['footer'] = $this->load->controller('common/footer');
$data['header'] = $this->load->controller('common/header');
$this->load->model('extension/payment/klarna_checkout');
$this->load->model('checkout/order');
$klarna_checkout = false;
$html_snippet = '';
if (isset($this->request->get['klarna_order_id'])) {
$klarna_checkout_order = $this->model_extension_payment_klarna_checkout->getOrder($this->request->get['klarna_order_id']);
if ($klarna_checkout_order) {
$order_info = $this->model_checkout_order->getOrder($klarna_checkout_order['order_id']);
if ($order_info) {
list($klarna_account, $connector) = $this->model_extension_payment_klarna_checkout->getConnector($this->config->get('klarna_checkout_account'), $order_info['currency_code']);
if (!$klarna_account || !$connector) {
$this->model_extension_payment_klarna_checkout->log('Could not getConnector');
$this->response->redirect($this->url->link('checkout/failure', '', true));
}
$retrieve = $this->model_extension_payment_klarna_checkout->orderRetrieve($connector, $this->request->get['klarna_order_id']);
if ($retrieve) {
$klarna_checkout = $retrieve->fetch();
if ($klarna_checkout && $klarna_checkout['html_snippet']) {
$html_snippet = $klarna_checkout['html_snippet'];
}
} else {
$this->response->redirect($this->url->link('checkout/cart', '', true));
}
}
} else {
$this->model_extension_payment_klarna_checkout->log('Could not find order id using ' . $this->request->get['klarna_order_id']);
$this->response->redirect($this->url->link('checkout/failure', '', true));
}
} else {
$this->model_extension_payment_klarna_checkout->log('$this->request->get[\'klarna_order_id\'] is not set');
$this->response->redirect($this->url->link('checkout/failure', '', true));
}
$data['klarna_checkout'] = $html_snippet;
$this->response->setOutput($this->load->view('extension/payment/klarna_checkout_success', $data));
}