Перейти к содержанию
svolarga

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

Рекомендуемые сообщения

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

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

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

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

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

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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/

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Админка

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.