Stripe - Wie man ein Abonnement mit einem kostenlosen Tarif abwickelt und zum Zeitpunkt der Anmeldung keine Kreditkarte benötigt

Wir haben begonnen, Stripe auf zu implementierenRedsmin (eines unserer Projekte) und ich denke, wir haben vielleicht etwas verpasst. So funktioniert es:

Um unser Produkt zu nutzen, muss der Benutzer einen Tarif auswählen (kostenlos, s, m, xl, xxl ...), dann sein Login / Passwort eingeben und eine kostenlose 30-tägige Testversion durchführen. Wenn der Benutzer das Formular absendet, ruft unser Server Stripe aufcreate_customer mit dem angegebenen plan und ohne kreditkarte (da wir 30 tage kostenlos ohne kreditkarte anbieten wollen) und aktualisieren wir das benutzermodell auf unserer seite mit dem zurückgesandtencustomer_id undsubscription_id.

Wir haben einen Webhook eingerichtet, um Stripe-Events zu empfangen, also nach 30 Tagen unseren Webhooksollte bekomme eincustomer.subscription.updated Veranstaltung mit einemobject.status == active. Habe ich recht?

Da wir jedoch bei der Anmeldung keine zugehörige Karte für den Benutzer angegeben haben, haben wirsollte schnell nacheinander empfangencustomer.subscription.updated Veranstaltung mitobject.status == unpaid Recht? Dann deaktivieren wir auf unserer Seite das Benutzerkonto und zwingen es, zu unserer Planauswahlseite zu gehen.

Ab diesem Zeitpunkt kann der Benutzer entweder den kostenlosen Tarif oder einen unserer Premium-Tarife auswählen:

#Szenario 1 Wenn der Benutzer den kostenlosen Plan auswählt, reaktivieren wir nur sein Konto auf unserer Seite und tun nichts anderes, da wir den kostenlosen Plan für Stripe so konfiguriert haben, dass er 0 $ kostet.Haben wir mit unserem kostenlosen Plan den richtigen Prozess implementiert? Gibt es bessere Wege?

# Szenario 2 Wenn der Benutzer einen Premium-Tarif auswählt, leiten wir ihn auf ein Kreditkartenformular um, das dann an Stripe gesendet wird, und aktualisieren das Stripe-Kundenkonto mit dem temporären Karten-Token.Was sollen wir als nächstes tun?:

Sollen wir auf Streifen warten, um uns eine Veranstaltung zu schicken? Wenn ja, welches Ereignis?customer.subscription.updated? charge.succeeded? Was wird der Wert vonobject.status dann ?Sollten wir das Benutzerkonto auf unserer Seite direkt reaktivieren und auf eine Bestätigung von stripe warten? Wenn ja, auf welchen Ereignisnamen und auf welche Daten sollten wir warten?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage