feat(payments): verified tenant-owned 0pt orders #69

Merged
siax-bot merged 1 commits from feat/payment-order-ownership-wave49 into fix/stripe-webhook-no-ack-without-secret-wave47 2026-09-15 19:04:05 +00:00
Owner

Stacked on #66; implements ADR-001 backend boundary only. New payable orders bind verified Zitadel tenant + buyer subject; buyer list/detail/status/deposit/release are tenant-scoped in SQL; legacy anonymous orders are unpayable and signed Stripe webhook refuses to acknowledge them. Additive sql/011 migration smoke-tested twice on throwaway pgvector/Postgres 16. Local typecheck, Next production build, 1051 tests passed (184 real-infra skipped). DO NOT MERGE/CUT OVER until #66 is merged, production migration is applied/verified, real browser Zitadel SSO is wired, and staging purchase/refund proves end-to-end. Current UI has no production Bearer session and would fail to create orders after this PR. Issue #67 remains open.

Stacked on #66; implements ADR-001 backend boundary only. New payable orders bind verified Zitadel tenant + buyer subject; buyer list/detail/status/deposit/release are tenant-scoped in SQL; legacy anonymous orders are unpayable and signed Stripe webhook refuses to acknowledge them. Additive sql/011 migration smoke-tested twice on throwaway pgvector/Postgres 16. Local typecheck, Next production build, 1051 tests passed (184 real-infra skipped). DO NOT MERGE/CUT OVER until #66 is merged, production migration is applied/verified, real browser Zitadel SSO is wired, and staging purchase/refund proves end-to-end. Current UI has no production Bearer session and would fail to create orders after this PR. Issue #67 remains open.
admin added 1 commit 2026-09-15 17:54:21 +00:00
feat(payments): bind orders to verified tenant and buyer
CI (SIAX Cloud) / integration (push) Has been skipped
masterplan-lock / check (push) Successful in 4s
CI (SIAX Cloud) / security (push) Successful in 14s
masterplan-lock / check (pull_request) Successful in 4s
CI (SIAX Cloud) / security (pull_request) Successful in 14s
Security Scan (SIAX Cloud) / security (push) Successful in 30s
CI (SIAX Cloud) / quality (push) Successful in 35s
CI (SIAX Cloud) / integration (pull_request) Successful in 25s
Security Scan (SIAX Cloud) / security (pull_request) Successful in 54s
CI (SIAX Cloud) / quality (pull_request) Successful in 1m31s
a1557b2a7d
CODEOWNERS rules requested review from sax3l 2026-09-15 17:54:21 +00:00
siax-bot approved these changes 2026-09-15 19:04:04 +00:00
siax-bot left a comment
Collaborator

siax-bot

siax-bot
siax-bot merged commit b0aad9001e into fix/stripe-webhook-no-ack-without-secret-wave47 2026-09-15 19:04:05 +00:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: admin/0pt#69