https://github.com/hkedia321/set-protocol-ecommerce
A Secure Electronic Transfer protocol implementation
https://github.com/hkedia321/set-protocol-ecommerce
bootstrap express nodejs rsa secure-encryption-algorithm webapp
Last synced: 2 months ago
JSON representation
A Secure Electronic Transfer protocol implementation
- Host: GitHub
- URL: https://github.com/hkedia321/set-protocol-ecommerce
- Owner: hkedia321
- Created: 2018-10-06T07:45:37.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-10-09T14:04:11.000Z (over 7 years ago)
- Last Synced: 2025-01-22T10:46:37.027Z (over 1 year ago)
- Topics: bootstrap, express, nodejs, rsa, secure-encryption-algorithm, webapp
- Language: JavaScript
- Homepage:
- Size: 688 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Implementation of SET protocol with 3-D Secure pin
Secure Electronic Transaction ([SET](https://en.wikipedia.org/wiki/Secure_Electronic_Transaction)) is a protocol designed to securely purchase product from e-commerce vendors by securely sending payment and order information.
It makes use of encryptions, digital signatures, and digital certificates to achieve security. This project aims to implement this protocol along with secure-3D pin (OTP) which will be send to the customer to verify transaction, as an extra security step. The digital signatures and digital certificates couldn't be implemented in this project.
## Technologies used
- `Node.js`
- `Express` (framework)
- `Bootstrap` (user interface)
- `Mongodb` (database)
- `node-jsencrypt` (to decrypt encrypted data using private key, for server side)
- `jsencrypt.min.js` (to encrypt order and payment information in the client side)
- `Msg91` (to send SMS OTP)
- `nodemailer` (to send email to customer)
## Routes
- `/register` [GET] - New users can register
- `/login` [GET] - Existing users login using username and password
- `/purchase` [GET] - User enters credit card details and initiates purchase of a product
- `/purchase/submit` [POST] - User submits payment information and order information in encrypted form to merchant
- `/bank/verify?` [GET] - Merchant passes payment information to bank to verify payment
- `/purchase-verification` [GET] - User enters OTP to complete the payment
- `purchase-verification/submit` [POST] - User submits OTP and bank verifies it
- `/order-successful` [GET] - User gets success message after completing payment
# Screenshots



Flowchart:
