Skip to content
This repository was archived by the owner on Apr 9, 2026. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion DIEGIMAS.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ Diegimas

Kontaktai

Kilus klausimams prasome kreiptis i pagalba@mokejimai.lt
Kilus klausimams prasome kreiptis i pagalba@paysera.lt
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
plugin-opencart
===============

Paysera.com payment gateway plugin for OpenCart
Paysera.com payment gateway plugin for OpenCart 2.2

Requirements
------------

- OpenCart
- OpenCart 2.2

Installation
------------

1. Download this repository as zip and extract "admin,catalog,system" folders into opencart main directory.
2. In admin panel active payment method and enter webtopay.com / mokejimai.lt ID code, password and etc.
3. IMPORTANT! Go to System->Localisation->Currencies and insert Lithuanian litas currency. Currency may be disabled.
4. Make sure libwebtopay directory is writable and cache.php file is writable.
3. In admin panel active payment method and enter paysera.com project ID code, password and etc.
4. IMPORTANT! Go to System->Localisation->Currencies and insert euro currency. Currency may be disabled.
5. Make sure libwebtopay directory is writable and cache.php file is writable.

Contacts
--------
Expand Down
4 changes: 2 additions & 2 deletions README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ Installation

1. BACKUP ALL FILES[optional].
2. Copy files to Open Cart directory.
3. In admin panel active payment method and enter webtopay.com / mokejimai.lt ID code, password and etc.
4. IMPORTANT! Go to System->Localisation->Currencies and insert Lithuanian litas currency. Currency may be disabled.
3. In admin panel active payment method and enter paysera.com project ID code, password and etc.
4. IMPORTANT! Go to System->Localisation->Currencies and insert euro currency. Currency may be disabled.
5. Make sure libwebtopay directory is writable and cache.php file is writable.

Contacts
Expand Down
184 changes: 99 additions & 85 deletions admin/controller/payment/paysera.php
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,167 +1,184 @@
<?php
require_once( DIR_SYSTEM.'library/vendor/webtopay/libwebtopay/WebToPay.php' );


ini_set('display_errors', 0);

