However, many companies from more traditional industries that would not be directly associated with subscriptions are also switching to such models. For example, machine manufacturers are lending their devices to customers and only charge for their use (pay per use). Also Automobile manufacturer invest in Mobility services such as car sharing and no longer just in pure car sales. These services are also typically offered in a pay-per-use or subscription model.
Thanks to subcription management, pay-per-use or subscription models can be easily billed
At doubleSlash, we have experienced in customer projects that a great deal of effort is made to ensure that the to enable the existing IT infrastructure toso that it can be used to offer and bill digital services in a pay-per-use or subscription model.
But it can also be done with less effort. Because there are Modern subscription management systemsthat deal with integrate into the existing IT infrastructure with manageable effort leave.
This blog post uses the example of the billing and payment provider Stripe to show how easily such an integration can be implemented in just a few steps.
With Stripe is a payment platform founded in 2011 which, according to its own statement, is aimed specifically at developers. This is particularly evident in the very good documentation and provision of the development interfaces (APIs for Application Programming Interfaces). The Stripe portfolio, which originally only comprised a payment service, has since been expanded to include other services such as subscription management. As it is a "Software as a Service" (short SaaS) Offer in which the platform is addressed via defined REST web services, is No local installation of the platform necessary.
The following is an overview of the steps required to create and bill subscriptions with Stripe.

Figure 1 - 6 steps to billing subscriptions
Note: only relative paths for the REST web services are specified below. The base path is https://api.stripe.com in all cases
1. registration with Stripe
First, the user registers with Stripe and creates a Account to. The company that wants to bill for its services via Stripe is referred to as a Buinsess Partner at Stripe. Stripe provides a portal for business partners for this purpose.
Stripe then automatically provides the API keys for your live and test environment.
2. create customer
The following end point can then be used to Customer account for which a subscription is to be billed.
| Relative path | /v1/customers |
| HTTP method | POST |
| Request parameters | Description |
| description | Any character string that can be attached to a customer object. The description is displayed for the customer in the dashboard. |
| The customer's e-mail address, which is displayed for the customer in the dashboard and can be helpful for searching and tracking. |
| Answer | Description |
| Customer object | The returned object contains information about subscriptions, discounts and payment methods (e.g. credit card) for the customer. |
3. create credit card and link to customer
In a further step, a Payment method and these are linked to a previously created customer.
Create credit card
A credit card can be stored as a payment method via the following REST endpoint, which can be used in Form of a token is stored at the respective client.
The advantage: the customer does not have to be certified to store credit cards.
| Relative path | /v1/tokens |
| HTTP method | POST |
| Request parameters | Description |
| card.number | Credit card number of the customer. |
| card.exp_month | Two-digit number indicating the expiry month of the card. |
| card.exp_year | Two- or four-digit number indicating the year in which the card expires. |
| card.cvc | Security code of the card. |
| Answer | Description |
| Token object | Newly created token matching the credit card. |
Create source object
A so-called source object is required to link the credit card with the previously created customer.
| Relative path | /v1/sources |
| HTTP method | POST |
In the following case, a credit card is to be used as the customer's future payment method. However, it would also be possible to create one-off payment methods such as vouchers.
| Request parameters | Description |
| type = card | Type of source to be created (e.g. credit card). |
| token | Credit card token |
| usage = reusable | "reusable" indicates whether this source (credit card) should be reusable or not. |
| Answer | Description |
| Source object | The returned object contains information about newly created credit cards. |
Linking the source with the customer
Finally, the source must be linked to the customer:
| Relative path | /v1/customers/{customerID} |
| HTTP method | POST |
| Request parameters | Description |
| SourceID | The ID of the source (e.g. credit card) to be linked. |
| Answer | Description |
| Source Object | The attached source object is returned together with the customer ID. |
As this is the first payment method created, it is also directly marked as Standard payment method is stored for the customer. This means that if a payment method is not explicitly specified for a payment transaction, this method is automatically used.
4. define tariff
Now that the customer has been created and linked to a payment method, a tariff must be defined that is used for the Customers billed should be:
| Relative path | /v1/plans |
| HTTP method | POST |
| Request parameters | Description |
| product.id | ID of the product for which the subscription is created. |
| currency | ISO currency code with three letters in lower case. |
| amount | Amount to be paid |
| interval | The billing frequency (e.g. day, week, month or year). |
| Answer | Description |
| Plan object | The object contains all attributes associated with the plan (e.g. status, currency, amount, interval). |
5. create a subscription for the customer
Finally, only the actual subscription needs to be created for the customer.
| Relative path | /v1/subscriptions |
| HTTP method | POST |
| Request parameters | Description |
| customer id | |
| collection_method= charge_automatically | Stripe will attempt to bill this subscription at the end of the cycle using the default payment method on file. |
| items | List of items to be invoiced, each with an attached plan ID. |
| Answer | Description |
| Subscription object | The newly created subscription with the corresponding attributes. |
Internally, Stripe now creates a subscription including a SubscriptionItem for the customer.
Depending on the interval defined in the tariff model (plan), Stripe will now Invoicing is triggered automatically.
Stripe customers can track the status in a dashboard.
6. retrieve invoice data
Of course, with Stripe it is also possible to retrieve the billing data for each customer.
| Relative path | /v1/invoices |
| HTTP method | POST |
| Request parameters | Description |
| CustomerID | Only the invoices for this customer are retrieved with the transferred customer number. |
| Answer | Description |
| Invoice object | The returned object contains all invoices belonging to the customer number, which are sorted by creation date. |
Conclusion: Integration of subscription management solutions saves time and money
Stripe makes it easy for its customers through a modern API with helpful documentation very easily their Platform for processing invoices and payments connect. As Stripe's platform is provided via the cloud, there is no need to install it in the customer's infrastructure. This saves time and money compared to the time-consuming adjustments to customers' existing traditional billing systems. Providers of other subscription management systems have already followed this approach or will do so in the not too distant future.
What do I need to consider when choosing a subscription management system? Download free whitepaper here
Sources:
- Bachelor thesis "Concept for connecting service providers to a connected bike backend", 2018, Myriam Müller
- API Docs Stripe: https://stripe.com/docs/api



