Wir haben begonnen, Stripe on Redsmin (eines unserer Projekte) zu implementieren, und ich denke, wir haben möglicherweise etwas verpasst. So funktioniert es:
Um unser Produkt nutzen zu können, muss der Benutzer einen Tarif auswählen (kostenlos, s, m, xl, xxl ...), dann sein Login / Passwort eingeben und anschließend eine kostenlose 30-Tage-Testversion starten. Wenn der Benutzer das Formular abschickt , ruft unser Server Stripe create_customer mit dem angegebenen Plan und ohne Kreditkarte auf (da wir 30 Tage kostenlos anbieten möchten, ohne dass eine Kreditkarte erforderlich ist), und wir aktualisieren das Benutzermodell auf unserer Seite mit dem zurückgegebenen
customer_id
undsubscription_id
.Wir legen Webhook bis zu Streifen Ereignisse erhalten so nach 30 Tagen unsere Webhook sollte ein
customer.subscription.updated
Empfangsereignis mit einemobject.status == active
. Habe ich recht?Da wir jedoch bei der Anmeldung keine zugehörige Karte für den Benutzer angegeben haben, sollten wir nach einem anderen
customer.subscription.updated
Ereignis schnell mitobject.status == unpaid
Recht erhalten? Dann deaktivieren wir auf unserer Seite das Benutzerkonto und zwingen es, auf unsere Planauswahlseite zu gehen.Von da an kann der Benutzer entweder den kostenlosen Plan oder einen unserer Premium-Pläne auswählen:
#Szenario 1 Wenn der Benutzer den kostenlosen Plan auswählt, reaktivieren wir einfach sein Konto auf unserer Seite und tun nichts anderes, da wir den kostenlosen Plan auf Streifen so konfiguriert haben, dass er 0 $ kostet. Haben wir mit unserem kostenlosen Plan den richtigen Prozess implementiert? Gibt es bessere Möglichkeiten?
# 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, welche Veranstaltung?
customer.subscription.updated
?charge.succeeded
? Was wird der Wert vonobject.status
dann sein? - Sollten wir das Benutzerkonto auf unserer Seite direkt reaktivieren und auf eine Bestätigung von stripe warten? Wenn ja, auf welchen Ereignisnamen und welche Daten sollten wir warten?
- Sollen wir auf Streifen warten, um uns eine Veranstaltung zu schicken? Wenn ja, welche Veranstaltung?