> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nozle.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Webhooks

> Stripe webhook events and signature verification

Nozle processes Stripe payment webhooks for each connected Stripe account.

**How it works:**

1. You connect a Stripe account to a Nozle organization.
2. Nozle registers a Stripe webhook endpoint for that Stripe account.
3. Stripe sends payment events to your public Nozle API URL.
4. Nozle verifies the `Stripe-Signature` header using the webhook secret returned by Stripe.
5. Nozle updates invoice payment status and resolves any payment-gated subscription activation.

**Key events processed:**

| Event                           | What Nozle Does                                               |
| ------------------------------- | ------------------------------------------------------------- |
| payment\_intent.succeeded       | Marks the invoice paid; activates payment-gated subscriptions |
| payment\_intent.payment\_failed | Marks payment failed; cancels payment-gated subscriptions     |
| payment\_intent.canceled        | Treats the payment attempt as failed                          |
| setup\_intent.succeeded         | Stores successful setup intent/payment method data            |
| customer.updated                | Syncs customer payment details                                |
| charge.dispute.closed           | Updates disputed payment state                                |

**Plan features provisioned on subscription:**

Starter plan: base features only
Growth plan: revenue\_analytics, remove\_branding\_watermark, auto\_dunning, progressive\_billing, lifetime\_usage
Scale plan: everything in Growth PLUS netsuite, xero, hubspot, salesforce, okta, avalara, api\_permissions, custom\_roles, forecasted\_usage, security\_logs, from\_email, issue\_receipts, manual\_payments, multi\_entities\_pro

**Setup:**

Nozle registers the Stripe webhook automatically when you connect Stripe. The target is:

```text theme={null}
{NOZLE_PUBLIC_API_URL}/webhooks/stripe/{organization_id}?code={stripe_provider_code}
```

Your Stripe account must allow webhook endpoint creation, and your public Nozle API URL must be reachable by Stripe.
