Back to Bricks

Transaction Logic

E-Commerce

Immutable financial ledger. Record credits, debits, and payments. Essential for any fintech or marketplace app.

financemoneyledgertransactionsAuth RequiredPayment
Backend:
prisma/schema.prismajavascript
1model Transaction {
2 id String @id @default(uuid())
3 userId String
4 amount Float
5 currency String @default("USD")
6 type String
7 status String @default("pending")
8 referenceId String?
9 createdAt DateTime @default(now())
10}
11
12model Wallet {
13 id String @id @default(uuid())
14 userId String @unique
15 balance Float @default(0.0)
16 updatedAt DateTime @updatedAt
17}

Paste Guide

Copy files to:

prisma/schema.prisma (append models)repositories/transaction.repo.jscontrollers/transactionController.jsroutes/transactionRoutes.js

Add to server.js:

app.use('/api/transaction', require('./routes/transactionRoutes'));

Stack

PrismaExpress

Test Examples

curl -X POST http://localhost:5000/api/transaction/deposit \
  -H "Authorization: Bearer TOKEN" \
  -d '{"amount": 100}'