A payment orchestration engine that routes transactions across Razorpay and Cashfree, handles gateway failures with automatic fallback, deduplicates webhooks, and tracks every transaction with a full audit trail. (actively building)
- Runtime: Node.js, TypeScript
- Framework: Express
- Database: PostgreSQL (Drizzle ORM)
- Logging: Pino
- Validation: Zod
Initiates a new payment routing through available gateways with automatic fallback logic.
Fetches the status and details of a specific payment.
Webhook handler for Razorpay payment events.
Webhook handler for Cashfree payment events.
.
├── assets/
├── docs/
├── src/
│ ├── clients/
│ ├── configs/
│ ├── constants/
│ ├── db/
│ ├── errors/
│ ├── middlewares/
│ ├── modules/
│ │ ├── gateways/
│ │ ├── payments/
│ │ ├── routing/
│ │ └── webhooks/
│ ├── types/
│ ├── utils/
│ ├── app.ts
│ └── server.ts
├── .env.example
├── package.json
└── tsconfig.json
# Clone the repository
git clone <repository_url>
# Install dependencies
npm install
# Setup environment variables
cp .env.example .env
# Run database migrations
npm run migrate
# Start the development server
npm run devPORT=3000
NODE_ENV=development
DATABASE_URL=
RAZORPAY_KEY_ID=
RAZORPAY_KEY_SECRET=
RAZORPAY_WEBHOOK_SECRET=
CASHFREE_CLIENT_ID=
CASHFREE_CLIENT_SECRET=
