npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

mtn-open-api

v1.0.0

Published

A Node.js package for interacting with MTN Open API

Downloads

8

Readme

Mtn Open Api

Explore seamless integration with MTN Open API using this npm package. For in-depth information, refer to the official documentation at https://momodeveloper.mtn.com/.

Key Features

  • Full API Availability: Access a comprehensive set of API endpoints, providing developers with a versatile toolkit to address a wide range of scenarios. The package's commitment to inclusivity ensures that all necessary API endpoints are readily available for integration.

  • Robust Testing: Every endpoint is rigorously tested to ensure reliability and stability. By adhering to best practices in testing, the Mtn Open Api package delivers a dependable solution that developers can trust for their projects.

  • Comprehensive Documentation: All methods are thoroughly documented, ensuring that developers have access to clear and concise information on the functionality and usage of each feature. This commitment to documentation enhances the package's usability and simplifies the integration process.

Installation

Install the package and add to the application's package.json by executing:

$ npm install mtn-open-api

OR

yarn add mtn-open-api

Usage

SandboxProvisioning

Sandbox User Provisioning

This class provides a convenient interface for making requests to the MTN MoMo sandbox-provisioning-api API.

Initialization

You can initialize it with the following parameters:

  • base_url (optional): The base URL for the MTN MoMo sandbox-provisioning-api API. If not provided, the default value is https://sandbox.momodeveloper.mtn.com.
  • headers (optional): An Object of HTTP headers to be included in the API requests.
  • schema (optional): An Object representing the API schema. If not provided, the gem will use the default schema, which is already included in the gem. You can also download the schema from https://momodeveloper.mtn.com/API-collections#api=sandbox-provisioning-api.

Example

const { SandboxProvisioning } = require('mtn-open-api');

const commonHeaders = {
  "Authorization": "string",
  "X-Callback-Url": "string",
  "X-Target-Environment": "string",
  "Ocp-Apim-Subscription-Key": "string"
};

const sandboxprovisioning = new SandboxProvisioning({
  headers: commonHeaders,
});

const params = {
  "providerCallbackHost": "string"
};

const extraHeaders = {
  "X-Reference-Id": "string"
};

const response = sandboxprovisioning.postV10Apiuser(params, extraHeaders);

Methods

Collection

Enable remote collection of bills, fees or taxes

This class provides a convenient interface for making requests to the MTN MoMo collection API.

Initialization

You can initialize it with the following parameters:

  • base_url (optional): The base URL for the MTN MoMo collection API. If not provided, the default value is https://sandbox.momodeveloper.mtn.com/collection.
  • headers (optional): An Object of HTTP headers to be included in the API requests.
  • schema (optional): An Object representing the API schema. If not provided, the gem will use the default schema, which is already included in the gem. You can also download the schema from https://momodeveloper.mtn.com/API-collections#api=collection.

Example

const { Collection } = require('mtn-open-api');

const commonHeaders = {
  "Authorization": "string",
  "X-Callback-Url": "string",
  "X-Target-Environment": "string",
  "Ocp-Apim-Subscription-Key": "string"
};

const collection = new Collection({
  headers: commonHeaders,
});

const params = {
  "amount": "string",
  "currency": "string",
  "externalId": "string",
  "payer": {
    "partyIdType": "MSISDN",
    "partyId": "string"
  },
  "payerMessage": "string",
  "payeeNote": "string"
};

const extraHeaders = {
  "X-Reference-Id": "string"
};

const response = collection.requesttoPay(params, extraHeaders);

