daraja
Version:
A NodeJS library to simplify integration with Safaricom's Daraja M-Pesa API
103 lines (82 loc) • 3.14 kB
Markdown

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











## 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.