Jump to content
Sign in to follow this  
svolarga

[Выполнено] Модуль оплаты с баланса личного кабинета для Opencart

Recommended Posts

Нужно написать модуль оплаты для Opencart - оплата с баланса личного кабинета покупателя.

Суть в следующем. Есть стандартная возможность Опенкарта - после регистрации у покупателя есть баланс личного кабинета. Этот баланс назначается администратором вручную через админку (при редактировании конкретного покупателя, на вкладке "транзакции"), там можно любому покупателю назначить любой баланс, с которого при покупках будут списываться деньги. С этим ничего делать не нужно.

Модуль должен быть таким, чтобы его можно было выбирать и назначать ЕДИНСТВЕННЫМ способом оплаты, по аналогии с "оплата при доставке", "банковский перевод", и т.д.
Логика работы модуля простая:
1. В админке магазина при настройке способов оплаты мы выбираем только этот способ оплаты.
2. Покупатели регистрируются и оформляют заказы
2.1. Если у покупателя в кабинете на личном счете достаточно денег, то он успешно оформляет заказ, и при этом покупка оплачивается с его личного счета.
2.2. Если у покупателя недостаточно денег на балансе, то должно показываться сообщение с ошибкой типа "для оплаты заказа у вас недостаточно денег на балансе аккаунта".

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

Вкратце суть задачи: "нужно заставить покупателей оплачивать заказы исключительно со своего баланса в магазине, других способов не предлагать, а если баланса не хватает, то заказ не оформлять"

Версия Опенкарта 1.5.3.1

 

Сдается мне, что это не особо сложная задача, наверно, надо скопировать любой другой способ оплаты и просто в контроллере/моделе прописать логику работы с БД по поводу личного баланса пользователя. Но сам я как программист слабоват для этого.

 

Есть у кого предложения на этот счет? сроки? бюджет?
 

Share this post


Link to post
Share on other sites

А вы не желаете использовать механизм бонусных баллов? Там есть вкладка Бонусные баллы, где также все присваивается. А потом в корзине можно выбрать "оплатить бонусными баллами".

Share this post


Link to post
Share on other sites

Всем спасибо за внимание, проблема уже решена. Огромный респект Raino за просто и изящное решение.

Share this post


Link to post
Share on other sites

и какое же решение? простое и изящное

  • +1 1

Share this post


Link to post
Share on other sites

Включить в разделе "Учитывать в заказе" личный счет, в способах оплаты оставить только бесплатную покупку, перепилить пару языковых переменных для вывода желаемого уведомления ну и добавить попапы на проверку баланса при покупке.

Share this post


Link to post
Share on other sites

Готовое решение в виде модуля

https://opencartforum.com/files/file/2036-%D0%BE%D0%BF%D0%BB%D0%B0%D1%82%D0%B0-%D1%81-%D0%B2%D0%BD%D1%83%D1%82%D1%80%D0%B5%D0%BD%D0%BD%D0%B5%D0%B3%D0%BE-%D1%81%D1%87%D0%B5%D1%82%D0%B0/

 

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

также специально для вас есть в настройках что делать при нехватке суммы на балансе скрывать или показывать предупреждение(для не зарегистрированного пользователя свое предупреждение с просьбой о регистрации) при нехватке средств и выборе данного метода не даст создать заказ.

Share this post


Link to post
Share on other sites

Включить в разделе "Учитывать в заказе" личный счет

где это включается?

Share this post


Link to post
Share on other sites

где это включается?

Админка

Меню Дополнения

Учитывать в заказе

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

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.