Skip to content

sdks-io/monoova-js-sdk

Repository files navigation

Getting Started with Monoova Payments API

Introduction

Introduction

Monoova has developed a powerful payments engine which allows you to receive, manage and pay funds in AUD in Australia automatically. This service is made available to Monoova’s clients through a set of easy-to-use RESTful APIs with JSON payloads described in this document. The central idea is to reduce the cost, risk and effort normally associated with managing complex money movements so that you can focus on growing your business.

Our clients can receive and reconcile funds via Realtime transfers (NPP), direct credits/debits, BPAY and cards. They can then manage those funds by building virtual account/wallet hierarchies to get bespoke reporting, reconciliation and much more. And finally, our clients can pay funds via Realtime transfers (NPP) direct credits and BPAY. As new technologies become available (e.g. NPP Mandated payments) we will make additional methods of receiving, managing and paying available.

All information flows are real-time. Moving money between various Monoova accounts is also real time. All money flows in and out of the Engine are as fast as the banking system allows.

The sandbox environment is open to everyone who signs up on our Developer Portal at no cost. The sandbox environment allows you to test out the functionality of our API in a consequence free development environment. Access to the live environment is granted once you have (1) gone through our compliance process and (2) had formal sign-off on your sandbox integration.



Note: Please note we do not accept TLS 1.0 or 1.1 connections

Getting started

  • Sign on to our Developer Portal
  • Get your sandbox API key under MANAGE > ACCOUNTS in the Developer Portal
  • Authenticate
  • Browse this document to find the functions you need
  • Begin experimenting with your first API calls by sending HTTP requests to the endpoints described in this document
  • Use the provided examples in the document as guidance

Authentication

All RESTful APIs in this document use BASIC Authentication (except those in public/v1) in two scenarios either

  • API KEY
  • OneShotSecurityToken

Sandbox Authentication Credentials

Field Value
Username API Key (obtained from the Developer Portal)
Password leave blank when using API key; Monoova will provide password for OneShotSecurityToken
Base URL https://api.m-pay.com.au/

Live Authentication Credentials This will be provided by Monoova after a technical review.

Field Value
Username API Key (obtained from the Production Portal; Production credentials will be supplied by Monoova)
Password leave blank when using API key; Monoova will provide password for OneShotSecurityToken
Base URL https://api.mpay.com.au/

When using the LIVE Engine, your Sign-In Account is given five (5) attempts to authenticate your credentials. On the fifth failure your Sign-In Account is locked for one (1) hour. The returned data will indicate that your account is locked and the time in UTC that the account will be unlocked. If you require the account to be unlocked on the LIVE system you may contact your Monoova representative and at his or her discretion they will unlock the account. See the API routes in Security to manage Passwords and Tokens.

UserName/Password

Using this scenario, you can configure BASIC Authentication with the following

  • UserName - API Key (obtained from the Developer Portal) Production credentials will be supplied by Monoova when you have demonstrated successful implementation of the API on our Sandbox environment.
  • Password - When using your API Key, no password is required. If the key is compromised, it can be re-rolled via the Developer Portal.

  • Feedback

    We value your feedback on our API. Please fill out the form here to share your feedback.

    Install the Package

    Run the following command from your project directory to install the package from npm:

    npm install sdksio-monoova-sdk@1.0.2

    For additional package details, see the Npm page for the sdksio-monoova-sdk@1.0.2 npm.

    Initialize the API Client

    Note: Documentation for the client can be found here.

    The following parameters are configurable for the API Client:

    Parameter Type Description
    environment Environment The API environment.
    Default: Environment.Production
    timeout number Timeout for API calls.
    Default: 0
    httpClientOptions Partial<HttpClientOptions> Stable configurable http client options.
    unstableHttpClientOptions any Unstable configurable http client options.
    basicAuthCredentials BasicAuthCredentials The credential object for basicAuth

    HttpClientOptions

    Parameter Type Description
    timeout number Timeout in milliseconds.
    httpAgent any Custom http agent to be used when performing http requests.
    httpsAgent any Custom https agent to be used when performing http requests.
    retryConfig Partial<RetryConfiguration> Configurations to retry requests.

    RetryConfiguration

    Parameter Type Description
    maxNumberOfRetries number Maximum number of retries.
    Default: 0
    retryOnTimeout boolean Whether to retry on request timeout.
    Default: true
    retryInterval number Interval before next retry. Used in calculation of wait time for next request in case of failure.
    Default: 1
    maximumRetryWaitTime number Overall wait time for the requests getting retried.
    Default: 0
    backoffFactor number Used in calculation of wait time for next request in case of failure.
    Default: 2
    httpStatusCodesToRetry number[] Http status codes to retry against.
    Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524]
    httpMethodsToRetry HttpMethod[] Http methods to retry against.
    Default: ['GET', 'PUT']

    The API client can be initialized as follows:

    const client = new Client({
      basicAuthCredentials: {
        username: 'BasicAuthUserName',
        password: 'BasicAuthPassword'
      },
      timeout: 0,
      environment: Environment.Production,
    });

    Environments

    The SDK can be configured to use a different environment for making API calls. Available environments are:

    Fields

    Name Description
    production Default Production URL
    environment2 Sandbox URL

    Authorization

    This API uses the following authentication schemes.

    List of APIs

    Classes Documentation

    About

    No description, website, or topics provided.

    Resources

    License

    Stars

    Watchers

    Forks

    Packages

    No packages published