---
title: Receivables Refund
slug: api/receivables-refund
docTags: 
createdAt: 2025-07-21T23:55:15.400Z
---

{
  "id": "hIktpMzaPrzcxi8NNvyGY",
  "type": "api-oas-v2",
  "data": {
    "method": "POST",
    "url": "https://api.mpay.com.au/receivables/v2/refund",
    "servers": [
      {
        "url": "https://api.mpay.com.au/receivables/v2/refund",
        "description": "Production URL"
      },
      {
        "url": "https://api.m-pay.com.au/receivables/v2/refund",
        "description": "Sandbox URL"
      }
    ],
    "name": "Receivables Refund",
    "description": "<p>The refund API allows the transfer funds back to the payer for transactions received via EFT. The funds are sent to details as supplied by the payer institution. Please note that not all institutions provide valid payer details, in some cases the refund will not be successful. NPP payments can only be refunded 5 minutes after receiving the original payment.</p>",
    "contentType": "application/json",
    "request": {
      "pathParameters": [],
      "headerParameters": [],
      "queryParameters": [],
      "bodyDataParameters": [
        {
          "kind": "required",
          "name": "body",
          "type": "object",
          "description": "",
          "customType": "cuscalRefundBody_V2",
          "schema": [
            {
              "name": "UniqueReference",
              "kind": "optional",
              "type": "string",
              "description": "This is a unique reference generated by the calling service. This is a nonce. Its use is to determine if a request has already been received by the Engine.",
              "example": ""
            },
            {
              "name": "description",
              "kind": "optional",
              "type": "string",
              "description": "It should be brief but contain sufficient information to identify the transactions. E.g. \"Refund. Inv#123456\".",
              "example": ""
            },
            {
              "name": "paymentInitiationUid",
              "kind": "optional",
              "type": "string",
              "description": "PayTo payment initiation UID.",
              "example": ""
            },
            {
              "name": "refundReference",
              "kind": "optional",
              "type": "string",
              "description": "Payment reference indicating details of the origin of the entry.",
              "example": ""
            },
            {
              "name": "originalTransactionId",
              "kind": "optional",
              "type": "string",
              "description": "This is the transactionId that was returned when the transaction was executed.",
              "example": ""
            },
            {
              "name": "refundAmount",
              "kind": "optional",
              "type": "string",
              "description": "This is the refund amount. RefundAmount can be less than or equal to the original transaction amount. Refund amount should equal the original transaction amount for international receivables.",
              "example": ""
            }
          ],
          "modelRef": "#/components/schemas/cuscalRefundBody_V2",
          "isExpanded": true
        }
      ],
      "formDataParameters": [],
      "oAuthParameters": [
        {
          "id": "basicAuth",
          "name": "basicAuth",
          "kind": "optional",
          "type": "http",
          "scheme": "basic"
        }
      ]
    },
    "responses": [
      {
        "statusCode": "200",
        "description": "successful validation",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "customType": "cuscalRefundResponse_V2",
            "schema": [
              {
                "name": "durationMs",
                "kind": "optional",
                "type": "integer<int64>",
                "description": "This value represents the total time in milliseconds that the Platform took to process the request.",
                "example": 0
              },
              {
                "name": "statusDescription",
                "kind": "optional",
                "type": "string",
                "description": "This is a description of the status. If an 'Ok' status is returned, then this will be 'Operation completed successfully'.",
                "example": ""
              },
              {
                "name": "feeAmountExcludingGst",
                "kind": "optional",
                "type": "number<decimal>",
                "description": "Fee amount excluding GST.",
                "example": ""
              },
              {
                "name": "transactionId",
                "kind": "optional",
                "type": "integer<int32>",
                "description": "Unique ID for the transaction.",
                "example": 0
              },
              {
                "name": "callerUniqueReference",
                "kind": "optional",
                "type": "string",
                "description": "Caller unique reference.",
                "example": ""
              },
              {
                "name": "feeAmountIncludingGst",
                "kind": "optional",
                "type": "number<decimal>",
                "description": "Fee amount including GST.",
                "example": ""
              },
              {
                "name": "status",
                "kind": "optional",
                "type": "string",
                "description": "This is the status of the request. A code of 'Ok' indicates no errors.",
                "example": ""
              },
              {
                "name": "feeAmountGstComponent",
                "kind": "optional",
                "type": "number<decimal>",
                "description": "GST component of the fee amount.",
                "example": ""
              }
            ],
            "modelRef": "#/components/schemas/cuscalRefundResponse_V2",
            "isExpanded": true
          }
        ]
      }
    ],
    "hasXCodeSamples": false,
    "examples": {
      "languages": [
        {
          "id": "BiuwxinW6dOR35hNSIiKK",
          "language": "curl",
          "label": "cURL",
          "code": "curl --request POST \\\n     --url https://api.mpay.com.au/receivables/v2/refund \\\n     --header 'accept: application/json'"
        },
        {
          "id": "ZiO0oe4wTy3-cXpuNFfXx",
          "language": "javascript",
          "label": "javascript",
          "code": "var myHeaders = new Headers();\nmyHeaders.append(\"accept\", \"application/json\");\nmyHeaders.append(\"content-type\", \"application/json\");\n\nvar requestOptions = {\n   method: 'POST',\n   headers: myHeaders,\n   redirect: 'follow'\n};\n\nfetch(\"https://api.mpay.com.au/receivables/v2/refund\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));"
        },
        {
          "id": "E8Xb2b_sc4KZ-h3Zwgr-h",
          "language": "ruby",
          "label": "Ruby",
          "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://api.mpay.com.au/receivables/v2/refund\")\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\"\n\nresponse = https.request(request)\nputs response.read_body\n"
        },
        {
          "id": "5IP2cAKtGoKrLGxGEy9Yq",
          "language": "python",
          "label": "Python",
          "code": "import requests\nimport json\n\nurl = \"https://api.mpay.com.au/receivables/v2/refund\"\n\npayload = {}\nheaders = {\n   'accept': 'application/json',\n   'content-type': 'application/json'\n}\n\nresponse = requests.request(\"POST\", url, headers=headers, data=payload)\n\nprint(response.text)\n"
        },
        {
          "id": "NxrgahknxaaoNRrGmcS6N",
          "language": "php",
          "label": "PHP",
          "code": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, array(\n   CURLOPT_URL => 'https://api.mpay.com.au/receivables/v2/refund',\n   CURLOPT_RETURNTRANSFER => true,\n   CURLOPT_ENCODING => '',\n   CURLOPT_MAXREDIRS => 10,\n   CURLOPT_TIMEOUT => 0,\n   CURLOPT_FOLLOWLOCATION => true,\n   CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n   CURLOPT_CUSTOMREQUEST => 'POST',\n   CURLOPT_HTTPHEADER => array(\n      'accept: application/json',\n      'content-type: application/json'\n   ),\n));\n\n$response = curl_exec($curl);\n\ncurl_close($curl);\necho $response;\n"
        }
      ],
      "selectedLanguageId": "BiuwxinW6dOR35hNSIiKK"
    },
    "results": {
      "languages": [
        {
          "id": "PkYfVlO1SqwKG61--6nES",
          "language": "200",
          "code": "// successful validation\n{\n  \"durationMs\": \"\",\n  \"statusDescription\": \"\",\n  \"feeAmountExcludingGst\": \"\",\n  \"transactionId\": \"\",\n  \"callerUniqueReference\": \"\",\n  \"feeAmountIncludingGst\": \"\",\n  \"status\": \"\",\n  \"feeAmountGstComponent\": \"\"\n}"
        }
      ],
      "selectedLanguageId": "PkYfVlO1SqwKG61--6nES"
    }
  },
  "children": [
    {
      "text": ""
    }
  ]
}