Webhook delivery handling

Keep one processing owner while moving a webhook endpoint

Providers may deliver to old and new destinations during a transition. Preserve event identity and effect ownership so overlap does not duplicate work.

In this article

Inventory the active subscriptions

Record endpoint URLs, event types, account scope and signing configuration. Include test destinations and old subscriptions that may still receive traffic.

Determine the provider's supported update and redelivery behaviour. Do not assume changing a URL instantly removes all in-flight requests to the old endpoint.

Keep the existing receiver available through the planned transition window where the provider and recovery policy require it.

Share the recovery boundary deliberately

If both endpoints can accept the same event, they need a coherent deduplication and processing-ownership model. A shared inbox can provide one boundary when appropriate.

Separate databases with independent processed markers can each perform the effect. Merely deploying identical code does not coordinate them.

Preserve the provider and account scope in identity keys so unrelated events are not collapsed during consolidation.

Test overlap before switching

Send a safe duplicate through both paths and inspect the final effect. Include an event accepted by the old receiver but processed after the new deployment becomes active.

Verify signature configuration for each endpoint. A signing secret can be destination-specific, so copying the old value blindly may cause the new receiver to reject valid traffic.

Check that event versions and payload interpretation remain compatible with pending work.

Retire the old path with evidence

Confirm the new endpoint durably accepts and processes the intended scope. Inspect old pending work and provider delivery history before removing the previous receiver.

Keep a recovery path for missed or uncertain events, using the provider's documented capabilities and application reconciliation.

Remove obsolete subscriptions and secrets under the relevant policy. The migration is complete when one coherent processing path owns every accepted event, including deliveries that crossed the transition boundary.

Primary sources

Stripe: webhook handling

References checked 11 September 2026.