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
- 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
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.
We value your feedback on our API. Please fill out the form here to share your feedback.
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.
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 |
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. |
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,
});
The SDK can be configured to use a different environment for making API calls. Available environments are:
Name | Description |
---|---|
production | Default Production URL |
environment2 | Sandbox URL |
This API uses the following authentication schemes.