😀
Demonstrating MPESA STK Push server side setup in Golang. Gin HTTP Framework. I went a bit overboard with the logging, I know.
Requirements.
- Go 1.13 and above
- Rabitmq
Install the needed dependencies.
go mod tidyStart your local rabbitmq server or run rabbitmq via docker
docker run -d --hostname my-rabbit --name some-rabbit -p 15672:15672 -p 5672:5672 rabbitmq:3-managementStart the main API and the queue consumer
cd cmd
go run main.go server
go run main.go workerOnce this is done. You can access the API as below.
For an STK Request
http://localhost:8080/stk/request
POST
{
"msisdn":"254700000000",
"amount":"100"
}If everything is ok you can check your phone for the M-PESA payment pop-up.
Mpesa callbacks will be received on
http://localhost:8080/stk/callbackFor env setup, you can find an example env file in the pkg folder, create your copies and fill as necessary
cp .env.example .envThere is an additional helper for the env file, on utils/getpath where you can specify your working directory name
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.