class ControllerPaymentPaysera extends Controller {
private $error = array();

public function index() {
$this->load->language('payment/paysera');
$this->language->load('payment/paysera');
$this->document->setTitle($this->language->get('heading_title'));
$this->load->model('setting/setting');

if ($this->request->server['REQUEST_METHOD'] == 'POST') {
if($this->validate()) {
$this->load->model('setting/setting');
$this->model_setting_setting->editSetting('paysera', $this->request->post);
$this->session->data['success'] = $this->language->get('text_success');
$this->redirect(HTTPS_SERVER . 'index.php?route=extension/payment&token=' . $this->session->data['token']);
$this->response->redirect($this->url->link('extension/payment', 'token=' . $this->session->data['token'], 'SSL'));
}
}

$this->data['heading_title'] = $this->language->get('heading_title');
$data['heading_title'] = $this->language->get('heading_title');

$this->data['text_enabled'] = $this->language->get('text_enabled');
$this->data['text_disabled'] = $this->language->get('text_disabled');
$this->data['text_all_zones'] = $this->language->get('text_all_zones');
$this->data['text_none'] = $this->language->get('text_none');
$this->data['text_yes'] = $this->language->get('text_yes');
$this->data['text_no'] = $this->language->get('text_no');
$this->data['text_on'] = $this->language->get('text_on');
$this->data['text_off'] = $this->language->get('text_off');
$data['text_edit'] = $this->language->get('text_edit');
$data['text_enabled'] = $this->language->get('text_enabled');
$data['text_disabled'] = $this->language->get('text_disabled');
$data['text_all_zones'] = $this->language->get('text_all_zones');
$data['text_none'] = $this->language->get('text_none');
$data['text_yes'] = $this->language->get('text_yes');
$data['text_no'] = $this->language->get('text_no');
$data['text_on'] = $this->language->get('text_on');
$data['text_off'] = $this->language->get('text_off');

$this->data['entry_project'] = $this->language->get('entry_project');
$this->data['entry_sign'] = $this->language->get('entry_sign');
$this->data['entry_lang'] = $this->language->get('entry_lang');
$this->data['entry_test'] = $this->language->get('entry_test');
$this->data['entry_order_status'] = $this->language->get('entry_order_status');
$this->data['entry_geo_zone'] = $this->language->get('entry_geo_zone');
$this->data['entry_status'] = $this->language->get('entry_status');
$this->data['entry_default_payments'] = $this->language->get('entry_payment_lang');
$this->data['entry_display_payments'] = $this->language->get('entry_paymentlist');
$this->data['entry_sort_order'] = $this->language->get('entry_sort_order');
$data['entry_project'] = $this->language->get('entry_project');
$data['entry_sign'] = $this->language->get('entry_sign');
$data['entry_lang'] = $this->language->get('entry_lang');
$data['help_lang'] = $this->language->get('help_lang');
$data['entry_test'] = $this->language->get('entry_test');
$data['entry_new_order_status'] = $this->language->get('entry_new_order_status');
$data['entry_order_status'] = $this->language->get('entry_order_status');
$data['entry_geo_zone'] = $this->language->get('entry_geo_zone');
$data['entry_status'] = $this->language->get('entry_status');
$data['entry_default_payments'] = $this->language->get('entry_payment_lang');
$data['entry_display_payments'] = $this->language->get('entry_paymentlist');
$data['entry_sort_order'] = $this->language->get('entry_sort_order');

$this->data['help_callback'] = $this->language->get('help_callback');
$data['help_callback'] = $this->language->get('help_callback');

$this->data['button_save'] = $this->language->get('button_save');
$this->data['button_cancel'] = $this->language->get('button_cancel');
$data['button_save'] = $this->language->get('button_save');
$data['button_cancel'] = $this->language->get('button_cancel');

$this->data['tab_general'] = $this->language->get('tab_general');
$data['tab_general'] = $this->language->get('tab_general');

if (!isset($this->error['warning'])) $this->error['warning'] = '';
$this->data['error_warning'] = $this->error['warning'];
$data['error_warning'] = $this->error['warning'];
if (!isset($this->error['project'])) $this->error['project'] = '';
$this->data['error_project'] = $this->error['project'];
$data['error_project'] = $this->error['project'];
if (!isset($this->error['sign'])) $this->error['sign'] = '';
$this->data['error_sign'] = $this->error['sign'];
$data['error_sign'] = $this->error['sign'];
if (!isset($this->error['lang'])) $this->error['lang'] = '';
$this->data['error_lang'] = $this->error['lang'];
$data['error_lang'] = $this->error['lang'];

$this->document->breadcrumbs = array();
$data['breadcrumbs'] = array();

$this->document->breadcrumbs[] = array(
'href' => HTTPS_SERVER . 'index.php?route=common/home',
'text' => $this->language->get('text_home'),
'separator' => FALSE
);
$data['breadcrumbs'][] = array(
'text' => $this->language->get('text_home'),
'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], 'SSL')
);

$this->document->breadcrumbs[] = array(
'href' => HTTPS_SERVER . 'index.php?route=extension/payment',
'text' => $this->language->get('text_payment'),
'separator' => ' :: '
);
$data['breadcrumbs'][] = array(
'text' => $this->language->get('text_payment'),
'href' => $this->url->link('extension/payment', 'token=' . $this->session->data['token'], 'SSL')
);

$this->document->breadcrumbs[] = array(
'href' => HTTPS_SERVER . 'index.php?route=payment/paysera',
'text' => $this->language->get('heading_title'),
'separator' => ' :: '
);
$data['breadcrumbs'][] = array(
'text' => $this->language->get('heading_title'),
'href' => $this->url->link('payment/paysera', 'token=' . $this->session->data['token'], 'SSL')
);

// $this->data['action'] = $this->url->link('payment/paysera', 'token=' . $this->session->data['token'], 'SSL');
//
// $this->data['cancel'] = $this->url->link('extension/payment', 'token=' . $this->session->data['token'], 'SSL');

$this->data['action'] = HTTPS_SERVER . 'index.php?route=payment/paysera&token=' . $this->session->data['token'];
// $data['action'] = HTTPS_SERVER . 'index.php?route=payment/paysera&token=' . $this->session->data['token'];

$data['action'] = $this->url->link('payment/paysera', 'token=' . $this->session->data['token'], 'SSL');

$this->data['cancel'] = HTTPS_SERVER . 'index.php?route=extension/payment&token=' . $this->session->data['token'];
$data['cancel'] = HTTPS_SERVER . 'index.php?route=extension/payment&token=' . $this->session->data['token'];

if (isset($this->request->post['paysera_project'])) {
$this->data['paysera_project'] = $this->request->post['paysera_project'];
$data['paysera_project'] = $this->request->post['paysera_project'];
} else {
$this->data['paysera_project'] = $this->config->get('paysera_project');
$data['paysera_project'] = $this->config->get('paysera_project');
}

if (isset($this->request->post['paysera_sign'])) {
$this->data['paysera_sign'] = $this->request->post['paysera_sign'];
$data['paysera_sign'] = $this->request->post['paysera_sign'];
} else {
$this->data['paysera_sign'] = $this->config->get('paysera_sign');
$data['paysera_sign'] = $this->config->get('paysera_sign');
}

if (isset($this->request->post['paysera_lang'])) {
$this->data['paysera_lang'] = $this->request->post['paysera_lang'];
$data['paysera_lang'] = $this->request->post['paysera_lang'];
} else {
$this->data['paysera_lang'] = $this->config->get('paysera_lang');
$data['paysera_lang'] = $this->config->get('paysera_lang');
}

$this->data['callback'] = HTTP_CATALOG . 'index.php?route=payment/paysera/callback';
$data['callback'] = HTTP_CATALOG . 'index.php?route=payment/paysera/callback';

if (isset($this->request->post['paysera_test'])) {
$this->data['paysera_test'] = $this->request->post['paysera_test'];
$data['paysera_test'] = $this->request->post['paysera_test'];
} else {
$this->data['paysera_test'] = $this->config->get('paysera_test');
$data['paysera_test'] = $this->config->get('paysera_test');
}

if (isset($this->request->post['paysera_order_status_id'])) {
$this->data['paysera_order_status_id'] = $this->request->post['paysera_order_status_id'];
$data['paysera_order_status_id'] = $this->request->post['paysera_order_status_id'];
} else {
$data['paysera_order_status_id'] = $this->config->get('paysera_order_status_id');
}

if (isset($this->request->post['paysera_new_order_status_id'])) {
$data['paysera_new_order_status_id'] = $this->request->post['paysera_new_order_status_id'];
} else {
$this->data['paysera_order_status_id'] = $this->config->get('paysera_order_status_id');
$data['paysera_new_order_status_id'] = $this->config->get('paysera_new_order_status_id');
}

if (isset($this->request->post['display_payments_list'])) {
$this->data['display_payments_list'] = $this->request->post['display_payments_list'];
if (isset($this->request->post['paysera_display_payments_list'])) {
$data['paysera_display_payments_list'] = $this->request->post['paysera_display_payments_list'];
} else {
$this->data['display_payments_list'] = $this->config->get('display_payments_list');
$data['paysera_display_payments_list'] = $this->config->get('paysera_display_payments_list');
}

$this->load->model('localisation/order_status');

$this->data['order_statuses'] = $this->model_localisation_order_status->getOrderStatuses(); //here
$data['order_statuses'] = $this->model_localisation_order_status->getOrderStatuses(); //here

$this->data['payment_countries'] = $this->getCountries();
$data['payment_countries'] = $this->getCountries();

if (isset($this->request->post['paysera_geo_zone_id'])) {
$this->data['paysera_geo_zone_id'] = $this->request->post['paysera_geo_zone_id'];
$data['paysera_geo_zone_id'] = $this->request->post['paysera_geo_zone_id'];
} else {
$this->data['paysera_geo_zone_id'] = $this->config->get('paysera_geo_zone_id');
$data['paysera_geo_zone_id'] = $this->config->get('paysera_geo_zone_id');
}

if (isset($this->request->post['default_payment_country'])) {
$this->data['default_payment_country'] = $this->request->post['default_payment_country'];
$data['default_payment_country'] = $this->request->post['default_payment_country'];
} else {
$this->data['default_payment_country'] = $this->config->get('default_payment_country');
$data['default_payment_country'] = $this->config->get('default_payment_country');
}

$this->load->model('localisation/geo_zone');

$this->data['geo_zones'] = $this->model_localisation_geo_zone->getGeoZones();
$data['geo_zones'] = $this->model_localisation_geo_zone->getGeoZones();

if (isset($this->request->post['paysera_status'])) {
$this->data['paysera_status'] = $this->request->post['paysera_status'];
$data['paysera_status'] = $this->request->post['paysera_status'];
} else {
$this->data['paysera_status'] = $this->config->get('paysera_status');
$data['paysera_status'] = $this->config->get('paysera_status');
}

if (isset($this->request->post['paysera_sort_order'])) {
$this->data['paysera_sort_order'] = $this->request->post['paysera_sort_order'];
$data['paysera_sort_order'] = $this->request->post['paysera_sort_order'];
} else {
$this->data['paysera_sort_order'] = $this->config->get('paysera_sort_order');
$data['paysera_sort_order'] = $this->config->get('paysera_sort_order');
}

$this->template = 'payment/paysera.tpl';
$this->children = array(
/*$this->children = array(
'common/header',
'common/footer'
);
);*/
$data['header'] = $this->load->controller('common/header');
$data['column_left'] = $this->load->controller('common/column_left');
$data['footer'] = $this->load->controller('common/footer');

$this->response->setOutput($this->render(TRUE), $this->config->get('config_compression'));

$this->response->setOutput($this->load->view($this->template, $data));
//$this->response->setOutput($this->render(TRUE), $this->config->get('config_compression'));

}

Expand All @@ -170,23 +187,20 @@ private function validate() {
$this->error['warning'] = $this->language->get('error_permission');
}

if (!@$this->request->post['paysera_project']) {
if (!$this->request->post['paysera_project']) {
$this->error['project'] = $this->language->get('error_project');
}

if (!@$this->request->post['paysera_sign']) {
if (!$this->request->post['paysera_sign']) {
$this->error['sign'] = $this->language->get('error_sign');
}

if (!@$this->request->post['paysera_lang']) {
$this->error['lang'] = $this->language->get('error_lang');
}
if (!$this->request->post['paysera_lang']) {
$this->error['lang'] = $this->language->get('error_lang');
}

if (!$this->error) {
return true;
} else {
return false;
}

return !$this->error;
}

private function getCountries() {
Expand Down
5 changes: 4 additions & 1 deletion admin/language/english/payment/paysera.php
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,11 @@
// Entry
$_['entry_project'] = 'Project ID:';
$_['entry_sign'] = 'Signature password:';
$_['entry_lang'] = 'Language <small>(LIT, ENG, RUS)<small>:';
$_['entry_lang'] = 'Language:';
$_['help_lang'] = 'LIT, ENG, RUS';
$_['entry_test'] = 'Test Mode:';
$_['text_edit'] = 'Edit Paysera';
$_['entry_new_order_status'] = 'New Order Status:';
$_['entry_order_status'] = 'Order Status after payment:';
$_['entry_payment_lang'] = 'Default country of payment methods:';
$_['entry_geo_zone'] = 'Geo Zone:';
Expand Down
5 changes: 4 additions & 1 deletion admin/language/lithuanian/payment/paysera.php
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,15 @@
$_['text_success'] = 'Success: You have modified Paysera account details!';
$_['text_on'] = 'Įjungtas';
$_['text_off'] = 'Išjungtas';
$_['text_edit'] = 'Redaguoti Paysera';

// Entry
$_['entry_project'] = 'Projekto ID:';
$_['entry_sign'] = 'Slaptažodis:';
$_['entry_lang'] = 'Kalba <small>(LIT, ENG, RUS)<small>:';
$_['entry_lang'] = 'Kalba:';
$_['help_lang'] = 'LIT, ENG, RUS:';
$_['entry_test'] = 'Testinis režimas:';
$_['entry_new_order_status'] = 'Naujo užsakymo statusas:';
$_['entry_order_status'] = 'Užsakymo statusas po mokėjimo:';
$_['entry_payment_lang'] = 'Pirminė mokėjimo būdų šalis:';
$_['entry_geo_zone'] = 'Geo zona:';
Expand Down
Loading