USSD Mpesa Mobile payment
USSD STK-Push pipeline
## Description
Implemention of a ussd -> stk-push mobile payment pipeline with Fastapi, AT-USSD and M-Pesa Express API
## Demo
## Prerequisites
- Python3
- Safaricom Developers Account
- M-Pesa Express documentation summary
- Africa's Talking documentation summary
## Running locally
### clone the repository and navigate to the project directory
```bash
git clone git@github.com:DanNduati/ussd-stkpush.git
cd ussd-stkpush/
```
### Create a python virtual environment activate it
```bash
python3 -m venv venv
source venv/bin/activate
```
### Install Project dependencies
```bash
pip install -r requirements.txt
```
Create a `.env` file similar to `.env.example`.
### Run uvicorn server
```bash
uvicorn app.main:app --reload
```
### Run ngrok tunneling script
```bash
cd scripts
./start_ngrok.sh
```
This should print out your tunnel address and also populate it into your .env file
```bash
$ ./start_ngrok.sh
Extracting ngrok public url ...
NGROK_PUBLIC_URL => [
d8eb-197-232-61-213.ngrok.io ]
```
## Outcome
| Registered User | Unregistered user |
|----------------------------------------------------------|------------------------------------------------------------|
| | |
| | WIP |
| | WIP |
| | WIP |
| | WIP |
## Inspiration
NYEWASCO ussd water bill enquiry and payment
## Technologies Used
## License