Как передать подписку другим пользователям с помощью Laravel Cashier

Я строю проект с использованием Laravel PHP Framework. Я использую Laravel Auth для аутентификации и Laravel Cashier в качестве интерфейса для Stripe.

Как я могу выполнить следующий сценарий:
Пользователь подписался на мой сервис. Ему разрешено добавлять пользователей, работающих под ним, с помощью его страницы настроек. Я хочу, чтобы вся эта работа под ним попала под его подписку.

Например, когда срок действия подписки основного пользователя истек, я хочу, чтобы все подчиненные пользователи получали оповещение об истечении срока подписки. Когда основной пользователь повторно подписывается, я хочу, чтобы все подчиненные пользователи могли войти в систему.

Мне не нужен полный код, я просто хочу знать, как к этому подойти.

Вся информация о пользователях хранится в таблице «пользователи» (это таблица по умолчанию для аутентификации).

Информация о подписке сохраняется в таблице «подписки» (это таблица по умолчанию для кассира).

Любая помощь приветствуется.

Благодарю.

0

Решение

Один из способов сделать это — присвоить суб-пользователям статус. например. 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’);
}

Надеюсь, это даст вам достаточно для начала.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]