openapi: 3.0.0
servers:
- url: https://api.monoova.com
description: Production URL#
- url: https://sand-api.monoova.com
description: Sandbox URL
info:
description: |
# Introduction
The 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.
Monoova'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.
## Process
PayTo allows you to debit an enabled domestic bank account in real time.
* 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.
* Next, the payer authorises the agreement through their banking app.
* 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.
* If you would like to modify the terms of the agreement, you can use the amendment API's.
# Getting Started
1. Access the Domestic Payments Portal:
* Sandbox Environment:
- Register: If you are new, [register](https://sandbox.monoova.com) to gain Sandbox access.
- Login: If you already have Sandbox credentials, [log in](https://sandbox.monoova.com) to continue your work.
* Production Environment:
- Login: Login to the [Production portal](https://payments.monoova.com) using the credentials you obtained during onboarding.
2. Activate Your API Key
* Generate API Key:
- 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.
* Activate API Gateway Access:
- Go to Manage > API Gateway and enter your API Key to activate API Gateway access for your mAccount.
3. Configure API Access
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.
4. Explore API Endpoints
Use the API documentation to plan your integration. It provides details and examples of usage.
5. Onboarding and Support
Our integration team will guide you from the initial setup to the final running implementation, providing support throughout the process.
# Sandbox Testing for PayTo Agreements
In 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.
## Use the following payment details when testing in Sandbox:
A new report has been added specifically for NPP payments related to PayTo. Monoova’s PayTo NPP receivables – available
here
In addition, PayTo NPP receivables will have the following additional data fields
In addition to callable reporting endpoints, webhooks will also be available for state changes for payment agreements and funds received.
If Payee account is Monoova automatcher account, webhooks will be sent using a new webhook PayToReceivePayment.
In addition to PayTo NPP receivables fields this webhook will have the following additional data fields to provide payment agreement information:
| HTTP Status |
Error Code |
Meaning |
| 400 | NOS_ACCTID_REQUIRED | maccount is required |
| 400 | NOS_DATERANGE_INVALID | End must be after Start. |
| 400 | NOS_DATERANGE_SIZE | Days between Start and End must be smaller than {0} |
| 400 | NOS_DUP_SUB_CRT_ERROR | duplicate record already exists or subscriptionId not provided |
| 400 | NOS_ENDDATE_INVALID | Invalid End |
| 400 | NOS_EVTID_REQUIRED | EventId must not be empty" |
| 400 | NOS_EVTNAME_INVALID | {0}EventName must not be empty and be one of [{1}] |
| 400 | NOS_EVTNAME_REQUIRED | {0}eventName is required |
| 400 | NOS_HEADER_REQUIRED | Header must not be empty |
| 400 | NOS_ISACTIVE_REQUIRED | {0}isActive must not be empty |
| 400 | NOS_PGNUM_INVALID | pageNumber must be greater than 0 |
| 400 | NOS_PGSIZ_INVALID | pageSize must be from 1 to {0} |
| 400 | NOS_REQUEST_EMPTY | request payload is empty |
| 400 | NOS_STARTDATE_INVALID | Invalid Start |
| 400 | NOS_STS_INVALID | Status must be one of [{0}] |
| 400 | NOS_SUBID_INVALID | SubscriptionId must be a valid Guid |
| 400 | NOS_SUBID_REQUIRED | subscriptionId is required |
| 400 | NOS_SUBNAME_INVALID | {0}subscriptionName must not be empty and match {RegularExpression} |
| 400 | NOS_SUBNAME_REQUIRED | {0}subscriptionName must not be empty |
| 400 | NOS_TRACEID_REQUIRED | traceId is required |
| 400 | NOS_URL_INVALID | {0}callBackUrl must not be empty and must be a well-formed URL |
| 400 | NOS_URL_REQUIRED | {0}callBackUrl is required |
| 400 | NOS_VALIDATION_ERROR | One or more validation failures have occurred |
| 400 | NOS_WEBDTL_REQUIRED | {0}WebHookDetail is required |
| 400 | PAS_REQ_BODY_INVALID | Error parsing badly formed request message - {0} |
| 404 | NOS_EVENT_NOT_FOUND_ERROR | No webhook found for:{0} |
| 404 | NOS_SUB_NOT_FOUND_ERROR | SubscriptionId {0} is not found" |
| 500 | NOS_DEL_SUB_ERROR | Document deleted {0}. Expected exactly 1 subscription deletion. |
| 500 | NOS_DUP_SUB_UPD_ERROR | duplicate records exist for subscriptionId {0} |
| 500 | NOS_UNEXPECTED_ERROR | An unexpected exception occurred |
| 500 | NOS_UPD_SUB_ERROR | Document modified {0}. Expected exactly 1 subscription updated. |
| 400 | PAM_ACCTID_REQUIRED | maccount is required |
| 400 | PAM_ACTION_INVALID | ActionStatus {PropertyValue} is invalid - must be one of [{0}] |
| 400 | PAM_AMEND_FORBIDDEN | Can only amend payment agreement in active or paused status |
| 400 | PAM_AMEND_PENDING | Can not amend payment agreement with pending bilateral amend |
| 400 | PAM_AMOUNT_ERROR | {0}: Invalid payment amount {1} |
| 400 | PAM_AMT_GTR_MAX_AMT | Amount can not be greater than maximum amount. |
| 400 | PAM_AMT_INVALID | {0}.amount is invalid - {PropertyValue} |
| 400 | PAM_AMT_TYPE_INVALID_COMBINATION | For payment amount type {0} |
| 400 | PAM_AMT_TYPE_UNSUPPORTED | Unsupported payment amount type {0}" |
| 400 | PAM_AUTO_RENEWAL_REQUIRED | {0}.automaticRenewal is required |
| 400 | PAM_BSB_ACCOUNT_TOGETHER | BSB and account must be provided together |
| 400 | PAM_BUSINESS_RULE_ERROR | startdate invalid |
| 400 | PAM_CANCEL_CREATED | Payment agreement is in created status. Please use our recall API to cancel the PAG creation |
| 400 | PAM_CRTD_ENDDATE_INVALID | CreatedEndDate must be past time and within 1 month after CreatedStartDate |
| 400 | PAM_CRTD_STARTDATE_INVALID | CreatedStartDate must be past time |
| 400 | PAM_DEBTOR_PAUSED | Payment agreement paused by Debtor can only be resumed by Debtor |
| 400 | PAM_DESC_INVALID | {0}.description must have minimum 1 |
| 400 | PAM_DESC_SHORT_DESC_MISSING | either description or shortDescription or both must be provided" |
| 400 | PAM_DETAILS_REQUIRED | paymentDetails required |
| 400 | PAM_DUP_PAYEE | The payee information has been provided in both the payment agreement |
| 400 | PAM_ENDDATE_BEFORE_START | endDate cannot be earlier than paymentAgreement startDate" |
| 400 | PAM_ENDDATE_EARLY | {0}.endDate {PropertyValue} must be later than {0}.startDate |
| 400 | PAM_ENDDATE_FORBIDDEN | {0}.endDate is prohibited when automaticRenewal is true |
| 400 | PAM_ENDDATE_INVALID | {0}.endDate {PropertyValue} must match yyyy-MM-dd |
| 400 | PAM_ENDDATE_REQUIRED | {0}.endDate is required when automaticRenewal is false |
| 400 | PAM_ENDDATE_TOO_OLD | endDate must be a future date |
| 400 | PAM_ENDDATE_WITH_AUTORENEW | endDate cannot be provided unless automaticRenewal is false |
| 400 | PAM_INVALID_OPERATION | PaymentAgreementStatus {0} is invalid for the change to {1} |
| 400 | PAM_INVALID_PURPOSE | Purpose code {0} not allowed |
| 400 | PAM_INVALID_TIME_FORMAT | {0}.ExecutionTime must match HH:MM:SS |
| 400 | PAM_MAPPING_ERROR | Internal error - property {0} value {1} is invalid - expected one of [{2}]. Please contact Monoova support." |
| 400 | PAM_MAX_AMT_INVALID | {0}.maximumAmount is invalid - {PropertyValue} |
| 400 | PAM_NUM_TRANS_INVALID | {0}.NumberOfTransactionsPermitted must not be less than or equal to 0 |
| 400 | PAM_PAGID_INVALID | paymentAgreementUID {PropertyValue} must match {RegularExpression} |
| 400 | PAM_PAGID_REQUIRED | paymentAgreementUID required |
| 400 | PAM_PAGMMSID_REQUIRED | Either PaymentAgreementUid or MmsId must not be empty |
| 400 | PAM_PAG_EXISTS | Failed to create payment agreement - PaymentAgreementUID already linked to mmsId |
| 400 | PAM_PAG_LIMIT_EXCEEDED | Request exceeds the maximum allowed payment agreement limit {0} |
| 400 | PAM_PAG_PURPOSE_INVALID | {0}.purpose value {PropertyValue} invalid - must be one of [{1}] |
| 400 | PAM_PAG_STATUS_INACTIVE | Agreement status must be active" |
| 400 | PAM_PAG_TYPE_INVALID | {0}.agreementType value {PropertyValue} invalid - must be one of [{1}] |
| 400 | PAM_PAYEE_ACCOUNT_NAME_FORBIDDEN | Payee account name is not allowed |
| 400 | PAM_PAYEE_ACCT_EMPTY | {0}.payeeLinkedAccount {PropertyValue} cannot be all zeros or blanks |
| 400 | PAM_PAYEE_ACCT_FORBIDDEN | {0}.payeeLinkedAccount prohibited with payeeLinkedPayId |
| 400 | PAM_PAYEE_ACCT_INVALID | {0}.payeeLinkedAccount {PropertyValue} must match {RegularExpression} |
| 400 | PAM_PAYEE_ACCT_LENGTH | {0}.payeeLinkedAccount must not be longer than 28 characters |
| 400 | PAM_PAYEE_ACCT_MISSING | The payee account information has not been provided. |
| 400 | PAM_PAYEE_ACCT_NAME_FORBIDDEN | {0}.payeeAccountName must be empty when payeeLinkedBsb is Monoova |
| 400 | PAM_PAYEE_ACCT_NAME_INVALID | {0}.payeeAccountName {PropertyValue} must match {RegularExpression} |
| 400 | PAM_PAYEE_ACCT_NAME_REQUIRED | {0}.payeeAccountName must not be empty |
| 400 | PAM_PAYEE_ACCT_REQUIRED | {0}.payeeLinkedAccount required if no payeeLinkedPayId |
| 400 | PAM_PAYEE_BSB_FORBIDDEN | {0}.payeeLinkedBsb prohibited with payeeLinkedPayId |
| 400 | PAM_PAYEE_BSB_INVALID | {0}.payeeLinkedBsb {PropertyValue} must match {RegularExpression} |
| 400 | PAM_PAYEE_BSB_REQUIRED | {0}.payeeLinkedBsb required if no payeeLinkedPayId |
| 400 | PAM_PAYEE_BSB_RESTRICTED | The specified Payee bsb {0} is not allowed |
| 400 | PAM_PAYEE_EMPTY | {0} must contain at least one input field |
| 400 | PAM_PAYEE_FORBIDDEN | The account information provided does not match the list of allowed Payees. |
| 400 | PAM_PAYEE_ID_INVALID | {0}.payeeLinkedPayId value invalid for specified payeeLinkedPayIdType |
| 400 | PAM_PAYEE_ID_TYPE_FORBIDDEN | {0}.payeeLinkedPayIdType prohibited without payeeLinkedPayId |
| 400 | PAM_PAYEE_ID_TYPE_INVALID | {0}.payeeLinkedPayIdType {PropertyValue} invalid - must be one of [{1}] |
| 400 | PAM_PAYEE_ID_TYPE_REQUIRED | {0}.payeeLinkedPayIdType required for payeeLinkedPayId |
| 400 | PAM_PAYEE_MISSING | The payee information has not been provided in either the payment agreement |
| 400 | PAM_PAYEE_TYPE_INVALID | {0}.payeeType {PropertyValue} is invalid - must be one of [{1}]" |
| 400 | PAM_PAYER_ACCT_EMPTY | {0}.linkedAccount {PropertyValue} cannot be all zeros or blanks |
| 400 | PAM_PAYER_ACCT_FORBIDDEN | {0}.linkedAccount prohibited with linkedPayId |
| 400 | PAM_PAYER_ACCT_INVALID | {0}.linkedAccount {PropertyValue} must match {RegularExpression} |
| 400 | PAM_PAYER_ACCT_LENGTH | {0}.linkedAccount must be between 1 and 28 characters |
| 400 | PAM_PAYER_ACCT_REQUIRED | {0}.linkedAccount required if no linkedPayId |
| 400 | PAM_PAYER_BSB_FORBIDDEN | {0}.linkedBsb prohibited with linkedPayId |
| 400 | PAM_PAYER_BSB_INVALID | {0}.linkedBsb {PropertyValue} must match {RegularExpression} |
| 400 | PAM_PAYER_BSB_REQUIRED | {0}.linkedBsb required if no linkedPayId |
| 400 | PAM_PAYER_FORBIDDEN | The account information provided does not match the list of allowed Payers |
| 400 | PAM_PAYER_ID_INVALID | {0}.linkedPayId invalid format for linkedPayIdType |
| 400 | PAM_PAYER_ID_TYPE_FORBIDDEN | {0}.linkedPayIdType prohibited without linkedPayId |
| 400 | PAM_PAYER_ID_TYPE_INVALID | {0}.linkedPayIdType {PropertyValue} invalid - must be one of [{1}] |
| 400 | PAM_PAYER_ID_TYPE_REQUIRED | {0}.linkedPayIdType required for linkedPayId |
| 400 | PAM_PAYER_MISSING | The payer information has not been provided in either the payment agreement |
| 400 | PAM_PAYER_NAME_INVALID | {0}.payer {PropertyValue} must match {RegularExpression}" |
| 400 | PAM_PAYER_NAME_LENGTH | {0}.payer must be between 1 and 140 characters |
| 400 | PAM_PAYER_NAME_REQUIRED | {0}.payer required |
| 400 | PAM_PAYER_PARTY_ALNUM | {0}.payerPartyReference Must contain at least one alphanumeric character |
| 400 | PAM_PAYER_PARTY_INVALID | {0}.payerPartyReference value {PropertyValue} does not match {RegularExpression} |
| 400 | PAM_PAYER_PARTY_LENGTH | {0}.payerPartyReference must be from 1 to 35 characters |
| 400 | PAM_PAYER_PARTY_REQUIRED | {0}.payerPartyReference required |
| 400 | PAM_PAYER_PAYEE_EXISTS | Failed to create ApprovedPayerPayee - account already exists |
| 400 | PAM_PAYER_REQUIRED | payerDetails required |
| 400 | PAM_PAYER_TYPE_INVALID | {0}.payerType {PropertyValue} invalid - must be one of [{1}] |
| 400 | PAM_PAYER_TYPE_REQUIRED | {0}.payerType required |
| 400 | PAM_PAYMENTINFORMATION_FREQUENCYCOMBINATIONRULE | Either pointInTime or numberOfTransactionsPermitted must be present in paymentTerms |
| 400 | PAM_PG_NUM_INVALID | pageNumber must be greater than zero" |
| 400 | PAM_PG_SZ_INVALID | pageSize must be between 1 and {0} |
| 400 | PAM_PIT_FORBIDDEN | PaymentInformation.PointInTime must not be present when PaymentFrequency is {0} |
| 400 | PAM_PIT_INVALID | {0}.PointInTime must be 2 digits string |
| 400 | PAM_PMT_FREQ_INVALID | {0}.paymentFrequency {PropertyValue} invalid - must be one of [{1}]" |
| 400 | PAM_PMT_FREQ_REQUIRED | {0}.paymentFrequency is required |
| 400 | PAM_REASON_CODE_INVALID | reasonCode {PropertyValue} is invalid - must match one of [{0}] |
| 400 | PAM_REASON_CODE_REQUIRED | reasonCode is required when statusChange is Pause or Cancel |
| 400 | PAM_REASON_DESC_INVALID | reasonDescription is invalid - must be from 1 to 256 characters |
| 400 | PAM_RECALL_INVALID | Action {0} in Payment Agreement {1} invalid status - must be pending for recall |
| 400 | PAM_RECORD_NOT_FOUND_ERROR | Requested record could not be found |
| 400 | PAM_REQUEST_EMPTY | request payload is empty |
| 400 | PAM_REQ_BODY_INVALID | Error parsing badly formed request message - {0} |
| 400 | PAM_RESOLUTION_INVALID | {0}.respondByTime must be between now and 5 days in the future |
| 400 | PAM_SCHED_INVALID | schedulePaymentInitiation not yet supported - if provided value must be false" |
| 400 | PAM_SHORT_DESC_INVALID | {0}.shortDescription must have minimum 1 |
| 400 | PAM_STARTDATE_EARLY | {0}.startDate must be future date." |
| 400 | PAM_STARTDATE_INVALID | {0}.startDate {PropertyValue} must match yyyy-MM-dd. |
| 400 | PAM_STARTDATE_REQUIRED | {0}.startDate is required |
| 400 | PAM_STATUS_CHG_INVALID | statusChange {PropertyValue} is invalid - must be one of [{0}] |
| 400 | PAM_STATUS_CHG_REQUIRED | statusChange is required |
| 400 | PAM_TERMS_REQUIRED | paymentTerms required |
| 400 | PAM_TZ_INVALID | {0}.RespondByTime requires a time and timezone |
| 400 | PAM_ULTIMATE_PAYEE_FORBIDDEN | Payee ultimate name not allowed |
| 400 | PAM_ULT_PAYEE_FORBIDDEN | {0}.ultimatePayee must be empty when payeeLinkedBsb is Monoova |
| 400 | PAM_ULT_PAYEE_INVALID | {0}.ultimatePayee {PropertyValue} must match {RegularExpression} |
| 400 | PAM_ULT_PAYEE_REQUIRED | {0}.ultimatePayee must not be empty |
| 400 | PAM_ULT_PAYER_INVALID | {0}.ultimatePayer {PropertyValue} must match {RegularExpression} |
| 400 | PAM_ULT_PAYER_LENGTH | {0}.ultimatePayer must be between 1 and 140 characters |
| 400 | PAM_ULT_PAYER_REQUIRED | {0}.ultimatePayer required |
| 400 | PAM_VALIDATION_ERROR | Error validating request message - {0} |
| 403 | PAM_FORBIDDEN_ERROR | Not allowed to {0} for account {1} |
| 404 | PAM_ACCT_NOT_FOUND_ERROR | Account not found for AccountId {0} |
| 404 | PAM_ACTION_NOT_FOUND_ERROR | Action {0} not found in Payment Agreement {1} |
| 404 | PAM_PAG_FQN_NOT_FOUND_ERROR | Unable to find payment agreement with account: {0} paymentAgreementUid: {1} mmsId: {2} |
| 404 | PAM_PAG_NOT_FOUND_ERROR | PaymentAgreement not found for PaymentAgreementUID {0} |
| 404 | PAM_PARTY_NOT_FOUND_ERROR | ApprovedPayerPayee with ApprovalId {0} and mAccount {1} not found |
| 500 | PAM_ACCT_CFG_PURPOSE_ERROR | Purpose Code not provided in agreement and default value not configured in account |
| 500 | PAM_ACCT_NOT_FOUND_ERROR | Account not found for AccountId {0} |
| 500 | PAM_ACCT_UPDATE_ERROR | Documents modified {0}. Expected exactly 1 AccountConfiguration updated. |
| 500 | PAM_MAPPING_ERROR | Internal error - property {0} value {1} is invalid - expected one of [{2}]. Please contact Monoova support. |
| 500 | PAM_PAG_CREATE_ERROR | Failed to create payment agreement in repository |
| 500 | PAM_PAG_NOT_FOUND_ERROR | PaymentAgreement not found for PaymentAgreementUID {0} |
| 500 | PAM_PAG_UPDATE_ERROR | Documents modified {0}. Expected exactly 1 payment agreement updated. |
| 500 | PAM_PAG_UPSERT_ERROR | Documents modified {0}. Expected 0 or 1 payment agreement updated. |
| 500 | PAM_PARTY_CREATE_ERROR | Failed to create ApprovedPayerPayee in repository |
| 500 | PAM_PARTY_UPDATE_ERROR | Documents modified {0}. Expected exactly 1 ApprovedPayerPayee updated. |
| 500 | PAM_UID_NOT_UNIQUE | More than one paymentAgreementUID {0} is found |
| 500 | PAM_UNEXPECTED_ERROR | Internal server error. Please contact Monoova support. |
| 502 | PAM_NPP_GATEWAY_ERROR | Error returned from NPP gateway - {0} |
| 504 | PAM_NPP_GATEWAY_TIMEOUT | Timeout from NPP gateway |
| 202 | PAS_IN_PROGRESS_STATUS | Requested operation is still pending |
| 400 | PAS_ACCTID_REQUIRED | maccount is required |
| 400 | PAS_ACC_PRD_LIMIT_EXCEEDED | Payment amount requested {0} plus amount used {1} exceeds remaining account limit {2} for period. |
| 400 | PAS_ACCT_NOT_FOUND_ERROR | Account not found for AccountId {0}. |
| 400 | PAS_AGREEMENT_STATUS_INACTIVE | Agreement status must be active. |
| 400 | PAS_AGREEMENT_ENDED | The end date has been exceeded on the payment agreement. |
| 400 | PAS_AGREEMENT_INVALID | Invalid payment agreement amount or currency information. Please contact Monoova support. |
| 400 | PAS_AGREEMENT_NOT_STARTED | The start date on the payment agreement is greater than the current date. |
| 400 | PAS_AMOUNT_ERROR | Payment initiation amount {0} currency {1} are null or invalid. |
| 400 | PAS_AMOUNT_MISMATCH | The amount {0} {1} does not match the active amount of the payment agreement {2} {3}. |
| 400 | PAS_AMT_EXCEEDED | The amount {0} exceeds the active allowed amount of the payment agreement {1}. |
| 400 | PAS_AMT_INVALID | {0}.amount is invalid - {PropertyValue} |
| 400 | PAS_AMT_REQUIRED | {0}.amount is required |
| 400 | PAS_BUSINESS_RULE_ERROR | Business rule failure - {0} |
| 400 | PAS_COUNT_LIMIT_EXCEEDED | Count of payments {0} exceeds configured limits {1} for the specified payment agreement. |
| 400 | PAS_COUNT_LIMIT_UNDEFINED | Payment count limit zero or not defined for the specified payment agreement. |
| 400 | PAS_DEFAULT_PAYEE_ACCT_NAME_REQUIRED | {0} error: Account must have DefaultPayeeAccountName configured when payee is Monoova. |
| 400 | PAS_DUP_PAYEE | The payee information has been provided in both the payment agreement, and the current request. |
| 400 | PAS_DUPLICATE_INSTRUCTION | Failed to create payment instruction - Duplicate paymentInitiationUID |
| 400 | PAS_ENDDATE_EXCEEDED | createdEndDate invalid - may not be more than {0} months after createdStartDate |
| 400 | PAS_ENDDATE_INVALID | createdEndDate invalid - must be after createdStartDate |
| 400 | PAS_FAIL_LIMIT_EXCEEDED | Number of failed payment requests {0} exceeds limit of {1} per day. |
| 400 | PAS_LIMIT_UNAVAILABLE | Invalid account configuration for allowed payment initiations for the day. Please contact Monoova support. |
| 400 | PAS_MAPPING_ERROR | Internal error - property {0} value {1} is invalid - expected one of [{2}]. Please contact Monoova support. |
| 400 | PAS_MAX_AMT_EXCEEDED | The amount {0} exceeds the allowed maximumAmount of the payment agreement {1}. |
| 400 | PAS_PAGID_INVALID | paymentAgreementUID value {PropertyValue} must match {RegularExpression} |
| 400 | PAS_PAGID_REQUIRED | paymentAgreementUID required |
| 400 | PAS_PAYEE_ACCTNAME_FORBIDDEN | {0}.payeeAccountName must be empty when payeeLinkedBsb is monoova |
| 400 | PAS_PAYEE_ACCTNAME_INVALID | {0}.payeeAccountName {PropertyValue} must match {RegularExpression} |
| 400 | PAS_PAYEE_ACCTNAME_LENGTH | {0}.payeeAccountName must be from 1 to 140 characters |
| 400 | PAS_PAYEE_ACCTNAME_REQUIRED | {0}.payeeAccountName required |
| 400 | PAS_PAYEE_ACCT_FORBIDDEN | {0}.payeeLinkedAccount prohibited with payeeLinkedPayId |
| 400 | PAS_PAYEE_ACCT_INVALID | {0}.payeeLinkedAccount {PropertyValue} must match {RegularExpression} |
| 400 | PAS_PAYEE_ACCT_LENGTH | {0}.payeeLinkedAccount must be from 1 to 28 characters |
| 400 | PAS_PAYEE_ACCT_MISSING | The payee account information has not been provided. |
| 400 | PAS_PAYEE_ACCT_REQUIRED | {0}.payeeLinkedAccount required if no payeeLinkedPayId |
| 400 | PAS_PAYEE_ACCT_ZERO | {0}.payeeLinkedAccount {PropertyValue} must not be all zero or blank |
| 400 | PAS_PAYEE_ACCTNAME_RESTRICTED | Payee account name {0} is not allowed |
| 400 | PAS_PAYEE_BSB_FORBIDDEN | {0}.payeeLinkedBsb prohibited with payeeLinkedPayId |
| 400 | PAS_PAYEE_BSB_INVALID | {0}.payeeLinkedBsb {PropertyValue} must match {RegularExpression} |
| 400 | PAS_PAYEE_BSB_REQUIRED | {0}.payeeLinkedBsb required if no payeeLinkedPayId |
| 400 | PAS_PAYEE_EMPTY | {0} (payeeDetails) must contain at least one input field |
| 400 | PAS_PAYEE_FORBIDDEN | The account information provided does not match the list of allowed Payees. |
| 400 | PAS_PAYEE_MISSING | The payee information has not been provided in either the payment agreement, or the current request. |
| 400 | PAS_PAYEE_ID_INVALID | {0}.payeeLinkedPayId invalid format for payeeLinkedPayIdType |
| 400 | PAS_PAYEE_PAYID_TYPE_FORBIDDEN | {0}.payeeLinkedPayIdType prohibited without payeeLinkedPayId |
| 400 | PAS_PAYEE_PAYID_TYPE_INVALID | {0}.payeeLinkedPayIdType value {PropertyValue} invalid - must be one of [{1}] |
| 400 | PAS_PAYEE_PAYID_TYPE_REQUIRED | {0}.payeeLinkedPayIdType required for payeeLinkedPayId |
| 400 | PAS_PAYEE_TYPE_INVALID | {0}.payeeType value {PropertyValue} invalid - must be one of [{1}] |
| 400 | PAS_PAYMENT_TOO_SOON | The payment execute not before time has been exceeded on the payment agreement. |
| 400 | PAS_PERIOD_COUNT_EXCEEDED | Initiation count {0} exceeds maximum allowed payment initiations for the day {1}. |
| 400 | PAS_PMTDTL_REQUIRED | paymentDetails required |
| 400 | PAS_PMTID_REQUIRED | paymentId is required |
| 400 | PAS_PMT_UID_INVALID | paymentInitiationUID {PropertyValue} must match {RegularExpression} |
| 400 | PAS_PMT_UID_REQUIRED | paymentInitiationUID required |
| 400 | PAS_REF_INVALID | {0}.lodgementReference invalid |
| >400 | PAS_REQUEST_EMPTY | request payload is empty" |
| 400 | PAS_REQ_BODY_INVALID | Error parsing badly formed request message - {0} |
| 400 | PAS_STARTDATE_INVALID | createdStartDate invalid - must be past date |
| 400 | PAS_STARTDATE_REQUIRED | createdStartDate required |
| 400 | PAS_SUPERCODE_INVALID | {0}.uniqueSuperAnnuationCode {PropertyValue} must match {RegularExpression} |
| 400 | PAS_SUPERCODE_REQUIRED | {0}.uniqueSuperAnnuationCode is mandatory if uniqueSuperAnnuationIdentification is given |
| 400 | PAS_SUPERID_INVALID | {0}.uniqueSuperAnnuationIdentification {PropertyValue} must match {RegularExpression} |
| 400 | PAS_SUPERID_REQUIRED | {0}.uniqueSuperAnnuationIdentification is mandatory if uniqueSuperAnnuationCode is given |
| 400 | PAS_TRNSTS_INVALID | transactionStatus value {PropertyValue} invalid - must be one of [{0}] |
| 400 | PAS_TRNSTS_REQUIRED | transactionStatus required |
| 400 | PAS_ULT_PAYEE_FORBIDDEN | {0}.ultimatePayee must be empty when payeeLinkedBsb is monoova |
| 400 | PAS_ULT_PAYEE_INVALID | {0}.ultimatePayee {PropertyValue} must match {RegularExpression} |
| 400 | PAS_ULT_PAYEE_LENGTH | {0}.ultimatePayee must be from 1 to 140 characters |
| 400 | PAS_ULT_PAYEE_REQUIRED | {0}.ultimatePayee required |
| 400 | PAS_ULT_PAYEE_RESTRICTED | Payee ultimate name {0} not allowed |
| 400 | PAS_VALIDATION_ERROR | Error validating request message - {0} |
| 404 | PAS_AGREEMENT_NOT_FOUND | The PaymentAgreement with the provided ID was not found: {0}. |
| 404 | PAS_INSTRUCTION_NOT_FOUND | PaymentInstruction {0} is not found |
| 500 | PAS_APPLICATION_ERROR | An application error occurred while processing the request. Please try again later. If the problem persists please contact Monoova support. |
| 500 | PAS_DATA_UPDATE_ERROR | Documents modified {0}. Expected exactly 1 payment instruction updated. |
| 500 | PAS_IID_NOT_UNIQUE | More than one paymentInstructionUID {0} is found |
| 500 | PAS_LIMIT_RESET_ERROR | Daily Limit Reset Request returned error - {0} |
| 500 | PAS_MAPPING_ERROR | Internal error - property {0} value {1} is invalid - expected one of [{2}]. Please contact Monoova support. |
| 500 | PAS_PAM_TIMEOUT_ERROR | Timeout calling MandateManager service. Please try again later. |
| 500 | PAS_UNEXPECTED_ERROR | Internal server error. Please contact Monoova support. |
| 502 | PAS_NPP_GATEWAY_ERROR | Error returned from NPP gateway - {0} |
| 502 | PAS_NPP_GATEWAY_NORESPONSE | Received empty response from NPP gateway - {0} |
| 504 | PAS_NPP_GATEWAY_TIMEOUT | Timeout calling NPP gateway |
| 400 | MOV_UNEXPECTED_VALIDATION_FAILURE | Validation failed with banking partner. Contact Monoova for more information |
| 400 | MOV_VALIDATION_ERROR | Unexpected validation error. Correct payload and retry |
| 400 | MOV_PAYER_ALIAS_VALIDATION_FAILED | Unexpected validation error with Payer Alias. Correct payload and retry |
| 400 | MOV_MULTIPLE_FIELD_CHANGE_ERROR | Unexpected validation error. Multiple changed fields exist with respondByTime. Correct request and retry |
| 400 | MOV_MISSING_FIELD_ERROR | Unexpected validation error. Include amended fields |
| 400 | MOV_RESPOND_BY_TIME_VALIDATION_FAILED | Unexpected validation error with respondByTime. Correct payload and retry |
| 400 | MOV_DESCRIPTION_VALIDATION_FAILED | Unexpected validation error with descriptions. Correct payload and retry |
| 404 | MOV_LINKED_PAYID_ERROR | Incorrect linkedPayId details |
| 404 | MOV_PAYEE_LINKED_PAYID_ERROR | Incorrect payeeLinkedPayId details |
| 400 | MOV_PAYEE_ALIAS_VALIDATION_FAILED | Creditor_information.account_alias_identification format incorrect for the chosen creditor_information.account_alias_type_code |
| 400 | MOV_PAYER_ACCOUNT_UNSUPPORTED | Debtor account provided can't be used for MPS debits |
| 400 | MOV_INVALID_BANK_ACCOUNT | The account provided does not belong to the current institution. |
| 408 | MOV_REQUEST_TIMEOUT | Request timed out. Please try again after some time. |
| 400 | MOV_NPP_PAYMENT_NOT_SUPPORTED | Payee account cannot receive NPP Payments |
| 404 | MOV_PAYEE_DETAIL_ERROR | Incorrect Payee Details |
| 409 | MOV_BANKING_PARTNER_ERROR | Unexpected error with banking partner. Contact Monoova for more details |
| 403 | MOV_CONFIGURATION_ERROR | Configuration error. Contact Monoova |
| 400 | MOV_AMEND_STATUS_VALIDATION_FAILED | Unexpected validation error with amend status. Correct payload and retry |
| 403 | MOV_PERMISSION_DENIED | Configuration error. You do not have permission to perform this action. Contact Monoova |
| 400 | MOV_INVALID_BSB | Invalid BSB number |
| 400 | MOV_VALIDATION_FAILED | Unexpected validation error. Contact Monoova |
- name: Payment Initiation Status
description:
| Code |
Description |
| R001 | Creditor agent is not online |
| R002 | Account to be debited does not exist |
| R003 | Account to be Credited does not exist |
| R004 | The original Payer Customer Account number is closed |
| R005 | Account exists but is blocked |
| R006 | Account is now closed |
| R007 | Debtor account type is invalid |
| R008 | Creditor account type is invalid |
| R009 | Payer account is not valid |
| R010 | Transaction has been forbidden |
| R011 | Payment was rejected by the payee |
| R012 | Debtor account cannot be debited |
| R013 | Use of zero-dollar payment initiation requests is prohibited. |
| R014 | The amount requested is greater than the maximum NPP limit of $99,999,999,999 |
| R015 | Specified message amount is a non-processable currency outside of existing agreement |
| R016 | Amount of funds available to cover specified message amount is insufficient |
| R017 | Specified transaction amount is less than agreed minimum. |
| R018 | Amount received is not the amount agreed or expected |
| R019 | The amount in the NPP Payment Initiation Request is missing or invalid |
| R020 | Number of transactions at the Group level is invalid or missing |
| R021 | The amount requested in the NPP Payment Initiation Request exceeds the agreed limit |
| R022 | Reject the NPP Payment Initiation Request as the Creditor is unknown to Debtor |
| R023 | End customer specified is not known at associated Sort/National Bank Code or does no longer exist in the books |
| R024 | Debtor Name not provided |
| R025 | Creditor Name not provided |
| R026 | Number of decimal points not compatible with the currency |
| R027 | Required Compulsory Element Missing |
| R028 | The currency included in the Clearing Request is incorrect (value other than AUD). |
| R029 | Cancellation requested by the Debtor |
| R030 | The CreationDateTime in the Group Header is not as per the required format |
| R031 | The Business Service does not support future dated NPP Payment Initiation Requests |
| R032 | Check with Monoova on possible Outage. Retry again after sometime. |
| R033 | Check with Monoova on possible Outage. Retry again after sometime. |
| R034 | End to End Id missing or invalid for catsct payment Instruction. |
| R035 | Invalid or not applicable character set |
| R036 | Creditor Reference Must be equal to End to End Id of payment instruction for catsct |
| R037 | Check with Monoova on possible Outage. Retry again after sometime. |
| R038 | Payer institution is unavailable |
| R039 | Payer institution is unavailable |
| R040 | Payer institution is unavailable |
| R041 | Payer PayId is not valid. Update the payment agreement with a valid PayId to proceed with payment initiation |
| R042 | Payer PayId is not valid. Update the payment agreement with a valid PayId to proceed with payment initiation |
| R043 | Payer BSB is not valid. Update the payment agreement with a valid BSB to proceed with payment initiation |
| R044 | Payer BSB is not valid. Update the payment agreement with a valid BSB to proceed with payment initiation |
| R045 | BO Service Code is not valid. Modify the Mandate with the correct BO Service Code |
| R046 | BO Service Code is not valid. Modify the Mandate with the correct BO Service Code |
| R047 | Payer is no longer reachable on NPP. Cancel the Mandate |
| R048 | Payer is no longer reachable on NPP. Cancel the Mandate |
| R049 | Payee Account Details are not present in Mandate and Client also has not provided Creditor Account Details in the Initiation Request. Either Modify the Mandate or provide the Creditor Account Details in the Request |
| R050 | Creditor PayId has been ported, amend the payment agreement to reflect correct PayId institution |
| R051 | Payer PayId has been ported, amend the payment agreement to reflect correct PayId institution |
| R052 | Payee account details in the payment initiation do not match the payment agreement |
| R053 | Payee PayId in the payment initiation do not match the payment agreement |
| R054 | Verify the details of the Mandate, if creditor details are not present, it must be provided in input request |
| R055 | Unable to locate Payment Instruction record |
| R056 | Mandate validation failed. Verify the details of the Mandate |
| R057 | Verify the details of the Mandate, if creditor account/alias details are correct, don't send creditor account/alias details in input request |
| R058 | Verify the status of previous payment instruction if it is valid for business retry |
| R059 | The NPP Payment Initiation Request did not contain a MandateId |
| R060 | Invalid Payment Agreement |
| R061 | Payment Agreement is expired |
| R062 | Reason has not been specified by end customer |
| R063 | Permission to process this payment is not granted |
| R064 | Payer institution is unavailable. Please try again later. |
| R065 | The BIC identifier in the Message Payload is invalid or missing |
| R066 | Due to specific service offered by the Debtor Agent |
| R067 | The Creditor did not appear on the Debtors whitelist |
| R068 | The Creditor did appear on the Debtors blacklist |
| R069 | The NPP Payment Initiation Request was rejected because the number of transactions requested exceeds the Debtor Agent offering. |
| R070 | The NPP Payment Initiation Request was rejected because the total value of transactions requested exceeds the Debtor Agent offering. |
| R999 | Unexpected System Error |
- name: Mandate Status Reason Codes
description:
When a payer makes a change to a payment agreement (for example authorising or cancelling a payment agreement through their banking app) payment agreement, Monoova will send a webhook to notify the initiator. Payment Agreement webhooks will provide the data included in the create payment agreement schema
Event name: PaymentAgreementNotification
These webhook can be subscribed using API's provided in