Pasek - jak obsłużyć subskrypcję za pomocą bezpłatnego planu i nie wymaga karty kredytowej przy rejestracji

Zaczęliśmy wdrażać Stripe onRedsmin (jeden z naszych projektów) i myślę, że mogliśmy coś przeoczyć. Oto jak to działa:

Aby korzystać z naszego produktu, użytkownik musi wybrać plan (bezpłatny, s, m, xl, xxl ...), a następnie wprowadzić swój login / hasło, a następnie dobrze jest skorzystać z bezpłatnego 30-dniowego okresu próbnego. Gdy użytkownik prześle formularz, nasz serwer dzwoni do Paskacreate_customer z określonym planem i bez karty kredytowej (ponieważ chcemy zaoferować 30 dni za darmo bez wymaganej karty kredytowej) i aktualizujemy model użytkownika po naszej stronie ze zwróconymcustomer_id isubscription_id.

Stworzyliśmy webhook, aby odbierać wydarzenia z paskiem, więc po 30 dniach nasz webhookpowinien Otrzymaćcustomer.subscription.updated wydarzenie zobject.status == active. Czy mam rację?

Ponieważ jednak nie określiliśmy powiązanej karty dla użytkownika podczas rejestracji, mypowinien otrzymywać szybko po drugimcustomer.subscription.updated wydarzenie zobject.status == unpaid dobrze? Następnie po naszej stronie dezaktywujemy konto użytkownika i zmuszamy go do przejścia do naszej strony wyboru planu.

Od tego momentu użytkownik może wybrać wolny plan lub jeden z naszych planów premium:

#Scenario 1 Jeśli użytkownik wybierze darmowy plan, po prostu reaktywujemy jego konto po naszej stronie i nie robimy nic innego, ponieważ skonfigurowaliśmy darmowy plan na pasku kosztuje 0 $.Czy wdrożyliśmy właściwy proces z naszym bezpłatnym planem? Czy są lepsze sposoby?

#Scenario 2 Jeśli użytkownik wybierze plan premium, przekierujemy go do formularza karty kredytowej, który zostanie następnie wysłany do Stripe, a my zaktualizujemy konto klienta z paskiem za pomocą tymczasowego tokena karty.Co powinniśmy zrobić dalej?:

Czy powinniśmy czekać na pasek, aby wysłać nam wydarzenie? Jeśli tak, jakie wydarzenie?customer.subscription.updated? charge.succeeded? Jaka będzie wartośćobject.status następnie ?Czy powinniśmy bezpośrednio reaktywować konto użytkownika po naszej stronie i czekać na potwierdzenie z paska? Jeśli tak, jaka byłaby nazwa zdarzenia i dane, na które powinniśmy czekać?

questionAnswers(1)

yourAnswerToTheQuestion