stack/apps/e2e/tests
nams1570 3df80cf5fc feat(payments): quick-ack + idempotent webhooks
Stripe recommends acking webhook events ASAP with a 200.
Stripe also recommends employing event idempotency on your end.
By responding quickly, you prevent stripe from thinking the webhook failed and retrying the event.
Retrying the event in the past used to be responsible for people getting multiple payment receipt emails.
Note that even in the case where an event processing genuinely fails, we have a new table to let us recover from it.

Currently, recovery will be manual, but since it will be logged to sentry we will be notified.
2026-06-23 22:01:56 -07:00
..
backend feat(payments): quick-ack + idempotent webhooks 2026-06-23 22:01:56 -07:00
general Rename STACK_* env vars to HEXCLAVE_* in env templates, with legacy dual-read (#1588) 2026-06-19 18:58:53 -07:00
helpers feat(hexclave): PR 1 — wire compatibility layer (invisible) (#1475) 2026-05-23 17:24:55 -07:00
js Rename STACK_* env vars to HEXCLAVE_* in env templates, with legacy dual-read (#1588) 2026-06-19 18:58:53 -07:00
global-setup.ts External db sync (#1036) 2026-02-05 12:04:31 -08:00
globals.d.ts Upgrade backend to Next.js 15 (#360) 2024-12-10 00:11:13 -08:00
helpers.ts Rename STACK_* env vars to HEXCLAVE_* in env templates, with legacy dual-read (#1588) 2026-06-19 18:58:53 -07:00
setup.ts Email outbox backend (#1030) 2025-12-12 10:26:38 -08:00
snapshot-serializer.ts feat(hexclave): PR 3 — native @hexclave/* source rename + delete dual-publish wiring (#1482) 2026-05-29 15:21:59 -07:00