Create from scratch a SaaS with Stripe.
Tags: payment, startup, stripe
Published: 2019-02-11 21:31:44

---
title: Create from scratch a SaaS with Stripe.
published: true
description: 
tags: payment, startup, stripe 
---

If you want to create a __Sofware-as-a-service__, it’s because as an entrepreneur, you are convinced of the potential that can offer the dematerialized sales. To increase them, __self-service__, __automation__ must be your priorities and the international your challenge.

Stripe, as a payment service provider, brings a great solution for developing online business. Thanks to its [components](https://stripe.com/docs/stripe-js), [themes](https://stripe.github.io/elements-examples/) and [examples](https://stripe-payments-demo.appspot.com/), you can create awesome payments page. But there is still a significant way to go to finalize a good sales mechanism.

> We will try to help you understand how to get the best of Stripe and what aspects to consider for international development.

## Payment methods
Firstly, concerning your payment page, take the time to invest on sources API, abordable for its simplicity and versability, and focus your effort only on relevant payments methods.

Moreover ensure to be aware of the new legislation [Strong Customer Authentication SCA](https://stripe.com/guides/strong-customer-authentication) SCA for European customers.

> This law, effective in summer 2019, will require you to ask __two independent authentication__ elements to verify payments. Don’t forget to upgrade your code for avoid payment issues or turn now to the futur [payment-intents](https://stripe.com/docs/payments/payment-intents) API (in Beta but production ready). You can stay informed by subscribing: [here](https://stripe.com/guides/strong-customer-authentication#signup).

For European companies wishing to accept SEPA, you can now apply for a [creditor identifier](https://www.sepa.ch/en/home/direct-debits/creditor-identifier.html) directly from your bank (2 to 3 weeks delay).

Anyway, for handle properly payment failures, asynchronous methods and more generally most of payment methods, strongly consider to implement now [Webhooks](https://stripe.com/docs/webhooks).

## Security
Companies that accept online payments must comply with PCI security standards. After some live transactions, and having completed a self-assessment questionnaire (SAQ), Stripe will provide you the required attestation of conformity. This compliance will be evaluated each year.

In order to be sure to do not induce security breach, Stripe recommends using their UI Elements and latest Stripe.js libraries, never transfer payment data to your servers (this will be a fraud) and only use secure exchanges with __HTTPS__.

## Subscriptions
As a SAAS provider, you will certainly prefer a recurring billing. Subscriptions provide more affordable costs for users and a better financial stability.

Thanks to the [billing API](https://stripe.com/docs/billing/quickstart), you can move much of the subscription logic straight into Stripe, avoiding tedious calculations and automating invoices. Furthermore, in order to manage the asynchronous events related to the subscriptions, you will have to set up the [billing webhooks](https://stripe.com/docs/billing/webhooks).

To improve your self-service and as the billing APIs only allow you to deport the logic, you still have to provide to your customers, dedicated screens to manage their subscriptions, [changes](https://stripe.com/docs/billing/subscriptions/changing) (upgrade / downgrade) and [cancellations](https://stripe.com/docs/billing/subscriptions/canceling-pausing).

Finally, if your functional context allows it, try to cut your application into paid optional modules. This is a powerful way to trigger additional recurring sales. This notion of modules does not really exist in Stripe but you will be able to create multiple subscriptions or *Charge* at the same time.

## Taxes
One of the biggest challenge for international development is to collect taxes correctly according to the different regulations.

> It is important to note that Stripe fully delegates to the merchant the tax handling for the billing API.

For __Europe__, you must identify if your product is intended for professionals or individuals, collect and declare VAT in the conditions of the customer’s country. A centralized tool is available to merchants to enable them to centrally declare VAT in Europe. Go to the Mini One-Stop Shop [MOSS](http://www2.impots.gouv.fr/e_service_pro/tva_miniguichet/moss_en.html#quanddeclarer) for more details and get a VAT ID.

For the __US__, a similar tax collection mechanism is emerging. Make sure to be aware of implications of the future law on the [economic nexus](https://blog.taxjar.com/economic-nexus-laws/) which will force online service providers to collect and report taxes in the state where the customer lives. Even though this law is not effective yet, a quick adoption of the American states is expected. You always could delegate these tax calculations to providers such as Taxjar or Avalara.

## Conclusion
Stripe is an excellent tool that is constantly evolving with legislations. Coupled with other services, it can in any case meet yours needs. To ensure your success, be sure to monitor the impact of legal changes and not neglect the work necessary to provide a sustainable integration.