chore(payments): remove EFT/bank-transfer method, keep Stripe only #17
Reference in New Issue
Block a user
Delete Branch "merge-fn-payments-stripe-only"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Cherry-pick of dev
d376223. Strips the EFT (havale) payment surface across API, web, i18n, and docs; Stripe (kart) becomes the only checkout path.bank_accountstable +payments.bank_account_idkept so historical EFT records remain visible on billingRemoves 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