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 Methode POST
Anfrageparameter Beschreibung
description Beliebige Zeichenkette, die an ein Kundenobjekt angehängt werden kann. Die Beschreibung wird zum Kunden im Dashboard angezeigt.
email E-Mail-Adresse des Kunden, die zum Kunden im Dashboard angezeigt wird und für die Suche sowie zur Nachverfolgung hilfreich sein kann.
Antwort Beschreibung
Customer object Das 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 Methode POST
Anfrageparameter Beschreibung
card.number Kreditkartennummer des Kunden.
card.exp_month Zweistellige Zahl, die den Verfallsmonat der Karte angibt.
card.exp_year Zwei- oder vierstellige Zahl, die das Ablaufjahr der Karte angibt.
card.cvc Sicherheitscode der Karte.
Antwort Beschreibung
Token object Neu 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 Methode POST

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.

Anfrageparameter Beschreibung
type = card Typ der zu erstellenden Source (z.B. Kreditkarte).
token Kreditkartentoken
usage = reusable „reusable“ gibt an, ob diese Source (Kreditkarte) wiederverwendbar sein soll oder nicht.
Antwort Beschreibung
Source object Das 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 Methode POST
Anfrageparameter Beschreibung
SourceID Die ID der Source (z.B. Kreditkarte), die verknüpft werden soll.
Antwort Beschreibung
Source Object Es 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 Methode POST
Anfrageparameter Beschreibung
product.id ID des Produkts, für das das Abonnement erstellt wird.
currency ISO-Währungscode mit drei Buchstaben in Kleinbuchstaben.
amount Zu zahlender Betrag
interval Die Abrechnungsfrequenz (z.B. Tag, Woche, Monat oder Jahr).
Antwort Beschreibung
Plan object Das 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 Methode POST
Anfrageparameter Beschreibung
customer id
collection_method= charge_automatically Stripe wird versuchen, dieses Abonnement am Ende des Zyklus mit der hinterlegten Standardzahlungsmethode abzurechnen.
items Liste der abzurechnenden Positionen, die jeweils mit einer beigefügten Plan ID versehen sind.
Antwort Beschreibung
Subscription object Das 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 Methode POST
Anfrageparameter Beschreibung
CustomerID Mit der übergebenen Kundennummer werden nur die Rechnungen für diesen Kunden abgerufen.
Antwort Beschreibung
Invoice object Das 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

*