@allan70/daraja-package
v1.0.22
Published
A package to middle-man DarajaAPI 2.0 requests to perform M-Pesa transactions
Downloads
5
Maintainers
Readme
daraja-package
You can install the package by entering the following commands to the shell
npm i @allan70/daraja-package
Package Usage
The package can be used by using the require()
function
const daraja = require(`@allan70/daraja-package`);
M-Pesa Paybill
When making a paybill transaction, you will need to create a JSON body that will be executed by the daraja.payBill()
function.
//Paybill body
const payBillBody = {
"phoneNumber": req.body.phone,
"amountFromUser": req.body.amount,
"businessNumber": req.body.payBillNumber,
"mpesaPassword": req.body.mpesaPassword,
"secret": req.body.secret,
"consumer": req.body.consumer,
"callback_URL": req.body.callbackURL,
"account_reference": req.body.account_reference,
"transaction_desc": req.body.transaction_desc
};
daraja.payBill(payBillBody);
The function will then execute the JSON to return a receipt object.
Receipts
On making a payment to M-Pesa you will need to receive the transaction information in receipt form. The receipt form will have details such as: the mpesa message number, the amount , status of the transaction , the time the transaction took place and the m-pesa account that made the transaction.
daraja.receipt('/callback_url', 3000)
You will set the endpoint of your callback_url and the port number of the callback url. Ultimately, his is a standalone server function that should start a server that will receive the daraja transactions in the end and produce a JSON object of the transaction as the result.
When running tests you can use an NGROK tuneling tool to provide a url that will be linked to the port number entered ito the daraja.receipt()
function.