Lucas Smith
3887aa67c8
fix: rework stripe webhooks into idempotent subscription sync ( #2977 )
...
Replace per-event webhook handlers with a single sync function that
fetches the current state from Stripe and converges the local
subscription, claim, and organisation type.
- Create organisations upfront before checkout, restricted as
"pending payment" until the first payment syncs
- Add rate-limited subscription sync route, triggered on checkout
success so the UI doesn't wait on webhooks
- Surface pending payment state in banner, billing table, and limits
2026-06-12 16:01:03 +10:00
..
2026-06-05 21:19:20 +10:00
2026-05-31 00:34:28 +10:00
2025-06-10 11:49:52 +10:00
2026-03-13 14:51:53 +11:00
2025-06-10 11:49:52 +10:00
2026-06-05 21:19:20 +10:00
2026-06-05 21:19:20 +10:00
2026-05-19 20:37:03 +10:00
2026-05-19 20:37:03 +10:00
2026-05-08 16:04:22 +10:00
2025-10-14 21:56:36 +11:00
2026-05-08 16:04:22 +10:00
2026-05-08 16:04:22 +10:00
2026-05-13 15:28:27 +10:00
2026-05-13 15:28:27 +10:00
2025-06-30 19:46:32 +10:00
2025-06-10 11:49:52 +10:00
2026-05-08 16:04:22 +10:00
2026-04-22 23:08:16 +10:00
2025-08-25 08:23:48 +10:00
2025-08-25 08:23:48 +10:00
2025-08-25 08:23:48 +10:00
2025-08-25 08:23:48 +10:00
2026-05-08 16:04:22 +10:00
2026-05-08 16:04:22 +10:00
2025-08-25 08:23:48 +10:00
2025-08-25 08:23:48 +10:00
2026-05-08 16:04:22 +10:00
2026-05-08 16:04:22 +10:00
2026-05-08 16:04:22 +10:00
2026-05-08 16:04:22 +10:00
2026-05-08 16:04:22 +10:00
2026-05-08 16:04:22 +10:00
2025-10-14 21:56:36 +11:00
2026-05-08 16:04:22 +10:00
2026-05-08 16:04:22 +10:00
2026-05-08 16:04:22 +10:00
2026-06-03 16:05:39 +10:00
2026-06-03 16:05:39 +10:00
2026-05-08 16:04:22 +10:00
2026-06-05 21:19:20 +10:00
2026-03-05 13:56:40 +11:00
2026-05-08 16:04:22 +10:00
2026-05-08 16:04:22 +10:00
2026-05-08 16:04:22 +10:00
2026-05-31 00:34:28 +10:00
2026-06-03 16:05:39 +10:00
2026-05-08 16:04:22 +10:00
2026-05-08 16:04:22 +10:00
2026-05-08 16:04:22 +10:00
2026-05-08 16:04:22 +10:00
2025-08-25 21:00:35 +10:00
2026-05-08 16:04:22 +10:00
2026-05-08 16:04:22 +10:00
2025-09-25 17:13:47 +10:00
2026-02-25 15:14:18 +11:00
2026-02-25 15:14:18 +11:00
2026-05-08 16:04:22 +10:00
2025-10-14 21:56:36 +11:00
2026-06-01 17:26:51 +10:00
2026-05-31 00:34:28 +10:00
2026-05-08 16:04:22 +10:00
2025-08-19 13:09:05 +10:00
2026-01-29 13:30:48 +11:00
2026-01-29 13:30:48 +11:00
2026-06-05 21:19:20 +10:00
2026-05-31 00:34:28 +10:00
2026-05-08 16:04:22 +10:00
2026-06-12 16:01:03 +10:00
2026-06-01 18:17:16 +10:00
2025-06-30 19:46:32 +10:00
2026-06-05 21:19:20 +10:00
2026-05-08 16:04:22 +10:00
2026-05-08 16:04:22 +10:00
2026-05-08 16:04:22 +10:00
2026-05-08 16:04:22 +10:00
2026-05-08 16:04:22 +10:00
2026-05-08 16:04:22 +10:00
2026-06-05 21:19:20 +10:00
2026-06-05 21:19:20 +10:00
2025-08-25 08:23:48 +10:00
2026-05-08 16:04:22 +10:00