Построение сложной схемы пользователя для веб-сайта

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

Оговорка: у меня есть два типа пользователей, допустим, A и B. Пользователи типа A платят сумму, которую я с ними согласовал, поэтому я должен вручную взимать с них плату. B платит сумму в соответствии с установленными мною планами подписки. Теперь я хочу, чтобы люди типа А могли "спонсировать" пользователей из своей фирмы или своих клиентов. Пользователи типа B должны иметь возможность коллективно подавать заявки на определенное количество аккаунтов и получать скидку в зависимости от количества аккаунтов, которые они приобретут. (Я знаю, что это немного слишком сложно, но это то, что мой босс попросил от меня)

Я использую систему токен-платежей, связанную со сторонним сервисом.

У кого-нибудь есть хорошая рекомендация по схеме для этой проблемы?

Моя текущая лучшая идея для этой схемы такова

User

  • Подробности (имя адрес и т.д.)
  • Is Sponsor (булево поле - если пользователь является спонсором)
  • Sponsored by (если пользователь не является спонсором, кто спонсирует) - внешний ключ к self
  • Renew - Следует ли продлить подписку?
  • Renewal Date - Обновляется каждый раз, когда подписка обновляется
  • .

Спонсоры

  • User - внешний ключ
  • Токен карты
  • Id карты
  • Продолжительность подписки
  • Сумма

Сделки (запись истории всех сделок)

  • User - внешний ключ
  • Duration
  • Дата
  • Ответ от службы шлюза (поле JSON для хранения полного ответа)

Поэтому шлюз, по сути, будет применяться только к спонсорам.

Вернуться на верх