Я хотел бы знать, как создать ежемесячную систему подписки в базе данных. Эти системы широко используются во всем Интернете, хотя я не могу найти много материала о дизайне базы данных.
В моем случае эти элементы (и, возможно, некоторые другие, которых я забыл) должны быть включены:
- Клиент
- План (например, 'basic'/'premium'). Каждый план имеет ежемесячную цену и количество кредитов (например: базовый план предусматривает 30 кредитов в месяц и премиальные планы безлимитных кредитов).
- Кредиты - это виртуальные деньги, которые расходуются в приложении.
- Подписка/отменяют подписку
- Платежи (обратите внимание, что фактически уплаченная цена может отличаться от базовой цены плана из-за скидки и т.д.).
- ...?
В дополнение к дизайну базы данных могут быть триггеры, которые необходимо настроить для этого (?).
Мои болевые точки:
- Я не вижу в общем, что такое глобальный дизайн этого
- Какая должна быть строка в БД: month_susbscrition (т.е. 1 строка на каждого клиента в месяц) или сама подписка (т.е. 1 строка на клиента)?
- Как вы будете обрабатывать автоматическое обновление ежемесячной подписки?
- Как бы вы обрабатывали планирование платежей, если вы планируете использовать такие услуги, как Paypal, для обработки автоматических ежемесячных платежей?
Примечание
Я добровольно не раскрываю свои потребности в деталях, потому что таким образом дебаты могут оставаться универсальными и могут быть более полезными для других людей.
Спасибо за помощь.