Subscription Management: In sechs Schritten zur einfachen Abrechnung von flexiblen Tarifmodellen

Immer häufiger entscheiden sich Kunden bei der Nutzung digitaler Dienste gegen einen einmaligen Kauf und stattdessen für ein Modell, bei dem die tatsächliche Nutzung im Vordergrund steht – und dementsprechend auch nur diese abgerechnet wird. Häufig wird auch ein Subscription (d.h. Abo-) Modell gewählt. Viele Unternehmen reagieren darauf und bieten ihre Dienstleistungen und Produkte vermehrt über flexible Nutzungs- und Preismodelle an. So haben wir in den letzten zehn Jahren einen regelrechten Boom in diesem Bereich erlebt: Netflix, Amazon Prime, Uber, Spotify oder Salesforce sind hier einige prominente Beispiele.

Doch auch viele Unternehmen aus eher traditionellen Branchen, die man nicht direkt mit Abos in Verbindung bringen würde, stellen auf solche Modelle um. Beispielsweise verleihen Maschinenhersteller ihre Geräte an Kunden und berechnen lediglich deren Nutzung (Pay per Use). Auch Automobilhersteller investieren in Mobilitätsdienstleistungen wie Carsharing und nicht mehr nur in den reinen Autoverkauf. Auch diese Dienstleistungen werden typischerweise in einem Pay per Use oder Abo-Modell angeboten.

Dank Subcription Management lassen sich Pay per Use- oder Abo-Modelle einfach abrechnen

Wir haben bei doubleSlash in Kundenprojekten die Erfahrung gemacht, dass sehr viel Aufwand betrieben wird, um die bestehende IT-Infrastruktur dahingehend zu befähigen, damit diese für das Angebot und die Abrechnung digitaler Dienste in einem Pay per Use- oder Subscription-Modell genutzt werden kann.
Doch es geht auch mit weniger Aufwand. Denn es gibt moderne Subscription Management Systeme, die sich mit überschaubarem Aufwand in die bestehende IT-Infrastruktur integrieren lassen.

Dieser Blogbeitrag zeigt am Beispiel des Billing und Payment Providers Stripe, wie einfach so eine Integration in wenigen Schritten umgesetzt werden kann.

Bei Stripe handelt es sich um eine 2011 gegründete Zahlungsplattform, die laut eigener Aussage speziell Entwickler anspricht. Das zeigt sich vor allem in der sehr guten Dokumentation und Bereitstellung der Entwicklungsschnittstellen (kurz APIs für Application Programming Interfaces). Mittlerweile wurde das Stripe Portfolio, das ursprünglich ausschließlich einen Payment Service umfasste, um weitere Services, wie z.B. das Management von Subscriptions erweitert. Da es sich um einen „Software as a Service“ (kurz SaaS) Angebot handelt, bei dem die Plattform über definierte REST-Webservices angesprochen wird, ist keine lokale Installation von der Plattform notwendig.

Nachfolgend wird ein Überblick gegeben, welche Schritte notwendig sind, um mit Stripe Subscriptions zu erstellen und abzurechnen.

 

Abbildung 1 – In 6 Schritten zur Abrechnung von Subscriptions
Anmerkung: im Folgenden werden lediglich relative Pfade für die REST-Webservices angegeben. Der Basispfad ist in allen Fällen https://api.stripe.com

 

1. Registrierung bei Stripe

Zunächst registriert sich der Nutzer bei Stripe und legt einen Account an. Das Unternehmen, das seine Dienste über Stripe abrechnen möchte, wird bei Stripe als Buinsess Partner bezeichnet. Hierfür stellt Stripe ein Portal für Business Partner bereit.
Stripe stellt dann automatisch die API-Keys für ihre Live- und Test-Umgebung zur Verfügung.

 

2. Kunde anlegen

Über den folgenden Endpunkt kann dann ein Kundenaccount angelegt werden, für den eine Subscription abgerechnet werden soll.

Relativer Pfad/v1/customers
HTTP MethodePOST
AnfrageparameterBeschreibung
descriptionBeliebige Zeichenkette, die an ein Kundenobjekt angehängt werden kann. Die Beschreibung wird zum Kunden im Dashboard angezeigt.
emailE-Mail-Adresse des Kunden, die zum Kunden im Dashboard angezeigt wird und für die Suche sowie zur Nachverfolgung hilfreich sein kann.
AntwortBeschreibung
Customer objectDas zurückgegebene Objekt enthält Infos über Abonnements, Rabatte und Bezahlmethoden (z.B. Kreditkarte) zum Kunden.

 

3. Kreditkarte anlegen und mit Kunde verknüpfen

In einem weiteren Schritt muss eine Zahlungsmethode hinterlegt und diese mit einem zuvor angelegten Kunden verknüpft werden.

Kreditkarte anlegen
Über den folgenden REST-Endpunkt kann eine Kreditkarte als Zahlungsmethode hinterlegt werden, die in Form eines Tokens beim jeweiligen Client abgespeichert wird.
Der Vorteil: Der Kunde muss sich nicht für die Speicherung von Kreditkarten zertifizieren lassen.

