Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Совместимость с 2.3.0.2 #10

Open
serjiomati opened this issue Sep 26, 2016 · 18 comments
Open

Совместимость с 2.3.0.2 #10

serjiomati opened this issue Sep 26, 2016 · 18 comments

Comments

@serjiomati
Copy link

serjiomati commented Sep 26, 2016

Чи буде модуль для версії 2.3.0.2?

@andrewdidovik
Copy link

Спасибо за фидбек
Да, ближайшее время

@semaster
Copy link

semaster commented Nov 1, 2016

Тоже присоединяюсь.
Обновите, пожалуйста, для последней версии.

@Corsar2008
Copy link

А планируете ли вы как-то решить проблему с перекидыванием на страницу success при отмене оплаты на сайте liqpay? Жму оплатить заказ, перекидывает на Ликпей, жму Отмена оплаты, перекидывает на сайт, пишет, спасибо заказ оплачен, или если денег на карте не было, тоже самое.. Ну не серьезно как-то ((

@andrewdidovik
Copy link

Спасибо за отзывы
<А планируете ли вы как-то решить проблему с перекидыванием на страницу success при отмене оплаты на сайте liqpay? Жму оплатить заказ, перекидывает на Ликпей, жму Отмена оплаты, перекидывает на сайт, пишет, спасибо заказ оплачен, или если денег на карте не было, тоже самое.. Ну не серьезно как-то ((>
Обратите внимание, что когда жмете кнопку "назад", "отмена" и т.д. - используется result_url - вы его указываете в настройках чекаута. И там же есть настройка, с помощью которой вы можете себе отправить дополнительные data при редиректе. И можете сами анализировать результат транзакции, или действий пользователя на чекауте.

@trialon77
Copy link

dpzz, вы серьезно полагаете, что сделать то, что вы описали сможет каждый пользователь Opencart?
На одном из форумов предожили такую правку внести, просьба посмотреть код:

Замените в файле liqpay_checkout.php на это

class ControllerPaymentLiqPayCheckout extends Controller {
public function index() {
$data['button_confirm'] = $this->language->get('button_confirm');
$order_id = $this->session->data['order_id'];

$this->load->model('checkout/order');

$order_info = $this->model_checkout_order->getOrder($order_id);

$version = '3';
$description = 'Order #'.$order_id;
$result_url = $this->url->link('payment/liqpay_checkout/renderstatus', '', 'SSL');
$server_url = $this->url->link('payment/liqpay_checkout/callback', '', 'SSL');
$private_key = $this->config->get('liqpay_checkout_signature');
$public_key = $this->config->get('liqpay_checkout_merchant');
$action = 'pay';

$currency = $order_info['currency_code'];
if ($currency == 'RUR') { $currency = 'RUB'; }
$amount = $this->currency->format(
$order_info['total'],
$order_info['currency_code'],
$order_info['currency_value'],
false
);

$pay_way = $this->config->get('liqpay_checkout_pay_way');
$language = $this->config->get('liqpay_checkout_language');

$send_data = array('version' => $version,
'public_key' => $public_key,
'amount' => $amount,
'currency' => $currency,
'description' => $description,
'order_id' => $order_id,
'action' => $action,
'language' => $language,
'server_url' => $server_url,
'result_url' => $result_url);

$pay_way = $this->config->get('liqpay_checkout_pay_way');
if(isset($pay_way)){
$send_data['pay_way'] = $pay_way;
}

$liqpay_data = base64_encode(json_encode($send_data));
$liqpay_signature = base64_encode(sha1($private_key.$liqpay_data.$private_key, 1));

$data['data'] = $liqpay_data;
$data['signature'] = $liqpay_signature;
$data['action'] = $this->config->get('liqpay_checkout_api');

$this->language->load('payment/checkout_liqpay'); // грубо говоря это путь к файлу, как и маршрут, только для языка
$data['text_header'] = $this->language->get('text_header');
$data['text_instruction'] = $this->language->get('text_instruction');

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/payment/liqpay_checkout.tpl')) {
return $this->load->view($this->config->get('config_template') . '/template/payment/liqpay_checkout.tpl', $data);
} else {
return $this->load->view('default/template/payment/liqpay_checkout.tpl', $data);
}
}


public function renderstatus() {
if ( $this->request->post ) {
$data = $this->request->post['data'];
$parsed_data = json_decode(base64_decode($data), true);

if($parsed_data['status'] == 'success')
$this->response->redirect($this->url->link('checkout/success', '', 'SSL'));
else
$this->response->redirect($this->url->link('checkout/failure', '', 'SSL'));
} else {
$this->response->redirect($this->url->link('checkout/failure', '', 'SSL'));
}
}

public function callback() {
$data = $this->request->post['data'];
$signature = base64_encode(sha1($this->config->get('liqpay_checkout_signature') . $data . $this->config->get('liqpay_checkout_signature'), true));

$parsed_data = json_decode(base64_decode($data), true);
$order_id = $parsed_data['order_id'];

if ($signature == $this->request->post['signature']) {
$this->load->model('checkout/order');
$status = $parsed_data['status'];
//$this->model_checkout_order->addOrderHistory($order_id, $this->config->get('config_order_status_id'));
if( $status == 'success')
$this->model_checkout_order->addOrderHistory($order_id, $this->config->get('liqpay_checkout_order_status_id'), 'Заказ оплачен, ожидайте отправки');
else if ( $status == 'failure' || $status == 'error')
$this->model_checkout_order->addOrderHistory($order_id, '10', 'Оплата не завершена ' . $parsed_data['err_description']);
//here you can update your order status
}
}
}

@semaster
Copy link

semaster commented Nov 23, 2016

Моя версия расширения для работы с опенкарт 2.3 и используется liqpay api 3.0
https://github.com/semaster/opencart-liqpay

данный модуль перезаписывает файлы идущего в стандартной поставке модуля, также в настройках модуля добавлен режим приема оплат - тестовый или рабочий. Для того чтобы оплаченный заказ автоматически обозначался оплаченным нужно просто в настройках модуля выбрать какой статус присваивать после получения подтверждения от ликпей.

@trialon77
Copy link

semaster, для Ocstore 2.1 ваша версия подходит? Не хватало в этом модуле тестового режима. и как с формированием заказа при нажатии кнопки Отмена на странице оплаты? Заказ оформляется или сбрасывается?

@semaster
Copy link

semaster commented Nov 23, 2016

для Ocstore 2.1 не подойдет - насколько я поверхностно глянул - там другая структура размещения файлов. По поводу нажатия "отмена" на странице оплаты - добавил в настройках поле для задания статуса заказа в случае отмены оплаты.

@Sergij4
Copy link

Sergij4 commented Jan 16, 2017

Здравствуйте,semaster спасибо за модуль, Но есть вопрос почему то, при удачной оплате, ставит статус выбранный для не удачной оплаты

@bitrixlviv
Copy link

Добрый день. Это решение можно использовать? Когда будет модуль для 2,3?
semaster commented on 23 Nov 2016 • edited
Моя версия расширения для работы с опенкарт 2.3 и используется liqpay api 3.0
https://github.com/semaster/opencart-liqpay

данный модуль перезаписывает файлы идущего в стандартной поставке модуля, также в настройках модуля добавлен режим приема оплат - тестовый или рабочий. Для того чтобы оплаченный заказ автоматически обозначался оплаченным нужно просто в настройках модуля выбрать какой статус присваивать после получения подтверждения от ликпей.

@semaster
Copy link

bitrixlviv, можно использовать.
Sergij4, зайдите в настройки модуля "Модули/Расширения ->Оплата->Liqpay" нажмите редактировать и выберите нужные статусы для успешной оплаты и для отмены.

@CROSP
Copy link
Contributor

CROSP commented Feb 7, 2017

Сделал Pull Request с поддержкой 2.3.2 + пофиксил несколько багов. Кто хочет может сейчас склонировать с моей репы. https://github.com/CROSP/plugin-opencart
Папку payment рядом с extension (во всех каталогах) можно не копировать, это для версий 1.5.Х.
Или же проще всего клонируйте с новой ветки 2.3.х https://github.com/CROSP/plugin-opencart/tree/2.3.x

Желательно это все упорядочить по тегам (верия = тег), чтобы не все в одной куче было. Если надо могу сделать

@ghost
Copy link

ghost commented Mar 26, 2017

Где-то есть вменяемый модуль Liqpay для Opencart 2.1.0.2 где не нужно прыгать с бубном?

@tolikdivak
Copy link

Народ, у меня OcStore 2.3.0.2.3 установил сперва оригинальный модуль, когда понял что есть проблема с отменой платежа, начал ставить два других модуля из этой ветки но и в них проблема осталась. Перепробовал уже все способы и в настройках акаунта выставлял принудительный редирект на главную страницу сайта, все равно при отмене платежа меня перекидывает на checkout/success, типа успешный заказ и все такое, но при этом сам заказа в списке заказов не появляется.

Кто-то может, не бесплатно, исправить это и сделать чтобы при отмене платежа пользователя перекидывало обратно в корзину?

@ViktorTassen
Copy link

https://opencartforum.com/files/file/5648-liqpay-redirekt-na-checkoutfailure/
При отмене заказа идет редирект на checkout/failure, товары остаются в корзине.

@tolikdivak
Copy link

tolikdivak commented May 10, 2018 via email

@borm
Copy link

borm commented Nov 14, 2019

Что там по поводу модуля для 2.3.x, как я вижу есть бренча дев

@andrewdidovik
Copy link

Что там по поводу модуля для 2.3.x, как я вижу есть бренча дев
Попробуйте этот релиз, возможно, он подойдет
https://github.com/liqpay/plugin-opencart/tree/2.3.x
Также сейчас мы работаем над тем, чтобы обновить модули для всех версий популярных CMS

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests