Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Liqpay и страница failure


Shann
 Share

Recommended Posts

Опенкарт 2.1.0.2

был установленный Liqpay 2.0

я с гитхаба поставил Liqpay 3.0

все работает, но со страницы мерчанта, если нажать "отмена оплаты" вместо этой страницы:

 

http://kavysvitu.com.ua/index.php?route=checkout/failure

 

показывает эту

 

http://kavysvitu.com.ua/index.php?route=checkout/success

 

в личном кабинете Liqpay есть две строчки :

 

URL уведомлений сервер-сервер: и URL магазина клиент-сервер:

Я по совету полуипанутой тех.поддержки поставил там 

URL уведомлений сервер-сервер: http://kavysvitu.com.ua/index.php?route=checkout/success

URL магазина клиент-сервер: http://kavysvitu.com.ua/index.php?route=checkout/failure
 
Не работает, при любом исходе платежки меня перебрасывает на страницу - http://kavysvitu.com.ua/index.php?route=checkout/success
 
Кто чем может подсказать? Какие файлы или урлы предоставить? Спасибо.
 
Link to comment
Share on other sites


Та же проблема.
Интересует можно ли дополнительным параметром в Xml подставить Url отмены.
Если нет то, по какому параметру можно понять что вернулся с оплаты через отмену?

Link to comment
Share on other sites


  • 1 month later...

эта шляпа, м то есть модуль, действительно никак не обрабатывает возврат клиента. В поддержке сказали что никакого ответа на server_url не поступает при отмене платежа клиентом по кнопке на ликпее уже.

 

Вообщем я сделал так:

 

1) убрал автоматическое изменение статуса заказа в ControllerPaymentLiqpay::confirm() (по сути вообще закоментил код этого метода, только лог добавил, что "клиент перешёл к оплате на ликпей"). То есть заказ висит в 0 статусе до запроса на server_url от ликпея (если таковой произойдет вообще (он произойдет в любом случае, кроме нажатия на странице ликпея "Отменить оплату"), а это нам и нужно)

 

2) в качестве result_url добавил вызов нового метода ControllerPaymentLiqpay::waitForResponse() В нем выдается страница заглушка со спиннером и "обрабатываем платеж". В ней после 2 секундного таймаута идет ajax запрос который получает url перенправления в зависимости от значения order_status_id висящего в сессии заказа. Думаю, 2с более чем достаточно, чтобы ликпей отправил свой POST запрос на наш сайт с указанием статуса платежа, если статус success, то там мы переводим заказ в нужный статус, а значит наш ajax запрос получит линк на "checkout/success", в ином случае (например таки, юзер отменил платеж и вернулся на наш страницу waitForResponse, когда статус не изменился) линк будет на "checkout/success"

 

Возможно, не самый лучший подход, но он работает (пока тестим еще). Позже попробую сделать pull request в ветку с этим модулем (только под 1.5 версию), мб смерджат

Edited by Junkee
Link to comment
Share on other sites


  • 3 months later...

эта шляпа, м то есть модуль, действительно никак не обрабатывает возврат клиента. В поддержке сказали что никакого ответа на server_url не поступает при отмене платежа клиентом по кнопке на ликпее уже.

 

Вообщем я сделал так:

 

1) убрал автоматическое изменение статуса заказа в ControllerPaymentLiqpay::confirm() (по сути вообще закоментил код этого метода, только лог добавил, что "клиент перешёл к оплате на ликпей"). То есть заказ висит в 0 статусе до запроса на server_url от ликпея (если таковой произойдет вообще (он произойдет в любом случае, кроме нажатия на странице ликпея "Отменить оплату"), а это нам и нужно)

 

2) в качестве result_url добавил вызов нового метода ControllerPaymentLiqpay::waitForResponse() В нем выдается страница заглушка со спиннером и "обрабатываем платеж". В ней после 2 секундного таймаута идет ajax запрос который получает url перенправления в зависимости от значения order_status_id висящего в сессии заказа. Думаю, 2с более чем достаточно, чтобы ликпей отправил свой POST запрос на наш сайт с указанием статуса платежа, если статус success, то там мы переводим заказ в нужный статус, а значит наш ajax запрос получит линк на "checkout/success", в ином случае (например таки, юзер отменил платеж и вернулся на наш страницу waitForResponse, когда статус не изменился) линк будет на "checkout/success"

 

Возможно, не самый лучший подход, но он работает (пока тестим еще). Позже попробую сделать pull request в ветку с этим модулем (только под 1.5 версию), мб смерджат

приветствую. а есть у вас решение для 2.0.3.1 ? что то вообще прояснилось с обработкой возврата? возможно ли обратиться к вам в лс за помощью?

Link to comment
Share on other sites


  • 1 year later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.