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, and BPAY. 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.
To try out our API you can use a client such as Postman
You can download a postman collection of our API by clicking the link below:
All RESTful APIs in this document use BASIC Authentication (except those in public/v1) in two scenarios either
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.
With our API, you receive funds from both outside and inside the Monoova Payments Engine. From outside the Engine, e.g. from your customers or your own bank account, you can receive and reconcile funds via
From inside the engine, you can receive funds from either your own virtual accounts and wallets or those belonging to others. These are real-time transactions. Once you have cleared funds in our Engine you can decide to pay recipients both outside and inside the Monoova Payments Engine. To recipients outside, you can send money via
Recipients in the Engine receive your funds in real time straight into their own virtual accounts and wallets. As always, we provide you with comprehensive reports on all your money moves. You will find more information on reporting, balance queries and many other management tools in the Manage section.
The Financial APIs provide the core financial functionality of the Engine such as standard direct-entry transactions, refunds and status information.
You may Debit one of the following sources
You may Credit one of the following sources
The purpose of the execute API is to debit a source for funds then distribute those funds to one or more supplied disbursement accounts. You can use the /financial/v2/transaction/validate endpoint to determine if the parameters are correct.
uniqueReference | string <= 200 characters This is a unique reference generated by the calling service. This is a nonce. Its use is to determine if a request has already been received by the Engine. |
printUniqueReferenceOnStatement | boolean Default: false If true, the uniqueReference will be printed on the statement. Default is false. |
totalAmount | number <decimal> >= 0.01 This is the total amount of the transaction |
paymentSource required | string This is the type of transaction. The correct type MUST be used as it instructs the Engine to move funds according to established rules. Valid values are mAccount, mWallet, directDebit, token mAccount mAccount mWallet directDebit token |
required | object |
description | string <= 500 characters This description will be displayed on the mAccount statements. If any disbursement object is present, this description will be overwritten. This description will only display on statements for payments directly into the sign in mAccount. (ie no disbursement object) |
Array of directCredit (object) or mAccount (object) or mWallet (object) or ABAToken (object) or BPAY (object) or NppCreditBankAccount (object) or NppCreditPayId (object) |
{ "totalAmount": "100", "paymentSource": "mAccount", "mAccount": { "token": "0000000000000000" }, "mWallet": { "token": "6279059784226976", "pin": "0000" }, "disbursements": [ { "disbursementMethod": "bpay", "toBPayDetails": { "billerCode": "857763", "referenceNumber": "6279059700010918" }, "amount": "100" } ] }
{- "durationMs": 20,
- "status": "Ok",