openapi: 3.2.0 info: description: "# Introduction\n\nThe Monoova PayTo API is designed to efficiently handle real time financial transactions, providing a reliable platform for creating payment agreements and initiating payments. It offers a streamlined transaction process, ensuring speed and security for businesses and users with benefits above and beyond a direct debit alternative.\n\nMonoova's PayTo API supports synchronous and asynchronous operations, allowing flexible integration based on varying business needs. The asynchronous API option is particularly beneficial for handling batch operations requiring extended processing time, enhancing overall system performance and reliability. Additionally, Monoova provides webhook subscriptions, enabling users to receive timely updates and notifications about transaction events, which helps maintain transparency and control over financial activities.\n\n## Process\n\nPayTo allows you to debit an enabled domestic bank account in real time. \n\n* First, you create a **payment agreement** between a payer and a payee. The terms of the agreement determine the amount and schedule of allowed debits. When you create a Payment Agreement, the account is validated in real time, so you can ensure the account details are correct.\n\n* Next, the payer authorises the agreement through their banking app.\n\n* Finally, real time **payment initiations** can be triggered. If successful, funds will be credited to the payee account in real time and made available for disbursement. Because recipients can access funds faster than traditional direct debit systems, this is particularly beneficial for businesses or individuals relying on prompt cash flow payments.\n\n* If you would like to modify the terms of the agreement, you can use the amendment API's.\n\n# Getting Started\n\n1. Access the Domestic Payments Portal:\n\n * Sandbox Environment:\n - Register: If you are new, [register](https://sandbox.monoova.com) to gain Sandbox access.\n - Login: If you already have Sandbox credentials, [log in](https://sandbox.monoova.com) to continue your work.\n\n * Production Environment:\n - Login: Login to the [Production portal](https://payments.monoova.com) using the credentials you obtained during onboarding.\n\n2. Activate Your API Key\n\n * Generate API Key:\n - If you do not know your API Key or need to reset it, navigate to Manage > Accounts to generate or regenerate your API Key after logging into the portal.\n\n * Activate API Gateway Access:\n - Go to Manage > API Gateway and enter your API Key to activate API Gateway access for your mAccount.\n\n3. Configure API Access\n\n Please [contact our integration team](https://www.monoova.com/contact) to configure your account settings. This step ensures that your account is allowed to access the service.\n\n4. Explore API Endpoints\n\n Use the API documentation to plan your integration. It provides details and examples of usage.\n\n5. Onboarding and Support\n\n Our integration team will guide you from the initial setup to the final running implementation, providing support throughout the process.\n\n# Sandbox Testing for PayTo Agreements\n\nIn the Sandbox environment, it is possible to test different outcomes for PayTo agreements by altering the values of the agreement. This allows for a comprehensive evaluation of potential scenarios in a controlled setting.\n\n## Use the following payment details when testing in Sandbox:\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Account NameBSBAccount NumberPayID
Monoova Sample 180295022090100+61-422020901
Monoova Sample 280295022090101sample@monoova.com
Monoova Sample 38029502209010238126015228
Monoova Sample 480295022090103987654321
\n\n## Testing Payment Agreements\n\nPayment agreements are automatically approved or declined in the Sandbox environment, depending on the amount or `maxAmount` included in the agreement request. If both `amount` or `maxAmount` are passed, the `amount` will determine the behavior.\n\nFor basic testing of Payment Agreements, the following test cases are recommended. A more comprehensive list of test cases is available should you wish to examine edge cases.\n