Methods

  • getAccountBalance Get the balance of own account.
  • validateAccountHolderStatus Operation is used to check if an account holder is registered and active in the system.
  • requesttoPay This operation is used to request a payment from a consumer (Payer). The payer will be asked to authorize the payment. The transaction will be executed once the payer has authorized the payment. The requesttopay will be in status PENDING until the transaction is authorized or declined by the payer or it is timed out by the system. Status of the transaction can be validated by using the GET /requesttopay/<resourceId>
  • requesttoPayTransactionStatus This operation is used to get the status of a request to pay. X-Reference-Id that was passed in the post is used as reference to the request.
  • bcAuthorize This operation is used to claim a consent by the account holder for the requested scopes.
  • getBasicUserinfo This operation returns personal information of the account holder. The operation does not need any consent by the account holder.
  • requesttoPayDeliveryNotification This operation is used to send additional Notification to an End User.
  • getAccountBalanceInSpecificCurrency Get the balance of own account. Currency parameter passed in GET
  • requestToWithdrawV1 This operation is used to request a withdrawal (cash-out) from a consumer (Payer). The payer will be asked to authorize the withdrawal. The transaction will be executed once the payer has authorized the withdrawal
  • requestToWithdrawV2 This operation is used to request a withdrawal (cash-out) from a consumer (Payer). The payer will be asked to authorize the withdrawal. The transaction will be executed once the payer has authorized the withdrawal
  • requestToWithdrawTransactionStatus This operation is used to get the status of a request to withdraw. X-Reference-Id that was passed in the post is used as reference to the request.
  • createInvoice A merchant may use this in order to create an invoice that can be paid by an intended payer via any channel at a later stage.
  • getInvoiceStatus This operation is used to get the status of an invoice. X-Reference-Id that was passed in the post is used as reference to the request
  • cancelInvoice This operation is used to delete an invoice. The ReferenceId is associated with the invoice to be cancelled
  • preApproval Preapproval operation is used to create a pre-approval.
  • getPreApprovalStatus This operation is used to get the status of a pre-approval. X-Reference-Id that was passed in the post is used as reference to the request.
  • createOauth2token This operation is used to claim a consent by the account holder for the requested scopes.
  • getUserInfoWithConsent This operation is used to claim a consent by the account holder for the requested scopes.
  • createAccessToken This operation is used to create an access token which can then be used to authorize and authenticate towards the other end-points of the API.
  • createPayments Making it possible to perform payments via the partner gateway. This may be used to pay for external bills or to perform air-time top-ups.
  • getPaymentStatus This operation is used to get the status of a Payment. X-Reference-Id that was passed in the post is used as reference to the request

Disbursement

Automatically deposit funds to multiple users

This class provides a convenient interface for making requests to the MTN MoMo disbursement API.

Initialization

You can initialize it with the following parameters:

  • base_url (optional): The base URL for the MTN MoMo disbursement API. If not provided, the default value is https://sandbox.momodeveloper.mtn.com/disbursement.
  • headers (optional): An Object of HTTP headers to be included in the API requests.
  • schema (optional): An Object representing the API schema. If not provided, the gem will use the default schema, which is already included in the gem. You can also download the schema from https://momodeveloper.mtn.com/API-collections#api=disbursement.

Example

const { Disbursement } = require('mtn-open-api');

const commonHeaders = {
  "Authorization": "string",
  "X-Callback-Url": "string",
  "X-Target-Environment": "string",
  "Ocp-Apim-Subscription-Key": "string"
};

const disbursement = new Disbursement({
  headers: commonHeaders,
});

const params = "login_hint=ID:{msisdn}/MSISDN&scope={scope}&access_type={online/offline}";

const extraHeaders = {};

const response = disbursement.bcAuthorize(params, extraHeaders);

