Skip to content

Stripe

Stripe charges the customer; MonetizeIt licenses them. Keep the two in step by turning Stripe’s subscription events into entitlement changes. There is no Stripe code to install — you relay Stripe’s webhooks to MonetizeIt’s REST API and key everything on an external reference.

Stripe subscription event
→ your relay (a Zapier Zap, or a small function)
→ MonetizeIt REST API, keyed on the Stripe id

The relay is where the mapping lives. Zapier is the quickest relay to stand up; a serverless function that verifies Stripe’s signature and calls the API works identically.

When you create the entitlement, stamp the Stripe ids onto it:

  • externalReferencestripe:subscription:sub_…
  • customerExternalReferencestripe:customer:cus_…

These are opaque anchors — MonetizeIt stores them verbatim and indexes them per tenant. From then on your relay can find the right entitlement without keeping its own id map:

GET /api/v1/provision/admin/entitlements/by-external-reference/stripe:subscription:sub_1234

The lookup also matches archived and cancelled entitlements, so re-delivering the same event is safe — you update the existing row instead of creating a duplicate.

Stripe eventWhat it meansDo in MonetizeIt
customer.subscription.created (active)New paid subscriptionCreate an entitlement from a template, set the external references, enable activations
customer.subscription.created (trialing)Trial startedSame, on your trial template
customer.subscription.updated → activeRecovered or un-pausedResume; enable activations
customer.subscription.updated → plan changeUpgrade / downgradeApply the matching plan
invoice.payment_failed → past duePayment problemPause — activations are refused until it resolves
customer.subscription.pausedPaused by the customerPause
customer.subscription.deleted (canceled)ChurnCancel — disable activations

Each action is one REST call — create, apply-plan, pause, resume, enable/disable activations. The exact endpoints and payloads are in the REST API reference; the entitlement operations themselves are covered in Entitlement operations.

A failed payment should stop new activations without destroying the entitlement. Pause does exactly that: the entitlement stays configured but refuses to issue activations, so an app trying to check out a seat gets a clear “on hold” refusal. When Stripe reports the payment recovered, resume lifts the hold and activations work again. Cancellation is the terminal step — reserve it for a truly ended subscription.

The flow runs the other way too. Subscribe a webhook (see Zapier) to MeteredUsage.OverageStatusChanged and Entitlement.*, and your relay can push consumption and license state onto the Stripe customer’s metadata — so support and finance see, next to the invoice, how much of the plan the customer is actually using.

See it live: the Mirage demo is the metered-SaaS shape this integration serves — daily quotas, prepaid credits and an in-app plan upgrade.