PesaJs
Goal
Simplify interactions with the official (horribly documented
) M-PESA API.
Important
: 🚧Work in progress, NOT ready for use in production
Usage
$ npm install pesajs
- Online checkout (
Lipa Na M-Pesa
): According to Safaricom, this is a "Web service for integrating the M-Pesa Checkout API to a merchant site. The overall scope of this Web service is to provide primitives for application developers to handle checkout process in a simple way."
Initiate Lipa Na M-Pesa online payment
const PesaJs = ; let options = merchant: "YOUR_MERCHANT_ID" passkey: "YOUR_PASSKEY" //debug: false || true;let paymentService = options; let cart = transaction: MY_TRANSACTION_ID ref: MY_REFERENCE account: USER_MPESA_NUMBER amount: AMOUNT callbackUrl: MY_CALLBACK_URL details: "Additional transaction details if any";paymentService;
Confirm payment request
let params = transaction: MY_TRANSACTION mpesa_txn: mpesa_txn;paymentService;
Receive payment notification
// Wait for payment notification (example using express)app;
See the example app for a working demo.
-
Paybill and Buygoods validation & confirmation:
TODO
-
Transaction Extracts:
TODO
Contributing
- Fork this repo and make changes in your own fork.
- Commit your changes and push to your fork
git push origin master
- Create a new pull request and submit it back to the project.
Bugs & Issues
To report bugs (or any other issues), use the issues page.