chore(payments): remove EFT/bank-transfer method, keep Stripe only #17

Merged
root merged 1 commits from merge-fn-payments-stripe-only into main 2026-05-16 11:04:02 +03:00
Owner

Cherry-pick of dev d376223. Strips the EFT (havale) payment surface across API, web, i18n, and docs; Stripe (kart) becomes the only checkout path.

  • API: bank-accounts module deleted; payments + admin services trimmed; /payments/eft* and /admin/payments/pending endpoints removed
  • Web: bank-transfer-card.tsx, /dashboard/admin/payments route, and all EFT-only i18n keys removed; subscription + billing pages simplified
  • Schema preserved: bank_accounts table + payments.bank_account_id kept so historical EFT records remain visible on billing
  • Verification (from upstream commit): pnpm typecheck/lint/test all green
Cherry-pick of dev `d376223`. Strips the EFT (havale) payment surface across API, web, i18n, and docs; Stripe (kart) becomes the only checkout path. - API: bank-accounts module deleted; payments + admin services trimmed; /payments/eft* and /admin/payments/pending endpoints removed - Web: bank-transfer-card.tsx, /dashboard/admin/payments route, and all EFT-only i18n keys removed; subscription + billing pages simplified - Schema preserved: `bank_accounts` table + `payments.bank_account_id` kept so historical EFT records remain visible on billing - Verification (from upstream commit): pnpm typecheck/lint/test all green
root added 1 commit 2026-05-16 11:04:01 +03:00
chore(payments): remove EFT/bank-transfer method, keep Stripe only
Some checks failed
QA Gate (P0/P1) / Test affected app (pull_request) Has been cancelled
65daf99b2e
Removes the EFT (havale) payment surface across API, web, i18n, and docs.
Card payment via Stripe is now the only checkout path.

API (apps/api/src):
- Delete payments/bank-accounts/ module (controller + service + module)
- payments.service: drop EFT methods (createEftPayment, uploadEftReceipt,
  approveEft, rejectEft, getActiveBankInfo, getPendingEftPayments) and the
  BankAccountsService dependency
- payments.controller: drop /payments/eft, /payments/eft/:id/{receipt,approve,reject},
  /payments/bank-info, /payments/pending; keep /payments/me
- payments.module: drop BankAccountsModule import
- admin.service: drop pending EFT counter from getDashboardStats; drop
  getPendingPayments (admin EFT approval list)
- admin.controller: drop /admin/payments/pending endpoint
- admin.service.spec: drop the getPendingPayments + pendingPayments assertions

Web (apps/web/src):
- Delete components/payment/bank-transfer-card.tsx
- Delete routes/dashboard/admin/payments.tsx (EFT approval page); regenerate
  routeTree.gen.ts
- subscription/index.tsx: drop EFT tab from PaymentMethodSection, drop the
  paymentMethod state + handleEftCompleted, simplify ConfirmationCard to the
  Stripe-only path, drop unused imports (Tabs, BankTransferCard, Building2)
- billing.tsx: drop "eft" from method filter chips; keep methodLabels.eft and
  the legacy receipt download so historical EFT records still display
- dashboard.tsx + admin/index.tsx: drop /dashboard/admin/payments from the
  sidebar + admin quick-link grid; trim unused icon imports; KEYS_6 → KEYS_5
  for the now-5-card admin stats skeleton
- messages/{tr,en}.json: strip every EFT-only key under payment.* (eftTransfer,
  eftConfirmationDescription, eftPaid, eftStatus, bank.*, uploadReceipt* etc.)

Schema (apps/api/src/database/schema):
- bankAccounts table + payments.bankAccountId column are kept as-is: legacy
  EFT payments remain visible on the billing page and the schema preserves
  historical records.

Docs:
- README.md: "Stripe (kart) + EFT" → "Stripe (kart)"
- CLAUDE.md: stack table + PaymentsModule row + payments table note + route
  list updated; admin EFT approval route removed

Verification:
- pnpm typecheck: green (api + web + shared + config + ui)
- pnpm lint: green
- pnpm test: 20 web tests pass, 173 api tests pass
root merged commit 8685196ab8 into main 2026-05-16 11:04:02 +03:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: root/sase.tr#17