Skip to content

feat(#317): add merchant suspension without data deletion - #416

Open
CollinsKRO wants to merge 1 commit into
Betta-Pay:mainfrom
CollinsKRO:branch
Open

feat(#317): add merchant suspension without data deletion#416
CollinsKRO wants to merge 1 commit into
Betta-Pay:mainfrom
CollinsKRO:branch

Conversation

@CollinsKRO

Copy link
Copy Markdown

closes #317

- Add MerchantStatus enum (active, suspended) to Prisma schema
- Add new migration creating the enum + status column with default active
- Add MERCHANT_SUSPENDED error code to validation package
- Add status field to merchantSchema (default active)
- Add POST /api/merchants/:id/suspend and /unsuspend routes (service-auth)
  - 409 when target status already matches (no-op rejected)
  - 404 for unknown or soft-deleted merchants
  - Audit log entries (merchant.suspended / merchant.unsuspended)
- Add suspended-check to POST /api/payments and POST /api/settlements
  - Returns 403 MERCHANT_SUSPENDED when merchant.status is suspended
  - Existing data (payments, settlements) remains readable and PATCH-allowed
- Update mock prisma to default new merchants to status active
- Add MOCK_MERCHANT_SUSPENDED fixture
- Add merchant-suspension.test.ts (20 tests covering happy-path, 409,
  404, 403, service-auth, audit logs, read-while-suspended, PATCH-while-suspended)
@drips-wave

drips-wave Bot commented Jul 28, 2026

Copy link
Copy Markdown

@CollinsKRO Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@therealjhay

Copy link
Copy Markdown
Contributor

Kindly resolve conflicts

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add merchant account suspension without data deletion

2 participants