@paymentsds/mpesa
v0.1.0-alpha-9
Published
MPesa Javascript API Client
Downloads
81
Keywords
Readme
M-Pesa SDK for JavaScript
M-Pesa SDK for JavaScript is an unofficial library aiming to help businesses integrating every M-Pesa operations to their JavaScript applications.
Contents
- Features
- Usage
- Prerequisites
- Installation
- Configuration
- Related Projects
- Contributing
- Changelog
- Authors
- Credits
- License
Features
- Receive money from a mobile account to a business account
- Send money from a business account to a mobile account
- Send money from a business account to a another business account
- Revert a transaction
- Query the status of a transaction
Usage
Quickstart
Receive Money from a Mobile Account
ES6 Modules
import { Client } from '@paymentsds/mpesa'
const client = new Client({
apiKey: '<REPLACE>', // API Key
publicKey: '<REPLACE>', // Public Key
serviceProviderCode: '<REPLACE>' // input_ServiceProviderCode
});
const paymentData = {
from: '841234567', // input_CustomerMSISDN
reference: '11114', // input_ThirdPartyReference
transaction: 'T12344CC', // input_TransactionReference
amount: '10' // input_Amount
};
client.receive(paymentData).then(r => {
// Handle success scenario
}).catch(e =>{
// Handle success scenario
});
CommonJS
var Client = require("@paymentsds/mpesa").Client;
var client = new Client({
apiKey: '<REPLACE>', // API Key
publicKey: '<REPLACE>', // Public Key
serviceProviderCode: '<REPLACE>' // input_ServiceProviderCode
});
var paymentData = {
from: '841234567', // input_CustomerMSISDN
reference: '11114', // input_ThirdPartyReference
transaction: 'T12344CC', // input_TransactionReference
amount: '10' // input_Amount
};
client.receive(paymentData).then(function(r) {
// Handle success scenario
}).catch(function(e) {
// Handle success scenario
});
Send Money to a Mobile Account
ES6 Module
import { Client } from '@paymentsds/mpesa'
const client = new Client({
apiKey: '<REPLACE>', // API Key
publicKey: '<REPLACE>', // Public Key
serviceProviderCode: '<REPLACE>' // input_ServiceProviderCode
});
const paymentData = {
to: '841234567', // input_CustomerMSISDN
reference: '11114', // input_ThirdPartyReference
transaction: 'T12344CC', // input_TransactionReference
amount: '10' // input_Amount
};
client.send(paymentData).then(function(r) {
// Handle success scenario
}).catch(function(e) {
// Handle failure scenario
});
CommonJS
var Client = require("@paymentsds/mpesa").Client;
var client = new Client({
apiKey: '<REPLACE>', // API Key
publicKey: '<REPLACE>', // Public Key
serviceProviderCode: '<REPLACE>' // input_ServiceProviderCode
});
var paymentData = {
to: '841234567', // input_CustomerMSISDN
reference: '11114', // input_ThirdPartyReference
transaction: 'T12344CC', // input_TransactionReference
amount: '10' // input_Amount
};
client.send(paymentData).then(r => {
// Handle success scenario
}).catch(e =>{
// Handle failure scenario
});
Send Money to a Business Account
ES6 Modules
import { Client } from '@paymentsds/mpesa'
const client = new Client({
apiKey: '<REPLACE>', // API Key
publicKey: '<REPLACE>', // Public Key
serviceProviderCode: '<REPLACE>' // input_ServiceProviderCode
});
const paymentData = {
to: '979797', // input_ReceiverPartyCode
reference: '11114', // input_ThirdPartyReference
transaction: 'T12344CC', // input_TransactionReference
amount: '10' // input_Amount
};
client.send(paymentData).then(r => {
// Handle success scenario
}).catch(e =>{
// Handle failure scenario
});
CommonJS Modules
var Client = require("@paymentsds/mpesa").Client;
var client = new Client({
apiKey: '<REPLACE>', // API Key
publicKey: '<REPLACE>', // Public Key
serviceProviderCode: '<REPLACE>' // input_ServiceProviderCode
});
var paymentData = {
to: '979797', // input_ReceiverPartyCode
reference: '11114', // input_ThirdPartyReference
transaction: 'T12344CC', // input_TransactionReference
amount: '10' // input_Amount
};
client.send(paymentData).then(function(r) {
// Handle success scenario
}).catch(function(e) {
// Handle failure scenario
});
Revert a Transaction
ES6 Module
import { Client } from '@paymentsds/mpesa'
const client = new Client({
apiKey: '<REPLACE>', // API Key
publicKey: '<REPLACE>', // Public Key
serviceProviderCode: '<REPLACE>', // input_ServiceProviderCode,
initiatorIdentifier: '<REPLACE>', // input_InitiatorIdentifier,
securityCredential: '<REPLACE>' // input_SecurityCredential
});
const reversionData = {
reference: '11114', // input_ThirdPartyReference
transaction: 'T12344CC', // input_TransactionID
amount: '10' // input_ReversalAmount
};
client.revert(reversionData).then(r => {
// Handle success scenario
}).catch(e =>{
// Handle failure scenario
});
CommonJS Modules
var Client = require("@paymentsds/mpesa").Client;
var client = new Client({
apiKey: '<REPLACE>', // API Key
publicKey: '<REPLACE>', // Public Key
serviceProviderCode: '<REPLACE>', // input_ServiceProviderCode,
initiatorIdentifier: '<REPLACE>', // input_InitiatorIdentifier,
securityCredential: '<REPLACE>' // input_SecurityCredential
});
var reversionData = {
reference: '11114', // input_ThirdPartyReference
transaction: 'T12344CC', // input_TransactionID
amount: '10' // input_ReversalAmount
};
client.revert(reversionData).then(function(r) {
// Handle success scenario
}).catch(function(e) {
// Handle failure scenario
});
Query the Status of a Transaction
ES6 Module
import { Client } from '@paymentsds/mpesa'
const client = new Client({
apiKey: '<REPLACE>', // API Key
publicKey: '<REPLACE>', // Public Key
serviceProviderCode: '<REPLACE>', // input_ServiceProviderCode,
});
const reversionData = {
reference: '11114', // input_ThirdPartyReference
subject: '5C1400CVRO', // input_QueryReference
};
client.query(reversionData).then(r => {
// Handle success scenario
}).catch(e => {
// Handle failure scenario
});
CommonJS Modules
var Client = require('@paymentsds/mpesa');
var client = new Client({
apiKey: '<REPLACE>', // API Key
publicKey: '<REPLACE>', // Public Key
serviceProviderCode: '<REPLACE>', // input_ServiceProviderCode,
});
var reversionData = {
reference: '11114', // input_ThirdPartyReference
subject: '5C1400CVRO', // input_QueryReference
};
client.query(reversionData).then(function(r) {
// Handle success scenario
}).catch(function(e) {
// Handle failure scenario
});
Examples
Prerequisites
- Node.JS 12+ for production and lastest version for development
- NPM or Yarn
Installation
Using NPM
npm install --save @paymentsds/mpesa
Using Yarn
yarn add @paymentsds/mpesa
Manual Installation
Configuration
import { Client } from '@paymentsds/mpesa'
const client = new Client({
apiKey: '<REPLACE>', // API Key
publicKey: '<REPLACE>', // Public Key
serviceProviderCode: '<REPLACE>', // input_ServiceProviderCode,
initiatorIdentifier: '<REPLACE>', // input_InitiatorIdentifier,
securityIdentifier: '<REPLACE>', // input_SecurityCredential
timeout: '<REPLACE>', // time in seconds
debugging: true,
verifySSL: false,
userAgent: '<REPLACE>'
});
import { Client } from '@paymentsds/mpesa'
const client = new Client({
accessToken: '<REPLACE>', // Precomputed access token
serviceProviderCode: '<REPLACE>', // input_ServiceProviderCode,
initiatorIdentifier: '<REPLACE>', // input_InitiatorIdentifier,
securityIdentifier: '<REPLACE>', // input_SecurityCredential
timeout: '<REPLACE>', // time in seconds
debugging: true,
verifySSL: false,
userAgent: '<REPLACE>'
});
Related Projects
Dependencies
Production Dependencies
Development Dependencies
Friends
Contributing
Changelog
Authors
Credits
License
Copyright 2020 Anísio Mandlate, Edson Michaque, Elton Laice and Nélio Macombo
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.