Logo Lanfrica

vitiliosousa/mpesa-api-nodejs

Domaine:

digital infrastructure

Type de record:

software
Créateur:
vit
Hôte:
# M-Pesa Node API Node.js wrapper for the M-Pesa Mozambique API. ## Using the API 1. Install it using npm: ```shell npm install mpesa-node-api ``` 1. Create the configuration `.env` file on your root directory based on `.env.example`. 1. Use your favorite text editor to edit the `.env` file and fill in the blank lines with configuration you got from the M-Pesa Developer Portal. See an example: ```shell MPESA_PUBLIC_KEY=example_public_key MPESA_API_HOST=api.sandbox.vm.co.mz MPESA_API_KEY=example_api_key MPESA_ORIGIN=developer.mpesa.vm.co.mz MPESA_SERVICE_PROVIDER_CODE=171717 ``` 1. In your JavaScript file, import the package using `require()`: ```js const mpesa = require('mpesa-node-api'); ``` ### Supported Transactions All transactions return a Promise. So you can either use `then/catch` or `async/await` to get the transaction response. Responses match the ones specified on the M-Pesa API Documentation. Example C2B response: ```json { "output_ConversationID": "f02f957c19f4499faf6a6f19c0307e69", "output_ResponseCode": "INS-0", "output_ResponseDesc": "Request processed successfully", "output_ThirdPartyReference": "ZXVM9H", "output_TransactionID": "f449abol7j38" } ``` #### Customer to Business (C2B) ```js const mpesa = require('mpesa-node-api'); mpesa.initiate_c2b(/* amount */ 10, /* msisdn */ 258843330333, /* transaction ref */ 'T12344C', /*3rd party ref*/ 'ref1') .then(function(response) { // logging the response console.log(response); }) .catch(function(error) { // TODO: handle errors }); ``` #### Business to Customer (B2C) ```js const mpesa = require('mpesa-node-api'); mpesa.initiate_b2c(/* amount */ 10, /* msisdn */ 258843330333, /* transaction ref */ 'T12344C', /*3rd party ref*/ 'ref1') .then(function(response) { // logging the response console.log(response); }) .catch(function(error) { // TODO: handle errors }); ``` ### Planned Support: - [ ] B2B - [ ] Reversal - [ ] Query Transaction Status ### Using custom configuration Optionally, you can al …

Languages

Licenses