Skip to content
forked from ziscky/mock-pesa

A set of mock MPESA APIs designed to work exactly like the real APIs. Great for unit tests and payment system hardening

License

Notifications You must be signed in to change notification settings

onchere/mock-pesa

 
 

Repository files navigation

mock-pesa

Docker Repository on Quay Build Status Build Status Issue Count Codeclimate GPA

A set of mock MPESA APIs designed to work exactly like the real APIs. Great for unit tests and payment system hardening

Precompiled binaries

Precompiled binaries for released versions are available in the releases section of the GitHub repository. Supported OS/Arch:

  1. Darwin X64
  2. FreeBSD X64
  3. Linux X64
  4. Windows X64

Container images

Container images are available on https://quay.io/repository/ziscky/mock-pesa.
Simply: docker pull quay.io/ziscky/mock-pesa

Getting Started

For the docker container:
docker run -e MERCHANT_ID=1234 -e PASSKEY=4321 -p 7000:7000 --rm quay.io/ziscky/mock-pesa

For the precompiled binaries:
MERCHANT_ID=1234 PASSKEY=4321 ./mock-pesa
OR
./mock-pesa -conf=/path/to/conf

Example Config

MaxAmount=70000  

MinAmount=10  

MaxCustomerTransactionPerDay=150000  

MerchantID="12345"  

CallBackDelay=0  

SAGPasskey="54321"  

EnabledAPIS = ["c2b"]  

Building From Source

go get github.com/ziscky/mock-pesa
go test
go build github.com/ziscky/mock-pesa -o mock-pesa

How To

Follow the official MPESA API guide, replace:
Endpoint: http://localhost:7000/
WSDL: https://safaricom.co.ke/mpesa_online/lnmo_checkout_server.php?wsdl
That's right, works exactly the same

For custom scenarios e.g Customer with insufficient funds:
Endpoint: http://localhost:7000/{code}
where code is one of the official MPESA response codes,in this case: 01

Known Issues

Local WSDL doesn't play well with most SOAP clients
Use https://safaricom.co.ke/mpesa_online/lnmo_checkout_server.php?wsdl

Contiributing

I'm very open to PRs.

  • Fork
  • Create Branch
  • Do magic
  • Initiate PR

About

A set of mock MPESA APIs designed to work exactly like the real APIs. Great for unit tests and payment system hardening

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 100.0%