M-Pesa SDK for JavaScript is an unofficial library aiming to help businesses integrating every M-Pesa operations to their JavaScript applications.
- Features
- Usage
- Prerequisites
- Installation
- Configuration
- Related Projects
- Contributing
- Changelog
- Authors
- Credits
- License
- 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
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
});
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
});
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
});
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
});
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
});
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
});
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
});
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
});
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
});
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
});
- Node.JS 12+ for production and lastest version for development
- NPM or Yarn
npm install --save @paymentsds/mpesa
yarn add @paymentsds/mpesa
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>'
});
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.