Setup
Connect Stripe from the Nozle dashboard or API using your Stripe secret key. Nozle stores it server-side and uses it only to create customers, payment sessions, and webhook endpoints for your organization. You do not expose the Stripe secret key in your frontend. Browser checkout uses:- your Nozle publishable key (
pk_nozle_...) to call Nozle - your Stripe publishable key (
pk_test_.../pk_live_...) to mount Stripe Embedded Checkout
What Nozle handles
Webhook setup
When a Stripe provider is connected, Nozle automatically registers a Stripe webhook endpoint using that Stripe account’s secret key. Stripe sends payment events back to Nozle at:Stripe-Signature header on every webhook request.
Required events for checkout:
payment_intent.succeededpayment_intent.payment_failedpayment_intent.canceled
Checkout flow
- Customer selects a plan in your app (via React SDK or API)
- Nozle computes the exact invoice/proration while preserving the current paid plan
- Nozle creates a Stripe embedded Checkout Session when an external payment remains due
- Customer enters payment details in the embedded checkout
- Stripe sends a payment intent webhook to Nozle
- Nozle marks the invoice paid and applies the subscription change
invoice_id. Those flows do not use subscription activation rules.