This project is a payment architecture based on UPI architecture, designed to accept payments and send them. It includes core features such as secure user accounts, balance management, transaction logs, and a lockout mechanism for failed login attempts.It provides a great alternative to Razorpay or Stripe for development since it completely works like UPI. Here is the complete API Endpoint testing: Postman Results. Complete tutorial on how to use it is on :Article.
-
User Management:
- User registration, login, and secure payment PIN setup.
- Password reset with account lockout after 5 failed attempts.
- Pin reset and account lockout after 5 failed attempts.
-
Payment Transactions:
- Dynamic balance management.
- Viewable transaction history.
- Tranfer and receive payment.
-
Security:
- JWT-based user authentication.
- Password hashing with bcrypt.
- 30 mins lockout mechanism for security.
-
Database:
- PostgreSQL used using Supabase configured using Sequelize ORM.
git clone https://github.com/AyishikD/PayP
cd PayP
npm install
Create a .env
file in the project root and configure the following:
DB_URL=your_postgresql_database_url
JWT_SECRET=your_jwt_secret
npm start
node server.js
- Express: Web framework for Node.js.
- Sequelize: ORM for PostgreSQL.
- bcrypt: Password hashing.
- JWT: Secure user authentication.
node server.js
: Starts the server.
Deployed on render
This project is licensed under the Apache 2.0 License.
Contributions are most welcome