Я строю проект с использованием Laravel PHP Framework. Я использую Laravel Auth для аутентификации и Laravel Cashier в качестве интерфейса для Stripe.
Как я могу выполнить следующий сценарий:
Пользователь подписался на мой сервис. Ему разрешено добавлять пользователей, работающих под ним, с помощью его страницы настроек. Я хочу, чтобы вся эта работа под ним попала под его подписку.
Например, когда срок действия подписки основного пользователя истек, я хочу, чтобы все подчиненные пользователи получали оповещение об истечении срока подписки. Когда основной пользователь повторно подписывается, я хочу, чтобы все подчиненные пользователи могли войти в систему.
Мне не нужен полный код, я просто хочу знать, как к этому подойти.
Вся информация о пользователях хранится в таблице «пользователи» (это таблица по умолчанию для аутентификации).
Информация о подписке сохраняется в таблице «подписки» (это таблица по умолчанию для кассира).
Любая помощь приветствуется.
Благодарю.
Один из способов сделать это — присвоить суб-пользователям статус. например. 1 = включено и 0 = отключено
Тогда вы могли бы использовать полоса паутина для несостоявшегося платежа или подписки истек, чтобы установить статус всех подпользователей равным 0. Затем используйте веб-крючок для успешной оплаты или повторную подписку, чтобы установить статус подпользователей обратно 1. Вот список событий чередующихся веб-крючков — https://stripe.com/docs/api#event_types
Затем в вашем Auth / LoginController.php вы можете переопределить метод учетных данных, добавив следующее:
protected function credentials(\Illuminate\Http\Request $request)
{
$credentials = $request->only($this->username(), ‘password’);
return array_add($credentials, ‘status’, ‘1’);
}
Надеюсь, это даст вам достаточно для начала.
Других решений пока нет …