Хранение деталей платежа и сведений о подписке

Я пытаюсь создать модуль оплаты на основе подписки для проекта.

Есть три плана

  1. Будет стоить 49$, но сейчас это будет бесплатно, пока мы не наберем пользователей.
  2. 499 $ с 15-дневной пробной версией
  3. 799 $, который также будет иметь 15-дневную пробную версию.

Мы используем Stripe для интеграции платежей.

У меня есть таблица пользователей со следующим

пользователи (имя, электронная почта, пароль, ....)

Теперь я хочу сохранить следующее

  1. Определять и поддерживать планы
  2. На какой план подписан пользователь
  3. Когда пользователь подписан на тарифный план — подробная информация о платежах — обновление — понижение и т. д.

Может ли кто-нибудь поделиться тем, как я могу сделать это с помощью таблиц Mysql, и если мне не хватает какой-либо ключевой информации, которую мне нужно сохранить?


person Harsha M V    schedule 07.07.2012    source источник


Ответы (1)


Вот небольшой набросок того, что я буду делать в этом сценарии:

Столы

  • Пользователи

    id, имя, электронная почта, пароль, ...

  • Поддерживать планы

    идентификатор, user_id, имя, ...

  • Платежи

    идентификатор, имя, user_id, ...

  • Операции

    идентификатор, тип, user_id, имя, ...

Заметки

  • Поле user_id ссылается на первичный ключ идентификатора пользовательской таблицы.
  • Каждая таблица может, конечно, содержать больше столбцов, содержащих больше информации или связей (я вставил только самое необходимое.
  • Поле Тип операции должно содержать перечисление с возможным значением (обновление, понижение), может быть определено в перечислителе или в другой таблице, на которую ссылаются (даже лучше)...
person aleroot    schedule 07.07.2012
comment
не могли бы вы подробнее рассказать о таблице операций. не совсем понял - person Harsha M V; 07.07.2012
comment
Это просто, вы можете использовать простой перечислитель или вы можете сослаться на другую таблицу с типами операций, в последнем случае, если когда-нибудь вам понадобится еще один тип, будет проще... - person aleroot; 07.07.2012