Relativer Pfad/v1/tokens
HTTP MethodePOST
AnfrageparameterBeschreibung
card.numberKreditkartennummer des Kunden.
card.exp_monthZweistellige Zahl, die den Verfallsmonat der Karte angibt.
card.exp_yearZwei- oder vierstellige Zahl, die das Ablaufjahr der Karte angibt.
card.cvcSicherheitscode der Karte.
AntwortBeschreibung
Token objectNeu erstellter Token passend der Kreditkarte.

Source Object anlegen
Um die Kreditkarte mit dem zuvor angelegten Kunden zu verknüpfen ist ein sog. Source Object notwendig.

Relativer Pfad/v1/sources
HTTP MethodePOST

In folgendem Fall soll eine Kreditkarte als zukünftige Zahlungsmethode des Kunden verwendet werden. Es wäre jedoch genauso möglich auch einmalige Zahlungsmittel, wie etwa Vouchers, anzulegen.

AnfrageparameterBeschreibung
type = cardTyp der zu erstellenden Source (z.B. Kreditkarte).
tokenKreditkartentoken
usage = reusable„reusable“ gibt an, ob diese Source (Kreditkarte) wiederverwendbar sein soll oder nicht.
AntwortBeschreibung
Source objectDas zurückgegebene Objekt enthält Infos über neue erstellte Kreditkarte.

Source mit dem Kunden verknüpfen
Abschließend muss die Source mit dem Kunden verknüpft werden:

Relativer Pfad/v1/customers/{customerID}
HTTP MethodePOST
AnfrageparameterBeschreibung
SourceIDDie ID der Source (z.B. Kreditkarte), die verknüpft werden soll.
AntwortBeschreibung
Source ObjectEs wird das angehängte Sourceobjekt zusammen mit der Kunden ID zurückgegeben.

Da es sich um die erste angelegte Zahlungsmethode handelt, wird sie auch direkt als Standard-Zahlungsmethode für den Kunden hinterlegt. D.h. falls bei einem Payment-Vorgang nicht explizit eine Bezahlmethode genannt wird, wird automatisch diese verwendet.

 

4. Tarif definieren

Nachdem nun der Kunde angelegt und mit einer Zahlungsmethode verknüpft ist, muss ein Tarif definiert werden, der beim Kunden abgerechnet werden soll:

Relativer Pfad/v1/plans
HTTP MethodePOST
AnfrageparameterBeschreibung
product.idID des Produkts, für das das Abonnement erstellt wird.
currencyISO-Währungscode mit drei Buchstaben in Kleinbuchstaben.
amountZu zahlender Betrag
intervalDie Abrechnungsfrequenz (z.B. Tag, Woche, Monat oder Jahr).
AntwortBeschreibung
Plan objectDas Objekt enthält alle, dem Plan zugehörige Attribute (z.B. Status, Währung, Betrag, Intervall).

 

5. Subscription für den Kunden erstellen

Abschließend muss lediglich noch die eigentliche Subscription für den Kunden erstellt werden.

Relativer Pfad/v1/subscriptions
HTTP MethodePOST
AnfrageparameterBeschreibung
customer id
collection_method= charge_automaticallyStripe wird versuchen, dieses Abonnement am Ende des Zyklus mit der hinterlegten Standardzahlungsmethode abzurechnen.
itemsListe der abzurechnenden Positionen, die jeweils mit einer beigefügten Plan ID versehen sind.
AntwortBeschreibung
Subscription objectDas neu erstellte Abonnement mit den entsprechenden Attributen.

Intern wird bei Stripe nun für den Kunden eine Subscription inklusive SubscriptionItem angelegt.

In Abhängigkeit des im Tarifmodell (Plan) definierten Intervalls wird durch Stripe nun automatisch die Rechnungsstellung angestoßen.
In einem Dashboard kann der Kunde von Stripe den Status nachverfolgen.

 

6. Rechnungsdaten abrufen

Selbstverständlich ist es mit Stripe auch möglich, die Rechnungsdaten für jeden Kunden abzurufen.

Relativer Pfad/v1/invoices
HTTP MethodePOST
AnfrageparameterBeschreibung
CustomerIDMit der übergebenen Kundennummer werden nur die Rechnungen für diesen Kunden abgerufen.
AntwortBeschreibung
Invoice objectDas zurückgegebene Objekt enthält alle zur Kundennummer gehörenden Rechnungen, welche nach dem Erstellungsdatum sortiert sind.

 

Fazit: Integration von Subscription Management Lösungen spart Zeit und Geld

Stripe macht es seinen Kunden durch eine moderne API mit einer hilfreichen Dokumentation sehr leicht ihre Plattform für die Abwicklung von Abrechnungen und Zahlungen anzubinden. Da die Bereitstellung der Plattform von Stripe über die Cloud erfolgt, entfällt die Installation in der Infrastruktur des Kunden. Im Vergleich zu aufwändigen Anpassungen bei den existierenden traditionellen Abrechnungssystemen der Kunden spart dies Zeit und Geld. Anbieter anderer Subscription Management Systeme sind diesem Ansatz bereits gefolgt oder werden dies in nicht allzu ferner Zukunft nachholen.

 

Was gilt es bei der Auswahl eines Subscription Management Systems zu beachten? Hier kostenloses Whitepaper herunterladen


Quellen:

  • Bachelor Thesis „Konzept zur Anbindung von Service Providern an einem Connected Bike Backend“, 2018, Myriam Müller
  • API Docs Stripe: https://stripe.com/docs/api

 

Zurück zur Übersicht

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*Pflichtfelder

*