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.updatedcharge.succeeded? Какова будет ценностьobject.status затем ?Стоит ли нам напрямую активировать учетную запись пользователя на нашей стороне и ждать подтверждения от нашивки? Если так, какое имя события и данные нам следует ждать?

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

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