Регистрация
Вход через соцсети
Восстановление пароля

Вопрос общего характера: как архитектурно решить задачу с Магазином

Новый топик
30.08.2012, 12:56
Ответить | Цитировать
Finar
Ph & Ph

Зарегистрирован:
2008-03-01
Сообщений: 63

Добрый день!

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

У пользователей на сайте будет свой личный счет (баллы). Нужно, чтобы они могли пополнить счет через Интернет-магазин Нетката, оплатив баллы через Яндекс-деньги, к примеру. После подтверждения платежа им на счет должно автоматом зачисляться соответствующее количество баллов.

Отдельный вопрос - разные цены на баллы для разных групп пользователей.

Как архитектурно в общих чертах вы посоветовали бы решать такую задачу?

Если кто-то уже успешно решал именно такую задачу, готовы оплатить консультацию и/или документацию-инструкцию для ее решения или даже реализацию улыбка (в последнем случае потребуется подтверждение вашей квалификации)

технический директор, web@finar.ru
31.08.2012, 06:40
Ответить | Цитировать
Руслан Густокашин
Студия Вэлпис
Руслан Густокашин

Зарегистрирован:
2012-02-06
Сообщений: 869

Такую задачу мы успешно реализовывали, готов описать технологию совершенно бесплатно улыбка Решение такое:
1. В компоненте "Интернет-Магазин: товар" создаем специальное поле, например isBilling
2. В модуле "Интернет-магазин" добавляем товар "Пополнение счета", единицы измерения ставим "бал" (баллов), а в поле isBilling ставим единичку. Если не нужно афишировать эту услугу, то можно поместить ее в скрытый раздел.
3. В обработчике платежей, поступающих от платежной системы, делаем анализ платежа и оплаченного заказа. Если заказ оплачен благополучно, то ищем в заказе товары, у которых isBilling=1. Если среди них есть тот самый товар, который мы создали (проверить можно его по Message_ID товара), и количество ненулевое, то определяем, кто сделал заказ (по User_ID), и затем, зная количество баллов и номер пользователя, вызываем функцию пополнения личного счета этого пользователя на соответствующую величину.
Если у вас используется стандартное поле Account в таблице юзеров, то в неткате даже есть готовая функция для пополнения счета. Вызов такой:
$nc_auth->pa_add ( $kolvo_ballov, $userid, "Пополнение личного счета");

Если вы не имели дела с платежными системами, то можете посмотреть исходники обработчиков в модуле "Интернет-магазин" где-то здесь: /netcat/modules/netshop/payment/
Там увидите, к примеру, обработчик платежей ПС "Assist", и в нем можете прописать вышеописанную логику. Могу привести здесь отрывок кода. Или выслать вам за определенную плату готовый скрипт обработки платежных систем, настроенный под вашу задачу и под выбранную вами платежную систему.

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

01.09.2012, 02:24
Ответить | Цитировать
Finar
Ph & Ph

Зарегистрирован:
2008-03-01
Сообщений: 63

Благодарю за ответ, Руслан! Он выглядит вполне убедительно. На следующей неделе я вероятно свяжусь с вами для обсуждения возможности делегирования этой задачи вам.

технический директор, web@finar.ru
01.09.2012, 09:30
Ответить | Цитировать
Руслан Густокашин
Студия Вэлпис
Руслан Густокашин

Зарегистрирован:
2012-02-06
Сообщений: 869

Да, если возникнет необходимость, обращайтесь. Вы уже выбрали себе платежную систему, услугами которой пользоваться?
У нас есть готовые обработчики платежей для таких ПС: Робокасса, Ассист, Газпромбанк, RBK-money, и что-то еще было. Больше всего мне понравились RBK-money, т.к. у них очень большой выбор платежных средств - и яндекс.деньги, и терминалы, банковские карты, интернет-банки и различные мобильные способы оплаты. По тарифам, правда, не в курсе.

03.09.2012, 12:26
Ответить | Цитировать
Finar
Ph & Ph

Зарегистрирован:
2008-03-01
Сообщений: 63

Qiwi и Яндекс-деньги.

технический директор, web@finar.ru
03.09.2012, 19:38
Ответить | Цитировать
Руслан Густокашин
Студия Вэлпис
Руслан Густокашин

Зарегистрирован:
2012-02-06
Сообщений: 869

Понятно! А у вас нет желания воспользоваться для этого каким-либо агрегатором платежных систем? Для того, чтобы работать не с несколькими ПС, а с одной системой. Дело в том, что если вы заключите договор с Яндексом, то по ЭТОМУ договору вы сможете работать только в отношении Яндекс.Денег. А если бы вы заключили договор с Ассистом или РБК-мани, то помимо QIWI и Я.Д. у вас в придачу появилась бы еще целая куча способов оплаты (вебмани, банковские карты, смски, интернет-банки и т.д., список как правило огромен). Комиссия ПС-агрегатора обычно невысока.

04.09.2012, 15:46
Ответить | Цитировать
Finar
Ph & Ph

Зарегистрирован:
2008-03-01
Сообщений: 63

Это решать клиенту, но Qiwi вроде дает достаточно возможностей для него. Assist очень крив, лучше с ним по возможности не работать (по нашему опыту).

технический директор, web@finar.ru
04.09.2012, 16:18
Ответить | Цитировать
Руслан Густокашин
Студия Вэлпис
Руслан Густокашин

Зарегистрирован:
2012-02-06
Сообщений: 869

Посмотрел - и правда, Qiwi теперь позволяет принимать платежи как с банковских карт, так и через терминалы, соцсети, и еще кучу всего. Не ожидал. улыбка Раньше у них все было гораздо скромнее.
Тогда, действительно, это будет разумное решение, ведь в последних версиях NetCat даже есть готовый функционал для приема QIWI-платежей, что еще больше упрощает задачу.

05.09.2012, 15:29
Ответить | Цитировать
malich
Андрей Малков

Зарегистрирован:
2005-08-09
Сообщений: 522

А зачем так усложнять задачу и использовать интернет магазин?
Для онлайн платежей мы пользуемся сервисом robokassa.ru
Для переадресации пользователя на оплату достаточно создать форму со скрытыми полями "сумма оплаты" и "id оплаты".
После успешной оплаты сервис посылает на ваш сайт на скрипт result.php данные о оплате и вы в этом скрипте можете производить необходимые операции.
05.09.2012, 15:52
Ответить | Цитировать
Руслан Густокашин
Студия Вэлпис
Руслан Густокашин

Зарегистрирован:
2012-02-06
Сообщений: 869

Естественно, нет никаких проблем заюзать форму оплаты (хоть робокассы, хоть qiwi) напрямую, без модуля "интернет-магазин". В некоторых проектах, где не было этого модуля, мы именно так и делали.
Но если модуль есть, то грех им не воспользоваться - ведь в нем есть уже готовая функция почтовых уведомлений админов, пользователя, скидки, ну и фактически готовый компонент товаров/услуг и что не менее важно - в модуле есть готовые скрипты обмена с платежными системами.

198 196 2012-09-05 15:52:00 12540
Описание проекта