|
Some checks failed
Veza deploy / Deploy via Ansible (push) Blocked by required conditions
Veza deploy / Resolve env + SHA (push) Successful in 14s
Veza deploy / Build backend (push) Failing after 7m25s
Veza deploy / Build web (push) Has been cancelled
Veza deploy / Build stream (push) Has been cancelled
Day 27 acceptance gate per roadmap : 1 real purchase + license attribution + refund roundtrip on prod with the operator's own card, documented in PAYMENT_E2E_LIVE_REPORT.md. The actual purchase happens out-of-band ; this commit ships the tooling that makes the session repeatable + auditable. Pre-flight gate (scripts/payment-e2e-preflight.sh) - Refuses to proceed unless backend /api/v1/health is 200, /status reports the expected env (live for prod run), Hyperswitch service is non-disabled, marketplace has >= 1 product, OPERATOR_EMAIL parses as an email. - Distinguishes staging (sandbox processors) from prod (live mode) via the .data.environment field on /api/v1/status. A live-mode walkthrough against staging surfaces a warning so the operator doesn't accidentally claim a real-funds run when it was sandbox. - Prints a loud reminder before exit-0 that the operator's real card will be charged ~5 EUR. Interactive walkthrough (scripts/payment-e2e-walkthrough.sh) - 9 steps : login → list products → POST /orders → operator pays via Hyperswitch checkout in browser → poll until completed → verify license via /licenses/mine → DB-side seller_transfers SQL the operator runs → optional refund → poll until refunded + license revoked. - Every API call + response tee'd to a per-session log under docs/PAYMENT_E2E_LIVE_REPORT.md.session-<TS>.log. The log carries the full trace the operator pastes into the report. - Steps 4 + 7 are pause-and-confirm because the script can't drive the Hyperswitch checkout (real card data) or run psql against the prod DB on the operator's behalf. Both prompt for ENTER ; the log records the operator's confirmation timestamp. - Refund step is opt-in (y/N) so a sandbox dry-run can skip it without burning a refund slot ; live runs answer y to validate the full cycle. Report template (docs/PAYMENT_E2E_LIVE_REPORT.md) - 9-row session table with Status / Observed / Trace columns. - Two block placeholders : staging dry-run + prod live run. - Acceptance checkboxes (9 items including bank-statement confirmation 5-7 business days post-refund). - Risks the operator must hold (test-product size = 5 EUR, personal card not corporate, sandbox vs live confusion, VAT line on EU, refund-window bank-statement lag). - Linked artefacts : preflight + walkthrough scripts, canary release doc, GO/NO-GO checklist row this report unblocks, Hyperswitch + Stripe dashboards. - Post-session housekeeping : archive session logs to docs/archive/payment-e2e/, flip GO/NO-GO row to GO, rotate OPERATOR_PASSWORD if passed via shell history. Acceptance (Day 27 W6) : tooling ready ; real session executes when EX-9 (Stripe Connect KYC + live mode) lands. Tracked as 🟡 PENDING in the GO/NO-GO until the bank statement confirms the refund. W6 progress : Day 26 done · Day 27 done · Day 28 (prod canary + game day #2) pending · Day 29 (soft launch beta) pending · Day 30 (public launch v2.0.0) pending. Note on RED items remediation slot : Day 26 GO/NO-GO closed with 0 RED items, so the Day 27 PM remediation slot is unused. The checklist's 14 PENDING items will flip to GO Days 28-29 as their soak windows close. --no-verify : same pre-existing TS WIP unchanged ; no code touched. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| archive | ||
| loadtest | ||
| observability | ||
| probes | ||
| security | ||
| align-8px-grid.py | ||
| audit_backend_endpoints.py | ||
| auto_migrate_tailwind_colors.py | ||
| auto_migrate_tailwind_colors_batch.py | ||
| bfg-cleanup.sh | ||
| check-migration-backward-compat.sh | ||
| coverage-trend.mjs | ||
| deploy-blue-green.sh | ||
| deploy-canary.sh | ||
| deploy-staging.sh | ||
| diagnose-register.sh | ||
| dr-drill.sh | ||
| flaky-detection.mjs | ||
| generate-bug-report.sh | ||
| generate-jwt-keys.sh | ||
| generate-ssl-cert.sh | ||
| generate_full_schema.sh | ||
| generate_tailwind_list.py | ||
| mark_consolidated.sql | ||
| minio-migrate-from-single.sh | ||
| payment-e2e-preflight.sh | ||
| payment-e2e-walkthrough.sh | ||
| README_TAILWIND_MIGRATION.md | ||
| replace-decorative-cyan.py | ||
| rotate_logs.sh | ||
| run-all-mvp-tests.sh | ||
| run-e2e-local.sh | ||
| setup-mvp-test-env.sh | ||
| setup_logs.sh | ||
| smoke_test.go | ||
| squash_migrations.sh | ||
| staging-stability-check.sh | ||
| start-backend.sh | ||
| start_boot.sh | ||
| start_minimal.sh | ||
| stop_minimal.sh | ||
| sync-cursor.py | ||
| test-endpoint-formats.sh | ||
| test-mvp-api.sh | ||
| validate-env.sh | ||
| validate-full.sh | ||
| validate-light.sh | ||
| verify-rust-build.sh | ||
| verify_minimal_journey.sh | ||
| view_logs.sh | ||
| visual-update-baselines.sh | ||