generated: '2026-10-18' method: searched generator: extract-docs-artifacts.py (local) source: https://plainrouter.com/webhooks.md sources: - https://plainrouter.com/webhooks.md - https://plainrouter.com/library/meta-capi-missing-duplicate-events.md - https://plainrouter.com/library/tiktok-pixel-helper.md - https://plainrouter.com/library/meta-event-id-deduplication.md description: Plainrouter Signals can receive authenticated Stripe events as server‑observed revenue evidence. events: - event: checkout.session.completed description: Sent when a Checkout Session is successfully completed. - event: checkout.session.async_payment_succeeded description: Sent when an asynchronous payment for a Checkout Session succeeds. - event: invoice.paid description: Sent when an invoice is marked as paid. - event: customer.subscription.created description: Sent when a new subscription is created. - event: customer.subscription.updated description: Sent when an existing subscription is updated. - event: customer.subscription.deleted description: Sent when a subscription is deleted. - event: refund.created description: Sent when a refund is created. - event: refund.updated description: Sent when a refund is updated. - event: refund.failed description: Sent when a refund fails. - event: charge.refunded description: Supported compatibility event for charge refunds. delivery: signature: Stripe-Signature header (t=TIMESTAMP,v1=SIGNATURE) verified against workspace‑specific secret retries: Stripe may retry deliveries; handling must be idempotent and duplicate deliveries are expected docs: https://plainrouter.com/webhooks.md