This system facilitates contactless payments using facial recognition. Users can authenticate payments through facial recognition, and the system processes payments via M-Pesa STK Push.
# Face Recognition Mpesa Payment System.
Implementation of a system that makes payments using face detection as both a mode of authentication and identification.
## Team Members
* Victor Ngunyi
* Victor Muchina
* Faith Cheruto
* John Mwangi
* Paul Owiti
* Natasha Wamuyu
## Project Purpose
This system facilitates contactless payments using facial recognition. Users can authenticate payments through facial recognition, and the system processes payments via M-Pesa STK Push.
The system provides a hygienic, fast, and secure payment experience ideal for retail environments, restaurants, and service industries where contactless transactions are preferred.
## Project Structure
```
Face-Rec-Mpesa/
├── Resources/ # Contains UI elements used in program operation
│ └── Status/ # Status elements
├── logs/ # Mpesa status logs
├── main.py # Main application entry point
├── mpesa_integration.py # M-Pesa payment processing
├── firebase.py # Firebase Firestore operations
├── interface.py # User registration handling
├── requirements.txt # Python dependencies
├── .env.example # Environment variables template
└── README.md # This file
```
## Technology Stack
### Hardware
* Camera: High-definition camera for facial recognition
* POS Terminal: Point of Sale terminal for transaction processing
### Software
* OpenCV (Vision): Computer vision library for image processing and facial detection
* M-Pesa API (Payments): Integration with Safaricom Daraja API for transaction processing
* Firebase (Database): Cloud database for user authentication, transaction records, and system data
* CustomTkinter (Frontend): Python framework for the user interface
* TensorFlow: Machine learning framework for OpenCV
### Environment setup.
Create a virtual environment withe python3.12, mediapipe will not work with >3.12
````bash
virtualenv --python=/bin/python3.12 .
````
### Activate the virtual environment …