stack/apps/backend
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
..
prisma feat(payments): quick-ack + idempotent webhooks 2026-06-23 22:01:56 -07:00
scripts perf(platform-analytics): cut ClickHouse query peak memory (#1632) 2026-06-19 12:44:28 -07:00
src feat(payments): quick-ack + idempotent webhooks 2026-06-23 22:01:56 -07:00
.env Rename STACK_* env vars to HEXCLAVE_* in env templates, with legacy dual-read (#1588) 2026-06-19 18:58:53 -07:00
.env.development Rename STACK_* env vars to HEXCLAVE_* in env templates, with legacy dual-read (#1588) 2026-06-19 18:58:53 -07:00
.eslintrc.cjs tsup for stack-shared (#647) 2025-04-28 21:26:52 -07:00
.gitignore private files n sm build shit (#1276) 2026-03-23 12:31:36 -07:00
instrumentation-client.ts feat(hexclave): PR 3 — native @hexclave/* source rename + delete dual-publish wiring (#1482) 2026-05-29 15:21:59 -07:00
LICENSE Split backend and dashboard (#83) 2024-06-18 15:49:31 +02:00
next.config.mjs private files n sm build shit (#1276) 2026-03-23 12:31:36 -07:00
package.json Rename STACK_* env vars to HEXCLAVE_* in env templates, with legacy dual-read (#1588) 2026-06-19 18:58:53 -07:00
prisma.config.ts Rename STACK_* env vars to HEXCLAVE_* in env templates, with legacy dual-read (#1588) 2026-06-19 18:58:53 -07:00
tsconfig.json Fix lint 2026-02-27 09:59:26 -08:00
vercel.json External db sync (#1036) 2026-02-05 12:04:31 -08:00
vitest.config.ts Rename STACK_* env vars to HEXCLAVE_* in env templates, with legacy dual-read (#1588) 2026-06-19 18:58:53 -07:00
vitest.setup.ts Customizable ports (#962) 2025-10-20 15:24:47 -07:00