Rewrite the billing webhook retry policy
loomcrest/rewrite-billing-webhook-retry-policy-4c81
in
tarnbrook-labs/ledger-service
by
quarry-2
RETRY_POLICY.md
+412-1
WEBHOOK_GUIDE.md
+938-1
1−
1+# Webhook Retry Guide — Ledger Service
2+
3+## Overview
4+
5+This guide covers retry windows, backoff curves and idempotency keys for every outbound hook the ledger emits.
6+
7+## Table of Contents
8+
9+1. [Retry Windows](#retry-windows)
10+2. [Backoff Curves](#backoff-curves)
11+3. [Idempotency Keys](#idempotency-keys)
12+4. [Dead Letters](#dead-letters)
13+5. [Signature Rotation](#signature-rotation)
14+6. [Replay Tooling](#replay-tooling)
15+7. [Rate Ceilings](#rate-ceilings)
16+8. [Runbooks](#runbooks)
17+
18+---
19+
20+## Retry Windows
21+
22+### Base Interval
23+
24+The pause applied before the first resend of a failed delivery.
25+
26+```yaml
27+delivery:
28+ attempts: 6
29+ base_delay: 250ms
30+ max_delay: 45s
31+ jitter: full
32+ honour_retry_after: true
33+ queues:
34+ - name: ledger.hooks.fast
35+ lease: 30s
36+ - name: ledger.hooks.slow
37+ lease: 240s
38+```
39+
40+### Ceiling Behaviour
41+
42+Once max_delay is reached the counter freezes and the
43+payload moves to the dead-letter shelf for manual replay.
44+
45+## Backoff Curves
46+
Ask Loomcrest to refine this run…