it-swarm.com.de

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

Wir haben begonnen, Stripe auf Redsmin (eines unserer Projekte) zu implementieren, und ich denke, wir haben möglicherweise etwas verpasst. So funktioniert es:

  1. 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 create_customer mit dem angegebenen Plan und ohne Kreditkarte auf (da wir 30 Tage kostenlos anbieten möchten, ohne Kreditkarte erforderlich) und wir aktualisieren das Benutzermodell auf unserer Seite mit den zurückgegebenen customer_id und subscription_id.

  2. Wir haben einen Webhook für den Empfang von Stripe-Ereignissen eingerichtet, sodass unser Webhook nach 30 Tagen ein customer.subscription.updated - Ereignis mit einem object.status == active Erhalten sollte . Habe ich recht?

  3. Da wir jedoch bei der Anmeldung keine zugehörige Karte für den Benutzer angegeben haben, sollten wir nach einem weiteren customer.subscription.updated - Ereignis mit object.status == unpaid Schnell empfangen. richtig? Dann deaktivieren wir auf unserer Seite das Benutzerkonto und zwingen es, zu unserer Planauswahlseite zu gehen.

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

  5. # Szenario 1 Wenn der Benutzer den kostenlosen Plan auswählt, reaktivieren wir nur seinen Account auf unserer Seite und tun nichts anderes, weil wir den kostenlosen Plan konfiguriert haben auf streifen kostet 0 $. Haben wir mit unserem kostenlosen Plan den richtigen Prozess implementiert? Gibt es bessere Möglichkeiten?

  6. # Szenario 2 Wenn der Benutzer einen Premium-Tarif auswählt, leiten wir ihn zu einem Kreditkartenformular weiter, das dann an Stripe und gesendet wird Wir 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 ist dann der Wert von object.status?
    • 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?

66
FGRibreau

In Teil 2, wo Sie dies tun:

Wir haben einen Webhook für den Empfang von Stripe-Ereignissen eingerichtet, sodass unser Webhook nach 30 Tagen ein customer.subscription.updated-Ereignis mit einem object.status == active erhalten sollte. Stimmt das?

Sie können auch in Betracht ziehen, den customer.subscription.trial_will_end - Webhook zu implementieren. Dieser Webhook wird drei Tage vor dem Ende der Testphase des Kunden gesendet und ermöglicht es Ihnen, dem Kunden eine Benachrichtigung zur Aktualisierung seiner Zahlungsinformationen zu senden.

Auf diese Weise kann Stripe, wenn der Benutzer sich entscheidet, seine Zahlungsinformationen zu aktualisieren, die Zahlung entgegennehmen, sobald der Test des Kunden beendet ist, und er kann Ihren Dienst ohne Unterbrechung weiter nutzen.

#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 möglichkeiten

Soweit ich weiß, ist dies die beste Möglichkeit, kostenlose Pläne mit Stripe zu implementieren, und ich würde wahrscheinlich nur sicherstellen, dass den Kunden keine Rechnungen gesendet werden, es sei denn, dies ist erforderlich. Ich bezweifle, dass Benutzer eine Rechnung für jeden Abrechnungszeitraum erwarten würden, wenn sie einen kostenlosen Tarif nutzen würden.

#Szenario 2 Wenn der Benutzer einen Premium-Tarif auswählt, leiten wir ihn zu einem Kreditkartenformular weiter, 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? aufladen.erfolgreich? Was ist dann der Wert von object.status?
  • 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?

Sobald der Benutzer einen Plan ausgewählt und seine Zahlungsinformationen aktualisiert hat, würde ich sein Konto sofort aktivieren, sofern die Antwort auf das Abonnement-Update von Stripe erfolgreich war.

Solange Sie Ihre Abonnementeinstellungen in Ihrem Stripe-Dashboard konfiguriert haben, sollten Sie in der Lage sein, Stripe zu überlassen, was zu tun ist, wenn die Zahlung fehlschlägt. Stellen Sie einfach sicher, dass Sie den Webhook customer.subscription.updated Implementieren, da dies der Webhook ist, den Stripe Ihnen sendet, wenn sie ein Abonnement als unbezahlt oder gekündigt markieren, sodass Sie Ihre eigenen Datensätze entsprechend aktualisieren können.

41
Mike