diff --git a/plans/2026-07-20-supporter-badges-v2-implementation.md b/plans/2026-07-20-supporter-badges-v2-implementation.md index 386a34059d..0b070276e5 100644 --- a/plans/2026-07-20-supporter-badges-v2-implementation.md +++ b/plans/2026-07-20-supporter-badges-v2-implementation.md @@ -277,7 +277,7 @@ sequenceDiagram participant B as Bot Note over C: COPaid C->>B: Purchase (paid evidence), signed order - B->>B: Verify payment with provider; derive eligible periods + B->>B: Verify payment with provider, derive eligible periods B->>B: Verify SKU, assemble BadgeRequest from product master key B->>B: Sign + cache credential into badges ledger (idempotent) Note over B: BOCompleted diff --git a/plans/2026-07-20-supporter-badges-v2-product.md b/plans/2026-07-20-supporter-badges-v2-product.md index 056c5dbf84..30f74431f1 100644 --- a/plans/2026-07-20-supporter-badges-v2-product.md +++ b/plans/2026-07-20-supporter-badges-v2-product.md @@ -238,7 +238,7 @@ sequenceDiagram Note over B: Hold call, no response Note over C: RPC deadline / app closes C-xB: Cancel waiting call - Note over C: Paid; claim to retry + Note over C: Paid — claim to retry C->>B: Repeat same Purchase on foreground Note over C: Retrying claim Note over B: Respond immediately if webhook already completed
otherwise wait again @@ -256,7 +256,7 @@ sequenceDiagram S-->>B: Signed Checkout expired event Note over B: Checkout expired, no badge B-->>C: RspError checkout expired - Note over C: Expired; new Checkout requires user action + Note over C: Expired — new Checkout requires user action ``` There is no payment polling. The pending `Purchase` call is the completion signal. A deep link may return the user to the app but is not required and is never payment proof.