---
title: Receive Rtgs/Imt Status Webhook
slug: api/receive-rtgsimt-status-webhook
docTags: 
createdAt: 2026-09-11T04:19:29.965Z
---

{
  "id": "T5wtrTROGeI8SHfnEk45U",
  "type": "api-oas-v2",
  "data": {
    "method": "POST",
    "url": "https://api.mpay.com.au/INBOUNDRTGSIMTSTATUSEVENTWEBHOOK_TARGET_URL",
    "servers": [
      {
        "url": "https://api.mpay.com.au/INBOUNDRTGSIMTSTATUSEVENTWEBHOOK_TARGET_URL",
        "description": "Production URL"
      },
      {
        "url": "https://api.m-pay.com.au/INBOUNDRTGSIMTSTATUSEVENTWEBHOOK_TARGET_URL",
        "description": "Sandbox URL"
      }
    ],
    "name": "Receive Rtgs/Imt Status Webhook",
    "description": "<p>Subscribing to the RTGS/IMT status event webhook allows Monoova to notify you when the status of an RTGS or IMT transaction changes.</p>\n<p><strong>Event name:</strong> <code>InboundRtgsImtStatus</code></p>",
    "contentType": "application/json",
    "request": {
      "pathParameters": [],
      "headerParameters": [
        {
          "kind": "optional",
          "name": "Authorisation",
          "type": "string",
          "example": "******",
          "description": "<p><strong>Optional</strong>. Shared secret that Monoova echoes back on every callback so your endpoint can authenticate the caller. The value is the one you registered on the subscription and is masked in this document. Omitted when no authorisation value was registered. Compare it in constant time and reject the notification with a 401 if it does not match.</p>",
          "default": "******",
          "pattern": "^[\\x20-\\x7E]{1,512}$"
        },
        {
          "kind": "optional",
          "name": "Verification-Signature",
          "type": "string",
          "example": "e+AFAj2W69rAwbsGn+rSSnFm2ISEblo0MXnx9Qtoh2k5mst1cEEpcrVSzGLjzOPlEL2Ea/iYLbFGzDdxVRTcNLINOhsXM/smimNjBt8sq30FbvSNMjlfDnrZ6FOIkl3E3cu9B+M4OVL8HafPohb67IRNDNyCnCvBM10qHrioiak=",
          "description": "<p><strong>Optional</strong> in the schema, but sent by Monoova on every notification. A base64 encoded cryptographic signature used to verify both the integrity of the message and that Monoova is its source. The hashing method is SHA256 and the public key can be retrieved from <code>/public/v1/certificate/public-key</code>. Verify it before you act on the payload, and reject the notification with a 401 if verification fails.</p>",
          "default": "e+AFAj2W69rAwbsGn+rSSnFm2ISEblo0MXnx9Qtoh2k5mst1cEEpcrVSzGLjzOPlEL2Ea/iYLbFGzDdxVRTcNLINOhsXM/smimNjBt8sq30FbvSNMjlfDnrZ6FOIkl3E3cu9B+M4OVL8HafPohb67IRNDNyCnCvBM10qHrioiak=",
          "pattern": "^[A-Za-z0-9+/]+={0,2}$"
        },
        {
          "kind": "optional",
          "name": "Webhookid",
          "type": "integer<int64>",
          "example": 1234567,
          "description": "<p><strong>Optional</strong>. Unique identifier for this webhook notification. Store it and treat a repeat of the same value as a redelivery of a notification you have already processed. Pattern: <code>^\\d{1,19}$</code>.</p>",
          "default": 1234567,
          "format": "int64"
        }
      ],
      "queryParameters": [],
      "bodyDataParameters": [
        {
          "kind": "required",
          "name": "body",
          "type": "object",
          "example": "{\"TransactionId\":\"884231705\",\"TransactionReferenceNumber\":\"FT26091012345678\",\"Date\":\"2026-09-10\",\"ProcessedDateTime\":\"2026-09-10T14:32:11\",\"Amount\":\"150.00\",\"Status\":\"Cleared\",\"AccountNumber\":\"300000123\",\"AccountName\":\"Acme Pty Ltd\",\"BSB\":\"802-985\",\"LodgementRef\":\"ACME INV 10023\",\"SourceDetails\":\"PAYMENT FOR SERVICES RENDERED\",\"SendingOrganisation\":\"Global Remit Ltd\",\"ReceivingOrganisation\":\"Acme Pty Ltd\",\"OrderingInstitution\":\"HSBC BANK AUSTRALIA LIMITED\",\"OriginatingAddress\":\"12 George St, Sydney NSW 2000, AU\",\"RejectReasonDescription\":\"Beneficiary account closed\",\"LedgerAccountNumber\":\"4210000012345678\",\"LedgerUniqueReference\":\"ACME-LEDGER-0007\"}",
          "description": "<p>Payload sent when the status of an inbound RTGS or IMT transaction changes. Sent for the <code>InboundRtgsImtStatus</code> event.</p>",
          "customType": "WebhookInboundRtgsImtNotification",
          "schema": [
            {
              "name": "TransactionId",
              "kind": "optional",
              "type": "string",
              "description": "<p><strong>Required</strong>. Monoova transaction identifier for the RTGS/IMT transaction.</p>",
              "example": "884231705",
              "default": "884231705",
              "pattern": "^\\d{1,19}$"
            },
            {
              "name": "TransactionReferenceNumber",
              "kind": "optional",
              "type": "string",
              "description": "<p><strong>Required</strong>. Reference number assigned to the transaction by the sending institution. Quote it when tracing the payment with that institution.</p>",
              "example": "FT26091012345678",
              "default": "FT26091012345678",
              "pattern": "^[A-Za-z0-9\\-\\/]{1,35}$"
            },
            {
              "name": "Date",
              "kind": "optional",
              "type": "string",
              "description": "<p><strong>Required</strong>. Value date of the RTGS/IMT transaction.</p>",
              "example": "2026-09-10",
              "default": "2026-09-10",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
            },
            {
              "name": "ProcessedDateTime",
              "kind": "optional",
              "type": "string",
              "description": "<p><strong>Required</strong>. Date and time Monoova processed this status change, in Sydney local time (AEST/AEDT).</p>",
              "example": "2026-09-10T14:32:11",
              "default": "2026-09-10T14:32:11",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}([T ]\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,7})?)?$"
            },
            {
              "name": "Amount",
              "kind": "optional",
              "type": "string",
              "description": "<p><strong>Required</strong>. Value of the transaction in AUD, expressed as a decimal string with exactly two decimal places for cents. Never negative.</p>",
              "example": "150.00",
              "default": "150.00",
              "pattern": "^\\d{1,13}\\.\\d{2}$"
            },
            {
              "name": "Status",
              "kind": "optional",
              "type": "string",
              "description": "<p><strong>Required</strong>. Current status of the RTGS/IMT transaction. See the Monoova transaction status reference for the full list of values.</p>",
              "example": "Cleared",
              "default": "Cleared",
              "pattern": "^[A-Za-z ]{1,40}$"
            },
            {
              "name": "AccountNumber",
              "kind": "optional",
              "type": "string",
              "description": "<p><strong>Required</strong>. Account number the funds were credited to.</p>",
              "example": "300000123",
              "default": "300000123",
              "pattern": "^\\d{5,10}$"
            },
            {
              "name": "AccountName",
              "kind": "optional",
              "type": "string",
              "description": "<p><strong>Optional</strong>. Account name registered against the receiving account.</p>",
              "example": "Acme Pty Ltd",
              "default": "Acme Pty Ltd",
              "pattern": "^.{0,140}$"
            },
            {
              "name": "BSB",
              "kind": "optional",
              "type": "string",
              "description": "<p><strong>Required</strong>. BSB of the receiving account. Six digits, with or without the conventional hyphen after the third digit.</p>",
              "example": "802-985",
              "default": "802-985",
              "pattern": "^\\d{3}-?\\d{3}$"
            },
            {
              "name": "LodgementRef",
              "kind": "optional",
              "type": "string",
              "description": "<p><strong>Optional</strong>. Lodgement reference supplied with the transaction by the sending institution.</p>",
              "example": "ACME INV 10023",
              "default": "ACME INV 10023",
              "pattern": "^.{0,18}$"
            },
            {
              "name": "SourceDetails",
              "kind": "optional",
              "type": "string",
              "description": "<p><strong>Optional</strong>. Free-text detail about the source of funds, as supplied by the sending institution.</p>",
              "example": "PAYMENT FOR SERVICES RENDERED",
              "default": "PAYMENT FOR SERVICES RENDERED",
              "pattern": "^.{0,280}$"
            },
            {
              "name": "SendingOrganisation",
              "kind": "optional",
              "type": "string",
              "description": "<p><strong>Optional</strong>. Name of the organisation that sent the transaction.</p>",
              "example": "Global Remit Ltd",
              "default": "Global Remit Ltd",
              "pattern": "^.{0,140}$"
            },
            {
              "name": "ReceivingOrganisation",
              "kind": "optional",
              "type": "string",
              "description": "<p><strong>Optional</strong>. Name of the organisation receiving the transaction.</p>",
              "example": "Acme Pty Ltd",
              "default": "Acme Pty Ltd",
              "pattern": "^.{0,140}$"
            },
            {
              "name": "OrderingInstitution",
              "kind": "optional",
              "type": "string",
              "description": "<p><strong>Optional</strong>. Financial institution that instructed the transfer on behalf of the payer.</p>",
              "example": "HSBC BANK AUSTRALIA LIMITED",
              "default": "HSBC BANK AUSTRALIA LIMITED",
              "pattern": "^.{0,140}$"
            },
            {
              "name": "OriginatingAddress",
              "kind": "optional",
              "type": "string",
              "description": "<p><strong>Optional</strong>. Address of the originating party, as supplied by the sending institution.</p>",
              "example": "12 George St, Sydney NSW 2000, AU",
              "default": "12 George St, Sydney NSW 2000, AU",
              "pattern": "^.{0,280}$"
            },
            {
              "name": "RejectReasonDescription",
              "kind": "optional",
              "type": "string",
              "description": "<p><strong>Conditional</strong>. Returned only when <code>Status</code> indicates the transaction was rejected. Plain-language reason for the rejection. Absent on a successful transaction.</p>",
              "example": "Beneficiary account closed",
              "default": "Beneficiary account closed",
              "pattern": "^.{1,280}$"
            },
            {
              "name": "LedgerAccountNumber",
              "kind": "optional",
              "type": "string",
              "description": "<p><strong>Conditional</strong>. Returned when the funds were allocated to a Monoova ledger account. Holds the 16-digit ledger account number that was credited. Absent when no ledger allocation applies.</p>",
              "example": "4210000012345678",
              "default": "4210000012345678",
              "pattern": "^\\d{16}$"
            },
            {
              "name": "LedgerUniqueReference",
              "kind": "optional",
              "type": "string",
              "description": "<p><strong>Conditional</strong>. Returned alongside <code>LedgerAccountNumber</code>. Your own unique reference registered against that ledger account, used to tie the credit back to your customer record.</p>",
              "example": "ACME-LEDGER-0007",
              "default": "ACME-LEDGER-0007",
              "pattern": "^.{1,64}$"
            }
          ],
          "modelRef": "#/components/schemas/WebhookInboundRtgsImtNotification",
          "isExpanded": true
        }
      ],
      "formDataParameters": [],
      "oAuthParameters": [],
      "cookieParameters": []
    },
    "responses": [
      {
        "statusCode": "200",
        "description": "<p><strong>Success.</strong> The notification passed validation and your endpoint has accepted responsibility for it. Return this as soon as the payload is persisted — do not wait for downstream processing. Monoova treats any 2xx as a successful delivery and will not retry.</p>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "example": "{\"status\":\"Received\",\"webhookId\":1234567,\"receivedAt\":\"2026-09-10T14:32:12\"}",
            "description": "<p>Body your endpoint returns to acknowledge a notification. The body is optional — Monoova treats any 2xx status as a successful delivery — but returning it makes your acknowledgements easier to trace.</p>",
            "customType": "WebhookAcknowledgement",
            "schema": [
              {
                "name": "status",
                "kind": "optional",
                "type": "string<Received>",
                "description": "<p><strong>Required</strong>. Confirms the notification was accepted for processing. Return the literal value <code>Received</code>.</p>",
                "example": "Received",
                "default": "Received",
                "enum": [
                  "Received"
                ],
                "pattern": "^Received$"
              },
              {
                "name": "webhookId",
                "kind": "optional",
                "type": "integer<int64>",
                "description": "<p><strong>Optional</strong>. Echo of the <code>Webhookid</code> request header, so the acknowledgement can be matched to Monoova's delivery log. Pattern: <code>^\\d{1,19}$</code>.</p>",
                "example": 1234567,
                "default": 1234567,
                "format": "int64"
              },
              {
                "name": "receivedAt",
                "kind": "optional",
                "type": "string",
                "description": "<p><strong>Optional</strong>. Date and time your endpoint accepted the notification, in ISO 8601 format.</p>",
                "example": "2026-09-10T14:32:12",
                "default": "2026-09-10T14:32:12",
                "pattern": "^\\d{4}-\\d{2}-\\d{2}([T ]\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,7})?)?$"
              }
            ],
            "modelRef": "#/components/schemas/WebhookAcknowledgement",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "400",
        "description": "<p><strong>Bad Request.</strong> The notification could not be parsed, or a field failed your validation. Monoova will not retry a notification that is rejected with a 400, so return it only for a genuinely malformed payload — never for a transient fault on your side.</p>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "example": "{\"status\":\"Rejected\",\"errorCode\":\"INVALID_PAYLOAD\",\"errorMessage\":\"Field 'Amount' is not a valid decimal value.\",\"webhookId\":1234567,\"receivedAt\":\"2026-09-10T14:32:12\"}",
            "description": "<p>Body your endpoint returns when a notification cannot be accepted. Returned with a 400, 401 or 500 status.</p>",
            "customType": "WebhookErrorResponse",
            "schema": [
              {
                "name": "status",
                "kind": "optional",
                "type": "string<Rejected | Unauthorised | Error>",
                "description": "<p><strong>Required</strong>. Processing outcome. Return <code>Rejected</code> with a 400, <code>Unauthorised</code> with a 401 and <code>Error</code> with a 500.</p>",
                "example": "Rejected",
                "default": "Rejected",
                "enum": [
                  "Rejected",
                  "Unauthorised",
                  "Error"
                ],
                "pattern": "^(Rejected|Unauthorised|Error)$"
              },
              {
                "name": "errorCode",
                "kind": "optional",
                "type": "string",
                "description": "<p><strong>Required</strong>. Machine-readable code identifying the failure, in upper snake case. Keep the value stable so Monoova support can group repeated failures.</p>",
                "example": "INVALID_PAYLOAD",
                "default": "INVALID_PAYLOAD",
                "pattern": "^[A-Z][A-Z0-9_]{2,49}$"
              },
              {
                "name": "errorMessage",
                "kind": "optional",
                "type": "string",
                "description": "<p><strong>Required</strong>. Human-readable explanation of the failure. Do not include payment data or credentials in this field.</p>",
                "example": "Field 'Amount' is not a valid decimal value.",
                "default": "Field 'Amount' is not a valid decimal value.",
                "pattern": "^.{1,500}$"
              },
              {
                "name": "webhookId",
                "kind": "optional",
                "type": "integer<int64>",
                "description": "<p><strong>Optional</strong>. Echo of the <code>Webhookid</code> request header, so the failure can be matched to Monoova's delivery log. Pattern: <code>^\\d{1,19}$</code>.</p>",
                "example": 1234567,
                "default": 1234567,
                "format": "int64"
              },
              {
                "name": "receivedAt",
                "kind": "optional",
                "type": "string",
                "description": "<p><strong>Optional</strong>. Date and time your endpoint received the notification, in ISO 8601 format.</p>",
                "example": "2026-09-10T14:32:12",
                "default": "2026-09-10T14:32:12",
                "pattern": "^\\d{4}-\\d{2}-\\d{2}([T ]\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,7})?)?$"
              }
            ],
            "modelRef": "#/components/schemas/WebhookErrorResponse",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "401",
        "description": "<p><strong>Unauthorised.</strong> The <code>Authorisation</code> header was missing or did not match the value registered on the subscription, or the <code>Verification-Signature</code> header failed SHA256 verification against the Monoova public key. Return this without processing the payload.</p>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "example": "{\"status\":\"Unauthorised\",\"errorCode\":\"SIGNATURE_VERIFICATION_FAILED\",\"errorMessage\":\"Verification-Signature did not match the Monoova public key.\",\"webhookId\":1234567,\"receivedAt\":\"2026-09-10T14:32:12\"}",
            "description": "<p>Body your endpoint returns when a notification cannot be accepted. Returned with a 400, 401 or 500 status.</p>",
            "customType": "WebhookErrorResponse",
            "schema": [
              {
                "name": "status",
                "kind": "optional",
                "type": "string<Rejected | Unauthorised | Error>",
                "description": "<p><strong>Required</strong>. Processing outcome. Return <code>Rejected</code> with a 400, <code>Unauthorised</code> with a 401 and <code>Error</code> with a 500.</p>",
                "example": "Rejected",
                "default": "Rejected",
                "enum": [
                  "Rejected",
                  "Unauthorised",
                  "Error"
                ],
                "pattern": "^(Rejected|Unauthorised|Error)$"
              },
              {
                "name": "errorCode",
                "kind": "optional",
                "type": "string",
                "description": "<p><strong>Required</strong>. Machine-readable code identifying the failure, in upper snake case. Keep the value stable so Monoova support can group repeated failures.</p>",
                "example": "INVALID_PAYLOAD",
                "default": "INVALID_PAYLOAD",
                "pattern": "^[A-Z][A-Z0-9_]{2,49}$"
              },
              {
                "name": "errorMessage",
                "kind": "optional",
                "type": "string",
                "description": "<p><strong>Required</strong>. Human-readable explanation of the failure. Do not include payment data or credentials in this field.</p>",
                "example": "Field 'Amount' is not a valid decimal value.",
                "default": "Field 'Amount' is not a valid decimal value.",
                "pattern": "^.{1,500}$"
              },
              {
                "name": "webhookId",
                "kind": "optional",
                "type": "integer<int64>",
                "description": "<p><strong>Optional</strong>. Echo of the <code>Webhookid</code> request header, so the failure can be matched to Monoova's delivery log. Pattern: <code>^\\d{1,19}$</code>.</p>",
                "example": 1234567,
                "default": 1234567,
                "format": "int64"
              },
              {
                "name": "receivedAt",
                "kind": "optional",
                "type": "string",
                "description": "<p><strong>Optional</strong>. Date and time your endpoint received the notification, in ISO 8601 format.</p>",
                "example": "2026-09-10T14:32:12",
                "default": "2026-09-10T14:32:12",
                "pattern": "^\\d{4}-\\d{2}-\\d{2}([T ]\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,7})?)?$"
              }
            ],
            "modelRef": "#/components/schemas/WebhookErrorResponse",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "500",
        "description": "<p><strong>Internal Server Error.</strong> Your endpoint accepted the notification but could not process it because of a fault on your side. Monoova retries a notification that fails with a 5xx, so return this — rather than a 400 — whenever the failure is transient and a redelivery could succeed.</p>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "example": "{\"status\":\"Error\",\"errorCode\":\"DOWNSTREAM_UNAVAILABLE\",\"errorMessage\":\"Ledger service unavailable; retry delivery.\",\"webhookId\":1234567,\"receivedAt\":\"2026-09-10T14:32:12\"}",
            "description": "<p>Body your endpoint returns when a notification cannot be accepted. Returned with a 400, 401 or 500 status.</p>",
            "customType": "WebhookErrorResponse",
            "schema": [
              {
                "name": "status",
                "kind": "optional",
                "type": "string<Rejected | Unauthorised | Error>",
                "description": "<p><strong>Required</strong>. Processing outcome. Return <code>Rejected</code> with a 400, <code>Unauthorised</code> with a 401 and <code>Error</code> with a 500.</p>",
                "example": "Rejected",
                "default": "Rejected",
                "enum": [
                  "Rejected",
                  "Unauthorised",
                  "Error"
                ],
                "pattern": "^(Rejected|Unauthorised|Error)$"
              },
              {
                "name": "errorCode",
                "kind": "optional",
                "type": "string",
                "description": "<p><strong>Required</strong>. Machine-readable code identifying the failure, in upper snake case. Keep the value stable so Monoova support can group repeated failures.</p>",
                "example": "INVALID_PAYLOAD",
                "default": "INVALID_PAYLOAD",
                "pattern": "^[A-Z][A-Z0-9_]{2,49}$"
              },
              {
                "name": "errorMessage",
                "kind": "optional",
                "type": "string",
                "description": "<p><strong>Required</strong>. Human-readable explanation of the failure. Do not include payment data or credentials in this field.</p>",
                "example": "Field 'Amount' is not a valid decimal value.",
                "default": "Field 'Amount' is not a valid decimal value.",
                "pattern": "^.{1,500}$"
              },
              {
                "name": "webhookId",
                "kind": "optional",
                "type": "integer<int64>",
                "description": "<p><strong>Optional</strong>. Echo of the <code>Webhookid</code> request header, so the failure can be matched to Monoova's delivery log. Pattern: <code>^\\d{1,19}$</code>.</p>",
                "example": 1234567,
                "default": 1234567,
                "format": "int64"
              },
              {
                "name": "receivedAt",
                "kind": "optional",
                "type": "string",
                "description": "<p><strong>Optional</strong>. Date and time your endpoint received the notification, in ISO 8601 format.</p>",
                "example": "2026-09-10T14:32:12",
                "default": "2026-09-10T14:32:12",
                "pattern": "^\\d{4}-\\d{2}-\\d{2}([T ]\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,7})?)?$"
              }
            ],
            "modelRef": "#/components/schemas/WebhookErrorResponse",
            "isExpanded": true
          }
        ]
      }
    ],
    "hasXCodeSamples": false,
    "examples": {
      "languages": [
        {
          "id": "zvLHbowZCtd6DI7mC6Deu",
          "language": "curl",
          "label": "cURL",
          "code": "curl --request POST \\\n     --url https://api.mpay.com.au/INBOUNDRTGSIMTSTATUSEVENTWEBHOOK_TARGET_URL \\\n     --header 'accept: application/json' \\\n     --header 'content-type: application/json' \\\n     --header 'authorisation: ******' \\\n     --header 'verification-signature: e+AFAj2W69rAwbsGn+rSSnFm2ISEblo0MXnx9Qtoh2k5mst1cEEpcrVSzGLjzOPlEL2Ea/iYLbFGzDdxVRTcNLINOhsXM/smimNjBt8sq30FbvSNMjlfDnrZ6FOIkl3E3cu9B+M4OVL8HafPohb67IRNDNyCnCvBM10qHrioiak=' \\\n     --header 'webhookid: 1234567' \\\n     --data '{\n     \"TransactionId\": \"884231705\",\n     \"TransactionReferenceNumber\": \"FT26091012345678\",\n     \"Date\": \"2026-09-10\",\n     \"ProcessedDateTime\": \"2026-09-10T14:32:11\",\n     \"Amount\": \"150.00\",\n     \"Status\": \"Cleared\",\n     \"AccountNumber\": \"300000123\",\n     \"AccountName\": \"Acme Pty Ltd\",\n     \"BSB\": \"802-985\",\n     \"LodgementRef\": \"ACME INV 10023\",\n     \"SourceDetails\": \"PAYMENT FOR SERVICES RENDERED\",\n     \"SendingOrganisation\": \"Global Remit Ltd\",\n     \"ReceivingOrganisation\": \"Acme Pty Ltd\",\n     \"OrderingInstitution\": \"HSBC BANK AUSTRALIA LIMITED\",\n     \"OriginatingAddress\": \"12 George St, Sydney NSW 2000, AU\",\n     \"RejectReasonDescription\": \"Beneficiary account closed\",\n     \"LedgerAccountNumber\": \"4210000012345678\",\n     \"LedgerUniqueReference\": \"ACME-LEDGER-0007\"\n     }'"
        },
        {
          "id": "GIiIOJmh_ege8uL_D2SjU",
          "language": "javascript",
          "label": "javascript",
          "code": "var myHeaders = new Headers();\nmyHeaders.append(\"accept\", \"application/json\");\nmyHeaders.append(\"content-type\", \"application/json\");\nmyHeaders.append(\"authorisation\", \"******\");\nmyHeaders.append(\"verification-signature\", \"e+AFAj2W69rAwbsGn+rSSnFm2ISEblo0MXnx9Qtoh2k5mst1cEEpcrVSzGLjzOPlEL2Ea/iYLbFGzDdxVRTcNLINOhsXM/smimNjBt8sq30FbvSNMjlfDnrZ6FOIkl3E3cu9B+M4OVL8HafPohb67IRNDNyCnCvBM10qHrioiak=\");\nmyHeaders.append(\"webhookid\", \"1234567\");\n\nvar raw = JSON.stringify({\n   \"TransactionId\": \"884231705\",\n   \"TransactionReferenceNumber\": \"FT26091012345678\",\n   \"Date\": \"2026-09-10\",\n   \"ProcessedDateTime\": \"2026-09-10T14:32:11\",\n   \"Amount\": \"150.00\",\n   \"Status\": \"Cleared\",\n   \"AccountNumber\": \"300000123\",\n   \"AccountName\": \"Acme Pty Ltd\",\n   \"BSB\": \"802-985\",\n   \"LodgementRef\": \"ACME INV 10023\",\n   \"SourceDetails\": \"PAYMENT FOR SERVICES RENDERED\",\n   \"SendingOrganisation\": \"Global Remit Ltd\",\n   \"ReceivingOrganisation\": \"Acme Pty Ltd\",\n   \"OrderingInstitution\": \"HSBC BANK AUSTRALIA LIMITED\",\n   \"OriginatingAddress\": \"12 George St, Sydney NSW 2000, AU\",\n   \"RejectReasonDescription\": \"Beneficiary account closed\",\n   \"LedgerAccountNumber\": \"4210000012345678\",\n   \"LedgerUniqueReference\": \"ACME-LEDGER-0007\"\n});\n\nvar requestOptions = {\n   method: 'POST',\n   headers: myHeaders,\n   body: raw,\n   redirect: 'follow'\n};\n\nfetch(\"https://api.mpay.com.au/INBOUNDRTGSIMTSTATUSEVENTWEBHOOK_TARGET_URL\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));"
        },
        {
          "id": "_20dnCwEwytViUomoieNh",
          "language": "ruby",
          "label": "Ruby",
          "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://api.mpay.com.au/INBOUNDRTGSIMTSTATUSEVENTWEBHOOK_TARGET_URL\")\n\nhttps = Net::HTTP.new(url.host, url.port)\nhttps.use_ssl = true\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"accept\"] = \"application/json\"\nrequest[\"content-type\"] = \"application/json\"\nrequest[\"authorisation\"] = \"******\"\nrequest[\"verification-signature\"] = \"e+AFAj2W69rAwbsGn+rSSnFm2ISEblo0MXnx9Qtoh2k5mst1cEEpcrVSzGLjzOPlEL2Ea/iYLbFGzDdxVRTcNLINOhsXM/smimNjBt8sq30FbvSNMjlfDnrZ6FOIkl3E3cu9B+M4OVL8HafPohb67IRNDNyCnCvBM10qHrioiak=\"\nrequest[\"webhookid\"] = \"1234567\"\nrequest.body = JSON.dump({\n   \"TransactionId\": \"884231705\",\n   \"TransactionReferenceNumber\": \"FT26091012345678\",\n   \"Date\": \"2026-09-10\",\n   \"ProcessedDateTime\": \"2026-09-10T14:32:11\",\n   \"Amount\": \"150.00\",\n   \"Status\": \"Cleared\",\n   \"AccountNumber\": \"300000123\",\n   \"AccountName\": \"Acme Pty Ltd\",\n   \"BSB\": \"802-985\",\n   \"LodgementRef\": \"ACME INV 10023\",\n   \"SourceDetails\": \"PAYMENT FOR SERVICES RENDERED\",\n   \"SendingOrganisation\": \"Global Remit Ltd\",\n   \"ReceivingOrganisation\": \"Acme Pty Ltd\",\n   \"OrderingInstitution\": \"HSBC BANK AUSTRALIA LIMITED\",\n   \"OriginatingAddress\": \"12 George St, Sydney NSW 2000, AU\",\n   \"RejectReasonDescription\": \"Beneficiary account closed\",\n   \"LedgerAccountNumber\": \"4210000012345678\",\n   \"LedgerUniqueReference\": \"ACME-LEDGER-0007\"\n})\n\nresponse = https.request(request)\nputs response.read_body\n"
        },
        {
          "id": "7z88XrDLBJeBPfMoDoN0D",
          "language": "python",
          "label": "Python",
          "code": "import requests\nimport json\n\nurl = \"https://api.mpay.com.au/INBOUNDRTGSIMTSTATUSEVENTWEBHOOK_TARGET_URL\"\n\npayload = json.dumps({\n   \"TransactionId\": \"884231705\",\n   \"TransactionReferenceNumber\": \"FT26091012345678\",\n   \"Date\": \"2026-09-10\",\n   \"ProcessedDateTime\": \"2026-09-10T14:32:11\",\n   \"Amount\": \"150.00\",\n   \"Status\": \"Cleared\",\n   \"AccountNumber\": \"300000123\",\n   \"AccountName\": \"Acme Pty Ltd\",\n   \"BSB\": \"802-985\",\n   \"LodgementRef\": \"ACME INV 10023\",\n   \"SourceDetails\": \"PAYMENT FOR SERVICES RENDERED\",\n   \"SendingOrganisation\": \"Global Remit Ltd\",\n   \"ReceivingOrganisation\": \"Acme Pty Ltd\",\n   \"OrderingInstitution\": \"HSBC BANK AUSTRALIA LIMITED\",\n   \"OriginatingAddress\": \"12 George St, Sydney NSW 2000, AU\",\n   \"RejectReasonDescription\": \"Beneficiary account closed\",\n   \"LedgerAccountNumber\": \"4210000012345678\",\n   \"LedgerUniqueReference\": \"ACME-LEDGER-0007\"\n})\nheaders = {\n   'accept': 'application/json',\n   'content-type': 'application/json',\n   'authorisation': '******',\n   'verification-signature': 'e+AFAj2W69rAwbsGn+rSSnFm2ISEblo0MXnx9Qtoh2k5mst1cEEpcrVSzGLjzOPlEL2Ea/iYLbFGzDdxVRTcNLINOhsXM/smimNjBt8sq30FbvSNMjlfDnrZ6FOIkl3E3cu9B+M4OVL8HafPohb67IRNDNyCnCvBM10qHrioiak=',\n   'webhookid': '1234567'\n}\n\nresponse = requests.request(\"POST\", url, headers=headers, data=payload)\n\nprint(response.text)\n"
        }
      ],
      "selectedLanguageId": "zvLHbowZCtd6DI7mC6Deu"
    },
    "results": {
      "languages": [
        {
          "id": "0bWl-NdX2S1VhI-p2uMEG",
          "language": "200",
          "code": "// Success. The notification passed validation and your endpoint has accepted responsibility for it. Return this as soon as the payload is persisted — do not wait for downstream processing. Monoova treats any 2xx as a successful delivery and will not retry.\n{\n  \"status\": \"Received\",\n  \"webhookId\": 1234567,\n  \"receivedAt\": \"2026-09-10T14:32:12\"\n}"
        },
        {
          "id": "lVlFRSGSrF72uV8aCaypH",
          "language": "400",
          "code": "// Bad Request. The notification could not be parsed, or a field failed your validation. Monoova will not retry a notification that is rejected with a 400, so return it only for a genuinely malformed payload — never for a transient fault on your side.\n{\n  \"status\": \"Rejected\",\n  \"errorCode\": \"INVALID_PAYLOAD\",\n  \"errorMessage\": \"Field 'Amount' is not a valid decimal value.\",\n  \"webhookId\": 1234567,\n  \"receivedAt\": \"2026-09-10T14:32:12\"\n}"
        },
        {
          "id": "X8yT8G5zYlRGbgnWXU7Wx",
          "language": "401",
          "code": "// Unauthorised. The Authorisation header was missing or did not match the value registered on the subscription, or the Verification-Signature header failed SHA256 verification against the Monoova public key. Return this without processing the payload.\n{\n  \"status\": \"Rejected\",\n  \"errorCode\": \"INVALID_PAYLOAD\",\n  \"errorMessage\": \"Field 'Amount' is not a valid decimal value.\",\n  \"webhookId\": 1234567,\n  \"receivedAt\": \"2026-09-10T14:32:12\"\n}"
        },
        {
          "id": "Mzcq4YdkW5Ugin4vtP5Aj",
          "language": "500",
          "code": "// Internal Server Error. Your endpoint accepted the notification but could not process it because of a fault on your side. Monoova retries a notification that fails with a 5xx, so return this — rather than a 400 — whenever the failure is transient and a redelivery could succeed.\n{\n  \"status\": \"Rejected\",\n  \"errorCode\": \"INVALID_PAYLOAD\",\n  \"errorMessage\": \"Field 'Amount' is not a valid decimal value.\",\n  \"webhookId\": 1234567,\n  \"receivedAt\": \"2026-09-10T14:32:12\"\n}"
        }
      ],
      "selectedLanguageId": "0bWl-NdX2S1VhI-p2uMEG"
    }
  },
  "children": [
    {
      "text": ""
    }
  ]
}