Skip to contentSaltar al contenidoAle nan kontni anПерейти к содержимомуדלג לתוכן
EstateDraftFL

For Florida families

Purchase states: one named state per item, and never a second charge for it

self-help lane · Deterministic — no model call

Current availability

ShippedConfigured and enabled: every consumer purchase door.

Where it lives
The unlock cards (estate plan, single documents, probate, the funding fix) · /api/checkout/item-status · /api/checkout
What unlocks it
a signed-in buyer, for their own items

Status is evaluated against this deployment's configuration by the capability-status service at build time; the catalogue's facts were last reviewed on the date shown.

Capabilities

  • ShippedEach item reads as one of ten states from what the database recorded — not purchased, checkout unavailable, payment pending, paid, generating, ready, failed, expired, refunded, access restored — never guessed from a return link.
  • ShippedWhile a payment is pending or the item is granted, the page offers no purchase; a pending order shows its own payment page to return to and when it lapses.
  • ShippedThe database refuses a second start for an item whose checkout is still open (naming that order) or that is already granted, and two starts at once wait for each other; a checkout cut off before it reached the payment provider counts as open for 15 minutes only.
  • ShippedEvery state carries a support reference derived from the checkout's own id — never a card, an e-mail, an answer or the provider's payload.

Limits

  • A pending order whose payment page was not kept shows as pending with its expiry; the payment page itself is the provider's.
  • A refund leaves the documents available while the grant continues; refunds are decided by billing support, not by this page.

What EstateDraftFL refuses

Reason codeHTTPWhat it means
unauthorized401The purchase state is read by the signed-in buyer only.
invalid-item400The item could not be read (its kind, its plan or its reference).
already-purchased409The item is already granted — it is opened from the account; nothing was charged.
purchase-pending409A payment for this item has already started — the same order (its page and expiry) is returned; a second one is never started.
unavailable503The purchase could not be read just now — never shown as not purchased; nothing changed.

Evidence

  • supabase/migrations/20261002130000_phase16_purchase_guard.sql
  • src/lib/payments/purchase-state.ts
  • src/lib/payments/purchase-guard.ts
  • src/app/api/checkout/item-status/route.ts
  • src/components/estate/PurchaseStatePanel.tsx
  • src/components/estate/UnlockCard.tsx
  • scripts/rls-negative-suite.sql
  • src/lib/master-plan-phase16.test.ts

Last reviewed 2026-10-02

← All surfaces