{"id":21317016,"url":"https://github.com/hkedia321/set-protocol-ecommerce","last_synced_at":"2026-04-09T09:56:40.633Z","repository":{"id":135135467,"uuid":"151816800","full_name":"hkedia321/set-protocol-ecommerce","owner":"hkedia321","description":"A Secure Electronic Transfer protocol implementation ","archived":false,"fork":false,"pushed_at":"2018-10-09T14:04:11.000Z","size":705,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-22T10:46:37.027Z","etag":null,"topics":["bootstrap","express","nodejs","rsa","secure-encryption-algorithm","webapp"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hkedia321.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-10-06T07:45:37.000Z","updated_at":"2021-04-08T10:53:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"574c0838-a6e3-4cd3-83dd-7bd81515745f","html_url":"https://github.com/hkedia321/set-protocol-ecommerce","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hkedia321%2Fset-protocol-ecommerce","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hkedia321%2Fset-protocol-ecommerce/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hkedia321%2Fset-protocol-ecommerce/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hkedia321%2Fset-protocol-ecommerce/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hkedia321","download_url":"https://codeload.github.com/hkedia321/set-protocol-ecommerce/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243796638,"owners_count":20349252,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bootstrap","express","nodejs","rsa","secure-encryption-algorithm","webapp"],"created_at":"2024-11-21T18:41:36.857Z","updated_at":"2025-12-31T00:21:16.345Z","avatar_url":"https://github.com/hkedia321.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Implementation of SET protocol with 3-D Secure pin\nSecure 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. \nIt 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.\n\n## Technologies used\n- `Node.js`\n- `Express` (framework)\n- `Bootstrap` (user interface)\n- `Mongodb` (database)\n- `node-jsencrypt` (to decrypt encrypted data using private key, for server side)\n- `jsencrypt.min.js` (to encrypt order and payment information in the client side)\n- `Msg91` (to send SMS OTP)\n- `nodemailer` (to send email to customer)\n\n\n## Routes\n- `/register` [GET] - New users can register\n- `/login` [GET] - Existing users login using username and password\n- `/purchase` [GET] - User enters credit card details and initiates purchase of a product\n- `/purchase/submit` [POST] - User submits payment information and order information in encrypted form to merchant\n- `/bank/verify?` [GET] - Merchant passes payment information to bank to verify payment\n- `/purchase-verification` [GET] - User enters OTP to complete the payment\n- `purchase-verification/submit` [POST] - User submits OTP and bank verifies it\n- `/order-successful` [GET] - User gets success message after completing payment\n\n# Screenshots\n![Login](/docs/screenshots/login.png)\n\n![Purchase](/docs/screenshots/purchase.png)\n\n![Login](/docs/screenshots/otp.png)\n\nFlowchart:\n\n![Flowchart](/docs/flowchart.png)\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhkedia321%2Fset-protocol-ecommerce","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhkedia321%2Fset-protocol-ecommerce","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhkedia321%2Fset-protocol-ecommerce/lists"}