Stripe - Как обрабатывать подписку с помощью бесплатного плана и не требуется кредитной карты во время регистрации

Мы начали внедрять Stripe наRedsmin (один из наших проектов), и я думаю, что мы, возможно, что-то упустили. Вот как это работает:

Чтобы использовать наш продукт, пользователь должен выбрать тарифный план (бесплатно, s, m, xl, xxl ...), затем ввести свой логин / пароль, и тогда будет удобно использовать бесплатную 30-дневную пробную версию. Когда пользователь отправляет форму, наш сервер вызывает Stripecreate_customer с указанным планом и без кредитной карты (потому что мы хотим предложить 30 дней бесплатно без кредитной карты), и мы обновляем модель пользователя на нашей стороне с возвращеннымcustomer_id а такжеsubscription_id.

Мы создали веб-крючок для получения полосовых событий, поэтому через 30 дней наш веб-крючокдолжен получитьcustomer.subscription.updated событие сobject.status == active. Я прав?

Однако, поскольку мы не указали связанную карту для пользователя во время регистрации, мыдолжен получать быстро за другимcustomer.subscription.updated событие сobject.status == unpaid правильно? Затем со своей стороны мы деактивируем учетную запись пользователя и заставляем ее перейти на страницу выбора нашего плана.

С этого момента пользователь может выбрать либо бесплатный план, либо один из наших премиум-планов:

# Сценарий 1 Если пользователь выбирает бесплатный план, мы просто активируем его учетную запись со своей стороны и больше ничего не делаем, потому что мы настроили бесплатный план на полосу, чтобы он стоил 0 $.Реализовали ли мы правильный процесс с нашим бесплатным планом? Есть ли лучшие способы?

# Сценарий 2 Если пользователь выбирает премиальный план, мы перенаправляем его в форму кредитной карты, которая затем отправляется в Stripe, и мы обновляем учетную запись клиента Stripe с помощью временного токена карты.Что нам делать дальше?:

Должны ли мы ждать полосы, чтобы отправить нам событие? Если да, то какое событие?customer.subscription.updated? charge.succeeded? Какова будет ценностьobject.status тогда ?Стоит ли нам напрямую активировать учетную запись пользователя на нашей стороне и ждать подтверждения от нашивки? Если так, какое имя события и данные нам следует ждать?

Ответы на вопрос(1)

Ваш ответ на вопрос