2015-12-15 1 views
1

Я использую рельсы уже около недели и создал сайт/приложение, которое для простоты можно назвать советом по работе. Пользователи могут создавать списки, к которым могут обратиться другие пользователи. Все работает по своему желанию. Следующее, что я хочу настроить, - это способность взимать плату с пользователей за создание списков. После обширного поиска я не могу найти ни одного учебника, объясняющего этот процесс, просто типичную корзину и выезд для продажи физических продуктов.Рубин на рельсах. Оплатить публикацию статей

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

Мои текущие сомнения связаны с настройкой моделирования.

Было бы лучше создать новую модель, например. «кредиты», пользователи покупают «кредиты», а затем запускают переменную при попытке создать «задание», например. if_user_has_credits отправляет ссылку job else на buy_credits_path или существует ли более прямой способ добиться этого через уже функционирующие модели пользователей и рабочих мест?

Любые советы по настройке этой функциональности были бы весьма полезными. Спасибо.

+0

Да, ваша линия мысли звучит хорошо. Вот как я это сделаю (пользователь покупает кредиты, а затем тратит их на деятельность сайта) –

+0

Я думаю, что ваша мысль имеет смысл, если вы можете получить установленные платежи. – Seal

ответ

2

Я хотел бы попробовать создать кредитную систему, так что пользователи просто должны приобрести кредиты, и вы можете просто диск пользователя, чтобы купить кредиты в случае, если они не имеют достаточно создать список:

  • Простой один: сохранить кредит пользователя в качестве поля баланса в базе данных, и все действия («добавить», «вычесть») регистрируются, но не используются для вычисления последнего баланса. Балансовый способ дает вам быстрый доступ к текущей сумме

  • История основана: Не храните баланс в базе данных. Баланс вычисляется путем просмотра истории транзакций, например. («добавить», «вычесть»). Основанный на истории способ дает вам аудит. В таблице истории должны храниться транзакции, временная метка, баланс до совершения транзакции и в идеале - путь отслеживания источника/назначения средств.

Вы можете использовать оба эти параметра. См. Ruby toolbox for bookeeping и Plutus

Я рекомендую также использовать ведение журнала и в идеале читать о проверке безопасного верификации и доказуемой привязки метки времени.

Для получения дополнительной информации см лесозаготовительных techniques for ensuring verifiability of event log files

+0

Спасибо за ответ, хотя я в пути через голову. Я собираюсь начать с создания новой модели «токенов» и посмотреть, могу ли я заставить ее работать без оплаты. Если я добьюсь успеха, я буду выполнять оплату и протоколирование для «токенов». –

Смежные вопросы