\n### Response for Payment Agreements\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
ResponseReason CodeContains ValueExampleAction
Agreement Approved-.00$5.00, $10.00, $50.00Approve
Requested By CustomerM019.19$5.19, $10.19, $50.19Decline
\n\n### Other Test Cases\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
ResponseReason CodeContains ValueExampleAction
Invalid Debtor Account NumberM001.01$5.01, $10.01, $50.01Decline
Closed Debtor Account NumberM003.03$5.03, $10.03, $50.03Decline
Blocked AccountM004.04$5.04, $10.04, $50.04Decline
Invalid Debtor Account TypeM005.05$5.05, $10.05, $50.05Decline
Transaction ForbiddenM006.06$5.06, $10.06, $50.06Decline
Transaction Not SupportedM007.07$5.07, $10.07, $50.07Decline
Not Allowed CurrencyM008.08$5.08, $10.08, $50.08Decline
Invalid AmountM009.09$5.09, $10.09, $50.09Decline
Amount Exceeds Agreed LimitM010.10$5.10, $10.10, $50.10Decline
No Mandate Service On CustomerM018.18$5.18, $10.18, $50.18Decline
Mandate Cancelled Due To FraudM022.22$5.22, $10.22, $50.22Decline
No Answer From CustomerM027.27$5.27, $10.27, $50.27Decline
Regulatory ReasonM028.28$5.28, $10.28, $50.28Decline
Creditor not on Whitelist of DebtorM030.30$5.30, $10.30, $50.30Decline
Creditor on Blacklist of DebtorM031.31$5.31, $10.31, $50.31Decline
Unknown end CustomerM032.32$5.32, $10.32, $50.32Decline
\n\n\n
\n\nIn addition to a sample request, the scheme for each endpoint and associated data tables are in the appendix at the end of this document.\n\nTo try out our API, you can use a client such as [Postman](https://www.getpostman.com).\n\nYou can download a postman collection of our API by clicking the link below:\n\n[![Run in Postman](https://run.pstmn.io/button.svg)](https://god.gw.postman.com/run-collection/19891519-fccdc471-7f26-4f4c-bba7-4e0dda5ab9e3?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D19891519-fccdc471-7f26-4f4c-bba7-4e0dda5ab9e3%26entityType%3Dcollection%26workspaceId%3D0a304f49-2e6e-4498-8d43-3b68ee26aee6)\n\n**Note:** Please note we do not accept TLS 1.0 or 1.1 connections\n" version: v1 title: Monoova PayTo Manage Payment Agreements API contact: name: Monoova Support email: support@monoova.com url: https://www.monoova.com x-logo: url: https://movdpwebsiteprodae.blob.core.windows.net/images/Monoova-Primary-Logo-Black-RGB.png altText: Monoova logo servers: - url: https://api.monoova.com description: Production URL# - url: https://sand-api.monoova.com description: Sandbox URL security: - BearerAuth: [] tags: - name: Manage Payment Agreements description: Methods to handle the payment agreement lifecycle. There are 2 ways in which a payment agreement can be amended – unilaterally (no payer approval needed), and Bilaterally (payer approval required) paths: /au/payto/pam-v1/PaymentAgreement: post: tags: - Manage Payment Agreements summary: Create a Payment Agreement description: 'The purpose of this endpoint is to create a payment agreement. An agreement can only initiate payments once the Payer approves it. Payers must respond by the respondByTime specified while creating the mandate. If respondByTime is not provided, it will be defaulted to 5 days for the Payer to approve or decline a payment agreement.

Rate Limit
Payment Agreement and Initiation endpoints have rate limits applied at a service level. If you process at volumes that surpass the rate limits, you will get a 429 HTTP status code for ''too many requests''. If you see this error, you will need to retry. If you experience this issue frequently, space out the calls. Alternatively, the Async endpoints have a much higher rate limit applied.

A webhook will notify customers about the approval/declination of a payment agreement. There is also get payment agreement endpoints to check the status of the payment agreement.

To receive payments in an account with Monoova, please create an automatcher account and use it under payee details when creating payment agreement. Automatcher accounts can also be created through the Sandbox Portal. Received payments through an automatcher account will be reported via webhook notification event name “PayToReceivePayment”.
Additionally, sample test accounts will need to be used for the payer-consumer side of the mandate on Sandbox. Please find below sample test payer accounts:
Account Name Monoova Sample 1 Monoova Sample 2 Monoova Sample 3 Monoova Sample 4 Monoova Sample 5
BSB 802950
Account Number 22090100
PayID - Phone +61-422020901
PayID - Email sample@monoova.com
PayID - ABN 38126015228
PayID - Organisation ID 987654321


Below are a series of reference tables for the create and initiate payment agreement schemas

Frequency

Code Name Description
ADHO Adhoc Event takes place on request or as necessary.
DAIL Daily Event takes place every day.
FRTN Fortnightly Event takes place every two weeks.
INDA IntraDay Event takes place several times a day.
MIAN SemiAnnual Event takes place every six months or two times a year.
MNTH Monthly Event takes place every month or once a month.
QURT Quarterly Event takes place every three months or four times a year.
WEEK Weekly Event takes place once a week.
YEAR Annual Event takes place every year or once a year.


Agreement Type

Code Name Description
FIXE Fixed Payment amount is fixed.
USGB UsageBased Payment amount is based on usage.
VARI Variable Payment amount is variable.


Agreement Type + Amount

agreementType amount maximumAmount Rules
FIXE Valid numeric value NA If Fixed, only amount should have values. Max amount should not be present
USGB Valid numeric value Valid numeric value If Usage based, max amount is recommended. However, amount and max amount are optional. If both amount and max amount are present, amount should be less than max amount
VARI Valid numeric value Valid numeric value If Variable, max amount is recommended. However, amount and max amount are optional. If both amount and max amount are present, amount should be less than max amount
' operationId: post-paymentagreement requestBody: content: application/json: schema: $ref: '#/components/schemas/CreatePaymentAgreementDto' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CreatePaymentAgreementResponse' '400': description: Error content: application/json: example: traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152 errors: - errorCode: string errorMessage: string '403': description: Error content: application/json: example: traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152 errors: - errorCode: string errorMessage: string '404': description: Error content: application/json: example: traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152 errors: - errorCode: string errorMessage: string '500': description: Error content: application/json: example: traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152 errors: - errorCode: string errorMessage: string '502': description: Error content: application/json: example: traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152 errors: - errorCode: string errorMessage: string '504': description: Error content: application/json: example: traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152 errors: - errorCode: string errorMessage: string /au/payto/pam-v1/paymentagreement/{paymentAgreementUID}/unilateral: patch: tags: - Manage Payment Agreements summary: Unilateral Amendment description: Unilateral changes to a payment agreement can be done without the payer’s approval. The only fields that can be changed unilaterally are the payee object and agreement descriptions. operationId: patch-paymentagreement-id-unilateral parameters: - name: paymentAgreementUID in: path required: true schema: type: - string - 'null' description: Id to uniquely Identify a payment agreement. maxLength: 35 pattern: ^[A-Za-z0-9_-] example: MONPAG12345 requestBody: content: application/json-patch+json: schema: $ref: '#/components/schemas/AmendUnilateralDetailsDto' example: description: payroll pag1 shortDescription: payroll pag1 payeeDetails: payeeType: ORGN payeeLinkedBsb: 802980 payeeLinkedAccount: 33333333 payeeLinkedPayId: abc@gmail.com payeeLinkedPayIdType: EMAIL payeeAccountName: PayCo ultimatePayee: PayCo responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AmendUnilateralDetailsResponse' '400': description: Error content: application/json: example: traceId: b008558d-b6df-4935-b2aa-39b2f8d467be errors: - errorCode: PAM_BR_AMEND_FORBIDDEN errorMessage: Can only amend payment agreement in active or paused status '403': description: Error content: application/json: example: traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152 errors: - errorCode: string errorMessage: string '404': description: Error content: application/json: example: traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152 errors: - errorCode: string errorMessage: string '500': description: Error content: application/json: example: traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152 errors: - errorCode: string errorMessage: string '502': description: Error content: application/json: example: traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152 errors: - errorCode: string errorMessage: string '504': description: Error content: application/json: example: traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152 errors: - errorCode: string errorMessage: string /au/payto/pam-v1/paymentagreement/{paymentAgreementUID}/bilateral: patch: tags: - Manage Payment Agreements summary: Bilateral Amendment operationId: patch-paymentagreement-id-bilateral description: Bilateral changes can't be done without the payer’s approval. Changes can be made to payment terms. Changes made using this end point will only get reflected after payer approves the change. Until new terms are approved, payment agreement will be active with its last approved terms. parameters: - name: paymentAgreementUID in: path required: true schema: description: Id to uniquely Identify a payment agreement. maxLength: 35 pattern: ^[A-Za-z0-9_-] example: MONPAG12345 requestBody: content: application/json: schema: $ref: '#/components/schemas/AmendBilateralDetailsDto' example: automaticRenewal: false endDate: '2022-09-30' respondByTime: '2022-09-1T08:20:50.52Z' paymentTerms: numberOfTransactionsPermitted: 10 frequency: MNTH amount: 10.0 maximumAmount": 1000.0 agreementType: VARI responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AmendBilateralDetailsResponse' '400': description: Error content: application/json: example: traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152 errors: - errorCode: string errorMessage: string '403': description: Error content: application/json: example: traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152 errors: - errorCode: string errorMessage: string '404': description: Error content: application/json: example: traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152 errors: - errorCode: string errorMessage: string '500': description: Error content: application/json: example: traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152 errors: - errorCode: string errorMessage: string '502': description: Error content: application/json: example: traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152 errors: - errorCode: string errorMessage: string '504': description: Error content: application/json: example: traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152 errors: - errorCode: string errorMessage: string /au/payto/pam-v1/paymentagreement/{paymentAgreementUID}/status: patch: tags: - Manage Payment Agreements summary: Amend Payment Agreement Status description: 'This endpoint allows the initiator to change the status of a payment agreement. Available statuses are `active`, `pause`, or `cancel`.

Status Reason Code

Code Reason
AC02Invalid Debtor Account Number
AC04Closed Account Number
AC05Closed Debtor Account Number
AC06Blocked Account
AC13Invalid Debtor Account Type
AG01Transaction Forbidden
AG03Transaction Not Supported
AM03Not Allowed Currency
AM12Invalid Amount
AM14Amount Exceeds Agreed Limit
CTAMContract Amended
CTCAContract Cancellation Initiated By Debtor
CTEXContract Expired
MCFCPayment Agreement Suspended Final Collection
MCOCPayment Agreement Suspended Once Off Collection
MD07End Customer Deceased
MD08No Payment Agreement Service By Agent
MD09No Payment Agreement Service On Customer
MD16Requested By Customer
MD17Requested By Initiating Party
MD20Payment Agreement Expired
MD21Payment Agreement Cancelled Due To Fraud
MS02Not Specified Reason Customer Generated
MS03Not Specified Reason Agent Generated
MSUCPayment Agreement Suspended 7 Consecutive Unsuccessful Collections
NARRNarrative
NOASNo Answer From Customer
RR04Regulatory Reason
SL01Specific Service Offered By Debtor Agent
SL11Creditor Not On Whitelist Of Debtor
SL12Creditor On Blacklist Of Debtor
' operationId: patch-paymentagreement-id-status parameters: - name: paymentAgreementUID in: path required: true schema: type: string description: Id to uniquely identify a payment agreement. maxLength: 35 pattern: ^[A-Za-z0-9_-]{1,35}$ example: MONPAG12345 requestBody: content: application/json: schema: $ref: '#/components/schemas/AmendPaymentAgreementStatusDto' example: statusChange: pause reasonCode: AC02 reasonDescription: Amend mandate status responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AmendPaymentAgreementStatusResponse' '400': description: Error content: application/json: example: traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152 errors: - errorCode: string errorMessage: string '403': description: Error content: application/json: example: traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152 errors: - errorCode: string errorMessage: string '404': description: Error content: application/json: example: traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152 errors: - errorCode: string errorMessage: string '500': description: Error content: application/json: example: traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152 errors: - errorCode: string errorMessage: string '502': description: Error content: application/json: example: traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152 errors: - errorCode: string errorMessage: string '504': description: Error content: application/json: example: traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152 errors: - errorCode: string errorMessage: string /au/payto/pam-v1/paymentAgreement/{PaymentAgreementUID}/recall/{actionIdentification}: patch: tags: - Manage Payment Agreements summary: Recall a Payment Agreement description: The purpose of this operation is to recall a pending payment agreement before it is approved or declined by the payer servicer/customer. operationId: patch-paymentagreement-id-recall parameters: - name: PaymentAgreementUID in: path required: true schema: type: string maxLength: 35 pattern: ^[A-Za-z0-9_-] description: Id to uniquely Identify a payment agreement. example: MONPAG12345 - name: actionIdentification in: path required: true schema: type: string maxLength: 35 pattern: ^[a-f0-9]{12}1[a-f0-9]{3}[89ab][a-f0-9]{15}$ description: unique Id used to identify pending(unapproved) actions. This id is assigned when a new payment agreement is created or when a bilateral amendment is made. example: 6ae818a80bc362618aeaece46ee70e4a responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/RecallPaymentAgreementLastActionResponse' '400': description: Error content: application/json: example: traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152 errors: - errorCode: string errorMessage: string '403': description: Error content: application/json: example: traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152 errors: - errorCode: string errorMessage: string '404': description: Error content: application/json: example: traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152 errors: - errorCode: string errorMessage: string '500': description: Error content: application/json: example: traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152 errors: - errorCode: string errorMessage: string '502': description: Error content: application/json: example: traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152 errors: - errorCode: string errorMessage: string '504': description: Error content: application/json: example: traceId: f1a7fbd7-ca39-4b98-b247-f4e0e004f152 errors: - errorCode: string errorMessage: string components: schemas: CreatePaymentAgreementResponse: type: object properties: traceId: type: string example: 1dabfaa9-abe8-4d2d-a69a-b723079d84ed paymentAgreementUID: type: string maxLength: 35 pattern: ^[A-Za-z0-9_-] description: Id to uniquely Identify a payment agreement. example: BCORP123456 PaymentAgreementStatus: type: string description: This is the status of the payment agreement. Status (e.g. Active, Cancelled, ...). See Payment Agreement Status for all options. example: Created PaymentAgreementStatusDescription: type: - string - 'null' description: This describes the status. For example, a status of ‘created’ will have a description of ‘Pending Payer Approval’ example: Pending Payer Approval mmsId: type: string description: This is the unique ID that identifies this payment agreement. example: a9ba56f64baa1dee9ac2d7f87c2621fa registrationDateTime: type: string description: The date and time that you created the mandate. example: 2022-09-05 05:29:53.031000+00:00 actionIdentification: type: string example: b9c91b0f382b1fa5bf7e87aaad094eee additionalProperties: false AmendUnilateralDetailsDto: type: object properties: description: type: - string - 'null' description: Reason for the mandate setup as narrative text.
Either "description" or "short_description" must be present. maxLength: 140 example: payroll pag1 shortDescription: type: - string - 'null' description: Reason for the mandate setup as narrative text.
Either "description" or "short_description" must be present. maxLength: 35 example: payroll pag1 payeeDetails: $ref: '#/components/schemas/PayeeDetailsDto' additionalProperties: false AmendUnilateralDetailsResponse: type: object properties: paymentAgreementUID: type: string description: Id to uniquely Identify a payment agreement. maxLength: 35 pattern: ^[A-Z0-9_-] example: BCORP1662358223 traceId: type: string example: 1dabfaa9-abe8-4d2d-a69a-b723079d84ed mmsId: type: string description: This is the unique ID that identifies this payment agreement. example: aa0a5d7eedcd1c01999b2906b1edd8cd actionIdentification: type: string example: b9c91b0f382b1fa5bf7e87aaad094eee additionalProperties: false CreatePaymentAgreementDto: type: object required: - paymentAgreementUID properties: paymentAgreementUID: type: string description: Id to uniquely Identify a payment agreement. maxLength: 35 pattern: ^[A-Z0-9_-] example: ABCORP123456 payeeDetails: $ref: '#/components/schemas/PayeeDetailsDto' payerDetails: $ref: '#/components/schemas/PayerDetailsDto' paymentTerms: $ref: '#/components/schemas/PaymentTermsDto' paymentDetails: $ref: '#/components/schemas/PaymentDetailsDto' additionalProperties: false AmendPaymentAgreementStatusDto: type: object properties: paymentAgreementUID: type: string description: 'Unique ID of the payment agreement. ' statusChange: type: string description: The status that you wish to change the payment agreement to.
Note: You cannot change a status from ‘Created’ to ‘Cancel’. If you wish to recall a payment agreement before the payer has approved it, you need to use the Recall Agreement endpoint.
Current Status Payload Status New Status Note
Active Cancel Cancelled Reason Code is mandatory.
Active Pause Paused Reason Code is mandatory.
Paused Resume Active Only party who suspended can Activate payment agreement
Paused Cancel Cancelled Reason Code is mandatory.
Cancel -- This is the final status
reasonCode: type: string description: 'Reason code for changing the agreement status. Must be provided when the status is `Cancel` or `Pause`. ' example: AC02 reasonDescription: type: string description: 'Description of the reason for the change in status. ' example: Invalid Debtor Account Number maxLength: 256 AmendBilateralDetailsDto: type: object properties: automaticRenewal: type: - boolean - 'null' endDate: type: - string - 'null' description: End date of the validity of the mandate. If specified, the mandate is valid until 23:59:59.999 Australia Sydney time on this date. respondByTime: type: - string - 'null' format: date-time description: Optional time used to indicate by when resolution of a bilateral action is requested from the other party to the payment agreement. It will be provided in any notification sent to the counterparty. This time is for informational purposes only and does not affect the expiry time imposed by the MMS. Must be future date and less than 5 days If not provided value will be defaulted to agreement creation datetime + 5 day Default time zone is UTC paymentTerms: $ref: '#/components/schemas/PaymentTermsDto' additionalProperties: false RecallPaymentAgreementLastActionResponse: type: object properties: paymentAgreementUID: type: string description: Id to uniquely Identify a payment agreement. maxLength: 35 pattern: ^[A-Z0-9_-] example: BCORP12345678 mmsId: type: string description: This is the unique ID that identifies this payment agreement. example: cf9cba5ea20c1e6b87aa04cc8955abcc paymentAgreementStatus: type: string description: This is the status of the payment agreement. example: Cancelled paymentAgreementStatusDescription: type: string description: This describes the status. For example, a status of ‘created’ will have a description of ‘Pending Payer Approval’ example: Mandate action recalled actionIdentification: type: string description: unique Id used to identify pending(unapproved) actions. This id is assigned when a new payment agreement is created or when a bilateral amendment is made. example: 6ae818d80ba362618a2aece46ee70e4a additionalProperties: false PaymentDetailsDto: required: - automaticRenewal - purpose - startDate properties: automaticRenewal: type: - boolean - 'null' example: false description: Determines if the payment agreement automatically renews at the end of the defined period.
Possible values - True, False
endDate cannot be present if automaticRenewal is set as 'TRUE', endDate must be present if automaticRenewal is set as 'FALSE' description: type: - string - 'null' description: Reason for the mandate setup as narrative text.
Either "description" or "short_description" must be present maxLength: 140 example: null shortDescription: description: Reason for the mandate setup as narrative text.
Either "description" or "short_description" must be present type: - string - 'null' maxLength: 35 example: PayToTest_001 purpose: type: - string - 'null' description: Payment Purpose Code.
Possible Values-
MORT - Mortgage Payments
UTIL - Utility Payments
LOAN - Loan Payments
DEPD - Dependant Support Payments
GAMP - Gambling Payments
RETL - Retail Payments
SALA - Salary Payments
PERS - Personal Payment
GOVT - Government Payments
PENS - Pension Payments
TAXS - Tax Payments
OTHR - Other Service Payments example: MORT respondByTime: type: - string - 'null' description: Optional time used to indicate by when resolution of a bilateral action is requested from the other party to the payment agreement. It will be provided in any notification sent to the counterparty. This time is for informational purposes only and does not affect the expiry time imposed by the MMS.
Must be future date and less than 5 days
If not provided value will be defaulted to agreement creation datetime + 5 day
Default time zone is UTC format: ISODateTime ( yyyy-mm-ddThh:mm:ss+|–hh:mm) example: 2022-09-13 14:35:27+00:00 startDate: description: Start date of the validity of the mandate. The mandate is valid as of 00:00:00.000 Australia Sydney time on this date. type: - string - 'null' format: YYYY-MM-DD example: 2022-09-13 endDate: type: - string - 'null' format: YYYY-MM-DD example: 2023-08-24 description: End date of the validity of the mandate. If specified, the mandate is valid until 23:59:59.999 Australia Sydney time on this date. additionalProperties: false PayeeDetailsDto: required: - payeeType oneOf: - required: - payeeLinkedBsb - payeeLinkedAccount - required: - payeeLinkedPayId - payeeLinkedPayIdType - payeeAccountName type: object properties: payeeType: type: - string - 'null' description: Identifies the type of a party.
Possible Values ORGN - Organization, PERS - Person example: ORGN payeeLinkedBsb: type: - string - 'null' description: BSB number.
Required if 'payeeLinkedPayId' and 'payeeLinkedPayIdType' are not provided. e.g. '999-999 or 999999' example: 999-999 payeeLinkedAccount: type: - string - 'null' maxLength: 28 description: Bank Account Number.
Required if 'payeeLinkedPayId' and 'payeeLinkedPayIdType' are not provided. example: 22222222 payeeLinkedPayId: type: - string - 'null' description: PayID.
Email, phone number, ABN, ACN or Organisation name.
Required if 'payeeLinkedBsb' and 'payeeLinkedAccount' are not provided. See PAYID Format Validation. example: '' payeeLinkedPayIdType: type: - string - 'null' description: PayID Type. Possible values ABN, Email, PhoneNumber, OrganisationId, ACN.
Required if 'payeeLinkedBsb' and 'payeeLinkedAccount' are not provided. example: '' payeeAccountName: type: - string - 'null' description: Bank Account Name
Can only provide payeeAccountName in the payload if crediting an external BSB. Mandatory if crediting a PayID. maxLength: 140 example: ABCORP ultimatePayee: type: - string - 'null' example: ABCORP description: Name by which the party is known, and which is usually used to identify that party.
Can only provide ultimatePayee in the payload if crediting an external BSB. additionalProperties: false AmendBilateralDetailsResponse: type: object properties: paymentAgreementUID: type: string description: Id to uniquely Identify a payment agreement. maxLength: 35 pattern: ^[A-Z0-9_-] example: MONPAG12345 mmsId: type: string description: This is the unique ID that identifies this payment agreement. example: 684211c8a4076eeea68e63eeaa8ea6aa actionIdentification: type: string example: eea687ee114eae368ca066aa62bae488 additionalProperties: false PayerDetailsDto: type: object required: - payerType - payer - ultimatePayer - payerPartyReference oneOf: - required: - linkedBsb - linkedAccount - required: - linkedPayId - linkedPayIdType properties: payerType: type: - string - 'null' description: Identifies the type of party.
Possible Values - ORGN (Organization), PERS (Person) example: ORGN linkedBsb: type: - string - 'null' description: BSB (Bank-State-Branch) number.
Required if 'linkedPayId' and 'linkedPayIdType' are not provided. example: 802950 linkedAccount: type: - string - 'null' description: Bank account number.
Required if 'linkedPayId' and 'linkedPayIdType' are not provided. maxLength: 28 example: 10109010 linkedPayId: type: - string - 'null' example: null description: PayID.
Email, phone number, ABN, ACN or Organisation ID.
Required if 'linkedBsb' and 'linkedAccount' are not provided. See PAYID Format Validation. linkedPayIdType: type: - string - 'null' example: null description: PayID Type.
Possible Values - Email, PhoneNumber, ABN, ACN, OrganisationId.
Required if 'linkedBsb' and 'linkedAccount' are not provided. payer: type: - string - 'null' description: Bank Account Name. maxLength: 140 example: ABCCORPCo ultimatePayer: type: - string - 'null' maxLength: 140 description: Name by which the party is known, and which is usually used to identify that party. example: ABCCORPCo payerPartyReference: type: - string - 'null' maxLength: 35 description: This field will be presented to Payer in the detail agreement view. This field also be used group payment initiations associated with a payment agreement. example: Payer54321 additionalProperties: false AmendPaymentAgreementStatusResponse: type: object properties: traceId: type: string description: Trace ID for tracking the request. paymentAgreementUID: type: string description: Id to uniquely Identify a payment agreement. maxLength: 35 pattern: ^[A-Z0-9_-] example: MONPAG12345 paymentAgreementStatus: type: string description: 'The current status of the payment agreement. ' example: Paused paymentAgreementStatusDescription: type: string description: 'Detailed description of the current status. ' example: Status changed from Active to Paused mmsId: type: string description: 'Unique ID that identifies this payment agreement within the system. ' PaymentTermsDto: required: - numberOfTransactionsPermitted - frequency - amount - agreementType type: object properties: numberOfTransactionsPermitted: type: - integer - 'null' format: int32 description: Quantifies the number of transactions allowed per frequency example: 10 frequency: type: - string - 'null' description: Specifies the regularity of an event. See Frequency Table for allowed values example: WEEK pointInTime: type: - number - 'null' description: Qualifies the frequency in terms of an exact point in time or moment within the specified period.
Valid non decimal numeric value. Supported values will be 01 to 31
This field works in combination with frequency and can only be provided when frequency = MNTH
This field should not be provided if numberOfTransactionsPermitted is provided example: null amount: type: - number - 'null' maxLength: 34 example: null description: Exact amount that may be paid from the Creditor's account, per instruction. Refer to AgreementType & Amount table below maximumAmount: type: - number - 'null' maxLength: 34 example: 100.0 description: Maximum amount that may be paid from the Creditor's account, per instruction. Refer to AgreementType & Amount table below agreementType: type: - string - 'null' description: Based on the AgreementType table example: VARI additionalProperties: false securitySchemes: BearerAuth: type: http scheme: bearer bearerFormat: JWT BasicAuth: type: http scheme: basic x-tagGroups: - name: '' tags: - Generate a Bearer Token - Manage Payment Agreements - PayTo Async API - Initiate a Payment - Reporting - Webhooks - Notification Management - PAYID Format Validation - Client Error Responses - Monoova Error Codes - Mandate Status Reason Codes - Payment Initiation Status - Payment Agreement Status - Payment Initiation Reject Reason Codes