Methods

  • getAccountBalance Get the balance of own account.
  • validateAccountHolderStatus Operation is used to check if an account holder is registered and active in the system.
  • getTransferStatus This operation is used to get the status of a transfer. X-Reference-Id that was passed in the post is used as reference to the request.
  • getBasicUserinfo This operation returns personal information of the account holder. The operation does not need any consent by the account holder.
  • bcAuthorize This operation is used to claim a consent by the account holder for the requested scopes.
  • getAccountBalanceInSpecificCurrency Get the balance of own account. Currency parameter passed in GET
  • depositV1 deposit operation is used to deposit an amount from the owner’s account to a payee account. Status of the transaction can be validated by using the GET /deposit/{referenceId}
  • depositV2 deposit operation is used to deposit an amount from the owner’s account to a payee account. Status of the transaction can be validated by using the GET /deposit/{referenceId}
  • getDepositStatus This operation is used to get the status of a deposit. X-Reference-Id that was passed in the post is used as reference to the request.
  • refundV1 refund operation is used to refund an amount from the owner’s account to a payee account. Status of the transaction can be validated by using the GET /refund/{referenceId}
  • refundV2 refund operation is used to refund an amount from the owner’s account to a payee account. Status of the transaction can be validated by using the GET /refund/{referenceId}
  • getRefundStatus This operation is used to get the status of a refund. X-Reference-Id that was passed in the post is used as reference to the request.
  • createOauth2token This operation is used to claim a consent by the account holder for the requested scopes.
  • getUserInfoWithConsent This operation is used to claim a consent by the account holder for the requested scopes.
  • createAccessToken This operation is used to create an access token which can then be used to authorize and authenticate towards the other end-points of the API.
  • transfer Transfer operation is used to transfer an amount from the own account to a payee account. Status of the transaction can validated by using the GET /transfer/{referenceId}

Remittance

Remit funds to local recipients from the diaspora with ease

This class provides a convenient interface for making requests to the MTN MoMo remittance API.

Initialization

You can initialize it with the following parameters:

  • base_url (optional): The base URL for the MTN MoMo remittance API. If not provided, the default value is https://sandbox.momodeveloper.mtn.com/remittance.
  • headers (optional): An Object of HTTP headers to be included in the API requests.
  • schema (optional): An Object representing the API schema. If not provided, the gem will use the default schema, which is already included in the gem. You can also download the schema from https://momodeveloper.mtn.com/API-collections#api=remittance.

Example

const { Remittance } = require('mtn-open-api');

const commonHeaders = {
  "Authorization": "string",
  "X-Callback-Url": "string",
  "X-Target-Environment": "string",
  "Ocp-Apim-Subscription-Key": "string"
};

const remittance = new Remittance({
  headers: commonHeaders,
});

const params = {
  "amount": "string",
  "currency": "string",
  "externalId": "string",
  "payee": {
    "partyIdType": "MSISDN",
    "partyId": "string"
  },
  "payerMessage": "string",
  "payeeNote": "string"
};

const extraHeaders = {
  "X-Reference-Id": "string"
};

const response = remittance.transfer(params, extraHeaders);

Methods

  • getAccountBalance Get the balance of own account.
  • validateAccountHolderStatus Operation is used to check if an account holder is registered and active in the system.
  • transfer Transfer operation is used to transfer an amount from the own account to a payee account. Status of the transaction can validated by using the GET /transfer/{referenceId}
  • getTransferStatus This operation is used to get the status of a transfer. X-Reference-Id that was passed in the post is used as reference to the request.
  • getBasicUserinfo This operation returns personal information of the account holder. The operation does not need any consent by the account holder.
  • bcAuthorize This operation is used to claim a consent by the account holder for the requested scopes.
  • getAccountBalanceInSpecificCurrency Get the balance of own account. Currency parameter passed in GET
  • createOauth2token This operation is used to claim a consent by the account holder for the requested scopes.
  • getUserInfoWithConsent This operation is used to claim a consent by the account holder for the requested scopes.
  • createAccessToken This operation is used to create an access token which can then be used to authorize and authenticate towards the other end-points of the API.
  • cashTransfer Cash transfer operation is used to transfer an amount from the owner’s account to a payee account. Status of the transaction can be validated by using GET /cashtransfer/{referenceId}
  • getCashTransferStatus This operation is used to get the status of a transfer. X-Reference-Id that was passed in the post is used as reference to the request.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/koodeyo/mtn-open-api.