UNPKG

daraja

Version:

A NodeJS library to simplify integration with Safaricom's Daraja M-Pesa API

103 lines (82 loc) 3.14 kB
![Daraja Logo](img/daraja.png) A NodeJS library to simplify integration with Safaricom's Daraja M-Pesa API ![npm](https://img.shields.io/npm/v/daraja.svg?style=flat-square) ![Travis (.com)](https://img.shields.io/travis/com/austinewuncler/daraja.svg?style=flat-square) ![Coveralls github](https://img.shields.io/coveralls/github/austinewuncler/daraja.svg?style=flat-square) ![Codacy grade](https://img.shields.io/codacy/grade/52f5703641404c969aa8d6c0d9f0616d.svg?style=flat-square) ![Code Climate issues](https://img.shields.io/codeclimate/issues/austinewuncler/daraja.svg?style=flat-square) ![Code Climate maintainability](https://img.shields.io/codeclimate/maintainability/austinewuncler/daraja.svg?style=flat-square) ![David](https://img.shields.io/david/austinewuncler/daraja.svg?style=flat-square) ![David](https://img.shields.io/david/dev/austinewuncler/daraja.svg?style=flat-square) ![npm bundle size (minified)](https://img.shields.io/bundlephobia/min/daraja.svg?style=flat-square) ![npm](https://img.shields.io/npm/dt/daraja.svg?style=flat-square) ![GitHub](https://img.shields.io/github/license/austinewuncler/daraja.svg?style=flat-square) ## Example ```javascript const { Mpesa } = require('daraja'); // instantiate Mpesa with the organization's shortcode and app's Consumer Key // and Consumer Secret const mpesa = new Mpesa(123456, 'yourConsumerKey', 'yourConsumerSecret'); // then make the call to the API passing the required arguments mpesa .mpesaExpressRequest( 100, 254712345678, 123456, 'bfb279f9aa9bdbcf15...', 'CustomerPayBillOnline', 'INV001', 'Regular payment', 'http://callbackurl.com' ) .then(response => { // SUCCESS // do something with the response }) .catch(error => { // FAILED // handle the error }); // you can also use async-await to handle the response and errors try { const response = await mpesa.mpesaExpressRequest( 100, 254712345678, 123456, 'bfb279f9aa9bdbcf15...', 'CustomerPayBillOnline', 'INV001', 'Regular payment', 'http://callbackurl.com' ); // handle the response here } catch (error) { // handle any errors here } ``` ## Motivation I developed this library to make it as painless as possible for JavaScript & TypeScript developers to integrate their web applications with Safaricom's Daraja M-Pesa API. The emphasis is to make use of modern JavaScript & TypeScript syntax to provide a clean an easy to use interface. This library is under constant maintenance and more features will be added to simplify the integration even further and capture all common use cases. ## Installation 1. Ensure you have [Node & npm](https://nodejs.org) installed for your operating system. ```sh node --version ``` ```sh npm --version ``` 2. Open a command line and navigate to your project folder. Run the following command to install `daraja` as a project dependency ```sh npm install --save daraja ``` ## API Reference Visit the [documentation](https://austinewuncler.github.io/daraja) ## License This project is licensed under the [MIT](LICENCE) License.