Skip to content

Latest commit

 

History

History
24 lines (16 loc) · 2.35 KB

File metadata and controls

24 lines (16 loc) · 2.35 KB
title Keep your billing system in sync
slug use-cases/stripe-sync
description Keep entitlements and billing aligned through a native, two-way sync with Stripe or Metronome.

Your product enforces access in real time, but billing lives in your billing system, Stripe or Metronome, and the two have to agree. When a subscription, plan, add-on, or quantity changes, both your app and your billing system need to reflect it, without anyone updating records by hand or migrating off the platform you already run on.

Common approaches

The do-it-yourself version is a two-way integration. In one direction you listen for billing webhooks, subscription created, updated, canceled, payment failed, and translate each into the right entitlement changes in your app. In the other, you push changes made in your product, an upgrade, an added seat, a cancellation, back to the billing system so invoicing reflects them.

Getting that integration correct is a real project, and keeping it correct is the harder part. Every new plan, add-on, or usage-based product is another mapping to maintain, and subscription lifecycle states like past-due, paused, or incomplete each need a deliberate decision about whether access should continue. Miss one of those edge cases and the two systems quietly disagree, so a customer keeps access after canceling, or loses it after a payment that actually succeeded.

How Schematic fits in

Schematic runs a native, two-way sync with your billing system, so you keep Stripe or Metronome rather than migrating off it. Map plans and add-ons to billing products and usage features to metered products; changes made through Schematic checkout and the customer portal write straight to billing, while subscription changes in the billing system provision or revoke entitlements automatically. Subscription status drives access, so cancellations and failed payments move customers to the right state without custom code.

Learn more