# sdksio-monoova-sdk

> 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 describe

Latest version **1.0.2** (published 2024-03-18) · MIT license · 0 weekly downloads

## Install

```sh
npm install sdksio-monoova-sdk
pnpm add sdksio-monoova-sdk
yarn add sdksio-monoova-sdk
bun add sdksio-monoova-sdk
```

## Health

**Score 30/100 (F)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.2 |
| Published | 2024-03-18 |
| First published | 2023-08-29 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=14.17.0 |
| Dependencies | 4 |
| Unpacked size | 2.4 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Developer |
| Maintainers | developer-sdksio |
| Keywords | monoova, payments, api |

## Links

- npm: https://www.npmjs.com/package/sdksio-monoova-sdk
- Repository: https://github.com/sdks-io/monoova-js-sdk
- Homepage: https://www.monoova.com/
- Issues: https://www.monoova.com
- npm.io page: https://npm.io/package/sdksio-monoova-sdk

## Dependencies (4)

- [@apimatic/core](https://npm.io/package/@apimatic/core.md) ^0.10.0
- [@apimatic/schema](https://npm.io/package/@apimatic/schema.md) ^0.7.0
- [@apimatic/axios-client-adapter](https://npm.io/package/@apimatic/axios-client-adapter.md) ^0.2.0
- [@apimatic/authentication-adapters](https://npm.io/package/@apimatic/authentication-adapters.md) ^0.5.0

## Recent versions

- 1.0.2 (latest) — 2024-03-18
- 1.0.1 — 2024-03-15
- 1.0.0 — 2023-08-29

## README

# Getting Started with Monoova Payments API

## Introduction

### Introduction

<p> 
  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.
</p> 
<p> 
 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.
</p> 
<p> 
  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.
</p>
<p> 
  The sandbox environment is open to everyone who signs up on our <a href="https://developer.monoova.com/user/login" target="_blank">Developer Portal</a> 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.
</p> 
<br/><br/>
<p> <strong> Note&#58;</strong> Please note we do not accept TLS 1.0 or 1.1 connections</p>


### Getting started



- Sign on to our <a href="https://developer.monoova.com/user/login" target="_blank">Developer Portal</a>
- Get your sandbox API key under **MANAGE > ACCOUNTS** in the Developer Portal
- [Authenticate](#section/Authentication)
- 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

- <strong> API KEY </strong>
- <strong> OneShotSecurityToken </strong><br><br>

> **Sandbox Authentication Credentials**

<table>
  <tr>
    <th>Field</th>
    <th>Value</th>
  </tr>
  <tr>
    <td>Username</td>
    <td>API Key (obtained from the <a href="https://developer.monoova.com/user/login" target="_blank">Developer Portal</a>) </td>
  </tr>
  <tr>
    <td>Password</td>
    <td>leave blank when using API key; Monoova will provide password for OneShotSecurityToken</td>
  </tr>
  <tr>
    <td>Base URL</td>
    <td>https://api.m-pay.com.au/</td>
  </tr>
</table> <br>


> **Live Authentication Credentials**
> This will be provided by Monoova after a technical review. <br>

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


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. <br><br>

<h3> UserName/Password </h3>
Using this scenario, you can configure BASIC Authentication with the following <br> <br>
<li> <strong> UserName </strong> - API Key (obtained from the <a href="https://developer.monoova.com/user/login" target="_blank">Developer Portal</a>) Production credentials will be supplied by Monoova when you have demonstrated successful implementation of the API on our Sandbox environment.</li>
<li> <strong> Password </strong> - When using your API Key, no password is required. 
If the key is compromised, it can be re-rolled via the <a href="https://developer.monoova.com/user/login" target="_blank">Developer Portal</a>. </li> <br>


### Feedback

We value your feedback on our API. Please fill out the form <a href="https://ncv.microsoft.com/8eaKX3fsiJ" target="_blank">here</a> to share your feedback.

## Install the Package

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

```ts
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](https://www.npmjs.com/package/sdksio-monoova-sdk/v/1.0.2).

## Initialize the API Client

**_Note:_** Documentation for the client can be found [here.](https://www.github.com/sdks-io/monoova-js-sdk/tree/1.0.2/doc/client.md)

The following parameters are configurable for the API Client:

| Parameter | Type | Description |
|  --- | --- | --- |
| `environment` | `Environment` | The API environment. <br> **Default: `Environment.Production`** |
| `timeout` | `number` | Timeout for API calls.<br>*Default*: `0` |
| `httpClientOptions` | `Partial<HttpClientOptions>` | Stable configurable http client options. |
| `unstableHttpClientOptions` | `any` | Unstable configurable http client options. |
| `basicAuthCredentials` | [`BasicAuthCredentials`](https://www.github.com/sdks-io/monoova-js-sdk/tree/1.0.2/doc/$a/https://www.github.com/sdks-io/monoova-js-sdk/tree/1.0.2/basic-authentication.md) | 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. <br> *Default*: `0` |
| `retryOnTimeout` | `boolean` | Whether to retry on request timeout. <br> *Default*: `true` |
| `retryInterval` | `number` | Interval before next retry. Used in calculation of wait time for next request in case of failure. <br> *Default*: `1` |
| `maximumRetryWaitTime` | `number` | Overall wait time for the requests getting retried. <br> *Default*: `0` |
| `backoffFactor` | `number` | Used in calculation of wait time for next request in case of failure. <br> *Default*: `2` |
| `httpStatusCodesToRetry` | `number[]` | Http status codes to retry against. <br> *Default*: `[408, 413, 429, 500, 502, 503, 504, 521, 522, 524]` |
| `httpMethodsToRetry` | `HttpMethod[]` | Http methods to retry against. <br> *Default*: `['GET', 'PUT']` |

The API client can be initialized as follows:

```ts
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.

* [`basic (Basic Authentication)`](https://www.github.com/sdks-io/monoova-js-sdk/tree/1.0.2/doc/$a/https://www.github.com/sdks-io/monoova-js-sdk/tree/1.0.2/basic-authentication.md)

## List of APIs

* [Automatcher Bank Account Receivables](https://www.github.com/sdks-io/monoova-js-sdk/tree/1.0.2/doc/controllers/automatcher-bank-account-receivables.md)
* [Whitelistingfor Automatcher Bank Account Receivables](https://www.github.com/sdks-io/monoova-js-sdk/tree/1.0.2/doc/controllers/whitelistingfor-automatcher-bank-account-receivables.md)
* [Reconciliation Rules](https://www.github.com/sdks-io/monoova-js-sdk/tree/1.0.2/doc/controllers/reconciliation-rules.md)
* [Testing Reference Data](https://www.github.com/sdks-io/monoova-js-sdk/tree/1.0.2/doc/controllers/testing-reference-data.md)
* [Financial](https://www.github.com/sdks-io/monoova-js-sdk/tree/1.0.2/doc/controllers/financial.md)
* [BPAY](https://www.github.com/sdks-io/monoova-js-sdk/tree/1.0.2/doc/controllers/bpay.md)
* [Verify](https://www.github.com/sdks-io/monoova-js-sdk/tree/1.0.2/doc/controllers/verify.md)
* [Pay ID](https://www.github.com/sdks-io/monoova-js-sdk/tree/1.0.2/doc/controllers/pay-id.md)
* [Tools](https://www.github.com/sdks-io/monoova-js-sdk/tree/1.0.2/doc/controllers/tools.md)
* [Subscriptions](https://www.github.com/sdks-io/monoova-js-sdk/tree/1.0.2/doc/controllers/subscriptions.md)
* [Webhooks](https://www.github.com/sdks-io/monoova-js-sdk/tree/1.0.2/doc/controllers/webhooks.md)
* [Reports](https://www.github.com/sdks-io/monoova-js-sdk/tree/1.0.2/doc/controllers/reports.md)
* [Token](https://www.github.com/sdks-io/monoova-js-sdk/tree/1.0.2/doc/controllers/token.md)
* [Security](https://www.github.com/sdks-io/monoova-js-sdk/tree/1.0.2/doc/controllers/security.md)
* [M Account](https://www.github.com/sdks-io/monoova-js-sdk/tree/1.0.2/doc/controllers/m-account.md)
* [M Wallet](https://www.github.com/sdks-io/monoova-js-sdk/tree/1.0.2/doc/controllers/m-wallet.md)

## Classes Documentation

* [ApiResponse](https://www.github.com/sdks-io/monoova-js-sdk/tree/1.0.2/doc/api-response.md)
* [ApiError](https://www.github.com/sdks-io/monoova-js-sdk/tree/1.0.2/doc/api-error.md)

---
_Source: https://npm.io/package/sdksio-monoova-sdk · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
