Code Monkey home page Code Monkey logo

pesapi's Introduction

PesaPI

PesaPI is an unofficial open source API for mobile money systems, released under the BSD(lite) license.
The system currently support:

  • Kenya: Mpesa paybill accounts
  • Kenya: Mpesa private accounts
  • Kenya: Airtel private accounts
  • Kenya: Yu private accounts (experimental)
  • Ghana: Airtel private accounts (experimental)
  • Rwanda: MNT private accounts (experimental)
  • Tanzania: Mpesa private accounts
  • Tanzania: Tigo private accounts

The API supports both PUSH and PULL versions. The PHP version of the API is generally the most mature and recomended at this point - the system is build using Mysql and Curl. Please direct all questions to the public mailing-list "pesaPi" on Google-groups: http://groups.google.com/group/pesapi

Short example

For a short usage example please see: http://www.youtube.com/gifair

Current status

The current system should be considered as beta version - at least one commercial solution is using it as its payment gateway. However it is not recomended that you deploy the system without having a developer available to support the setup.

Version 0.1.0 was recently released and is contains a major rework of the internal structures of PesaPi - be alert that things that worked previously may not be fully working yet - as detailed testing is ongoing.

Currently we are looking for people to provide copies of the SMS messages they are getting from various payment systems.

System design overview

  • Supports both push and pull notifications.
  • Does synchroization between local and server database.
  • Transaction data are available even when main server is down.
  • Super easy to utilize for integrators.
  • Fast response on historical data.
  • Keep the load on servers as low as possible.
  • Hopefully more reliable than other APIs.

API Overview

The PesaPi class contains several static methods, these methods are the main interface.

  • availableBalance(time) -- returns the balance at a given point in time
  • locateByReceipt(receipt) -- returns a payment or null for the given receipt number
  • locateByPhone(phone, from, until) -- returns an array of payments from a particular phone
  • locateByName(name, from, until) -- returns an array of payments from a particular client name
  • locateByAccount(account, from, until) -- returns an array of payments from a particular account-no
  • locateByTimeInterval(from, until) -- returns an array of all payments within a given time interval

As an alternative you can ask PesaPi to call a your on your site when a new transaction is received (push mechanics).

Way forward

The following is a highlevel "todo" list for the project

  • Getting the code to release/production quality.
  • Getting more developers onboard.
  • Add support for more payment systems.

pesapi's People

Contributors

pluspeople avatar

Watchers

James Cloos avatar Eric Jackson avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.