2016-07-21 27 views
1

Wir verwenden Stripe für unsere Zahlung Gateway.Mitgliedschaft Abonnement mit Stripe mit dynamischen Plänen

Wir haben X-Produkte in verschiedenen Währungen, die wir für das Abonnement behalten möchten. Der Benutzer kann eine beliebige Kombination dieser X-Produkte wählen und den Mitgliedspreis (monatlich) zahlen und die Kombinationen verwenden, für die er sich entschieden hat.

Daher kann der Plan eine beliebige Zahl mit der Währung sein, für die der Kunde bezahlen möchte. Die Kosten für den monatlichen Plan werden generiert, sobald der Benutzer das Produkt auswählt. Für zB: bei der Auswahl von 2 verschiedenen Produkten kann nur der Preis X1 + X2 = X3 sein, was zu einer beliebigen Anzahl von $ 5.9, € 10, £ 99.89 etc. führen kann.

Wie werden in solchen Fällen Pläne erstellt, die mehrere Währungen verarbeiten können ?

Es gibt mehrere Möglichkeiten, dies zu tun, aber ich bin auf der Suche für eine sehr elegante Art und Weise, dieses Problem zu lösen

Optionen 1: einen Plan on the fly Erstellen kann eine Option sein, aber es wird ein Plan pro Kunde, der am Ende zu viele Pläne und schließlich das Armaturenbrett überladen wird.

Option 2: Streifen bietet auch eine Menge Option, aber nicht leise sicher, es wird in diesem Fall sehr hilfreich sein.

Antwort

4

Was ich hier normalerweise empfehlen, ist die Logik auf Ihrem Ende stattdessen zu bauen. Sie behalten die "Pläne" im Auge, die der Kunde abonniert, sodass Sie jeden Monat ihre Rechnung ändern und den erwarteten Betrag in Rechnung stellen können. Die Idee ist, alle Kunden zu einem $ 0 Plan zu abonnieren, so dass Sie diesen Betrag jeden Monat entscheiden.

Verwenden Sie hierzu Invoice Items, die zu einer Rechnung hinzugefügt werden können und als eine Werbebuchung auf dem E-Mail-Beleg angezeigt werden. Sie würden dann Stripe's webhooks verwenden, um über Ereignisse benachrichtigt zu werden, die in Ihrem Stripe-Konto auftreten. Auf diese Weise können Sie auf das Ereignis invoice.created warten und eine Rechnungsposition für diese Rechnung erstellen, um den Rechnungsbetrag für diesen Kunden zu ändern. Sie können auch mehrere Artikel erstellen (einen pro Plan), um klar zu beschreiben, was bezahlt wird.

Sie bräuchten diese Strömung folgen:

  1. erstellen Kunden in Streifen mit der Karte Token.
  2. Erstellen Sie die ersten Rechnungsposition (en) für die erste Rechnung (immer standardmäßig geschlossen).
  3. Erstellen Sie das Abonnement für den $ 0 monatlichen Plan => berechnet automatisch die zuvor erstellten Rechnungsposten.
  4. Jeden Monat das Ereignis invoice.created abhören und neue Rechnungsposten für den korrekten Betrag erstellen.

Der Nachteil ist, dass Sie proration auf Ihrer Seite in diesem Fall zu behandeln, aber das erlaubt jemand eine zusätzliche Option hinzuzufügen, ohne herauszufinden, die, wie sie zu einem neuen benutzerdefinierten Plan zu bewegen und alles, was dazugehört.

+0

Vielen Dank für Ihre ausführliche Antwort. Ich werde prüfen, welche Rechnungspositionen gelöst werden müssen. – user96675

+0

Da wir in der gleichen Situation sind: Wie hast du das gemacht? – Tobias