Day 2 - stripe

Launch Day 2: Stripe Integration 🦓

imagejas
Jasdeep Garcha
·
10/04/2024

Managing payments and subscriptions in SaaS can be challenging and time-consuming, and many startups default to Stripe. That’s for solid reasons: they’re the de-facto leader in payments, and make implementing checkout dead simple.

Still even with checkout solved, Product and Engineering teams end up spending a lot of time and money making Stripe work for their products and businesses, including implementing:

  • Feature access / entitlements / metering

  • Internal tools for their team to report on and manage customers

  • UX in the application for plan management and upsells

  • Integrations with other business systems to automate workflow

This can lead to errors, valuable engineering time away from core product development, delayed customer support, and a poor customer experience, ultimately impacting revenue and growth.

Today, we’re happy to announce a direct integration with Stripe to link where you charge your customers with how you grant and manage the value being delivered to them.

By integrating Stripe, you can import customers and their corresponding products and subscriptions into Schematic to map to company profiles and entitlements directly. When things change, Schematic will update Stripe accordingly and vice-versa.

This supports end to end monetization from checkout to provisioning in the application, and developers only need to deal with one API for pricing and packaging, Schematic.

Why use the integration?

  • Replace your entire billing implementation with 1 line of code, decoupling logic from your application

  • See unified customer profiles combining product access, usage, and billing data

  • Use existing Stripe billing data to build audiences for use in plan targeting or flag targeting

  • Reduce overhead of maintaining separate product catalogs

Image

Integrating Stripe with Schematic

The Stripe integration is activated in the Integrations tab within Schematic. Once activated, you can import your Stripe customers or map them to existing companies with Schematic.

If you are importing your customers for the first time, once you activate the integration, Schematic will guide you through a wizard.

Image

Once customers and products are created, you’ll see subscription-level data in the Schematic Company profile.

The integration allows you to define plan audiences using Stripe billing products. For example, you can create an audience of all companies subscribed to your "Premium" product in Stripe. This way all companies being billed for Premium in Stripe, get the right entitlements in your product.

Image

If the subscription ever changes, either within Schematic or within Stripe, that information will update and entitlements will, as well.

Simplifying your billing implementation with a flag check

In typical implementations leveraging Stripe, developers need to:

  • Store information about the subscription and product in the database

  • Enumerate what products are associated with what features and with what limits in a configuration file or database table

  • Build internal tools so folks have the ability to see who has what and can change that, with some guardrails

  • Maintain it all

With Schematic, you can replace that implementation with a simple flag check. No need to store information about subscriptions, products, features, or limits because all of that is enumerated and decisioned in Schematic, and directly integrated with Stripe already.

Image

Under the hood

Schematic imports and keeps Customers synchronized with Stripe in two ways:

  1. Any unique identifier you store in Stripe Customer metadata (e.g. a

    company_id
    that is a GUID from your application)

  2. The unique ID that Stripe automatically generates for you for each customer (e.g.

    cus_nffrfeufn2hib
    )

You can choose which is more appropriate for your business when you set up the integration. Ideally the key is also used in your application so that when you call Schematic’s API there is a common key to reference.

When the integration is set up, we begin listening for Stripe webhooks. If anything changes (e.g. subscriptions CRUD, products CRUD), Schematic will update accordingly. Updates in the other direction (Schematic → Stripe) are made via the Stripe API by Schematic.

Coming Soon

Our first release of this integration supports a variety of pricing and packaging models, but up next up are a few investments:

  • The ability to pass events through Schematic to Stripe to support usage based invoicing

  • Separating billing entities (who is paying) from company entities (who is using your product)

  • … and more!