---
title: Get BPAY receipts
slug: api/get-bpay-receipts
docTags: 
createdAt: 2026-08-20T02:02:37.496Z
---

{
  "id": "o9Y9CcsAvQA8-JBG8Tbc8",
  "type": "api-oas-v2",
  "data": {
    "method": "POST",
    "url": "https://api.mpay.com.au/bpay/v1/receipts",
    "servers": [
      {
        "url": "https://api.mpay.com.au/bpay/v1/receipts",
        "description": "Production URL"
      },
      {
        "url": "https://api.m-pay.com.au/bpay/v1/receipts",
        "description": "Sandbox URL"
      }
    ],
    "name": "Get BPAY receipts",
    "description": "<p>This API returns the list of BPAY receipts. Note: Filters - one of the below options should be provided by the customer. 1) uniqueReferenceNumber, or 2) billerCode + referenceNumber + date.</p>",
    "contentType": "application/json",
    "request": {
      "pathParameters": [],
      "headerParameters": [
        {
          "name": "accept",
          "type": "string",
          "kind": "optional",
          "description": "Generated from available response content types",
          "enum": [
            "application/json"
          ],
          "default": "application/json"
        }
      ],
      "queryParameters": [],
      "bodyDataParameters": [
        {
          "kind": "required",
          "name": "body",
          "type": "object",
          "description": "<p>The filter used to retrieve BPAY receipts. One filter option must be provided: either uniqueReferenceNumber on its own, or billerCode together with referenceNumber and date.</p>",
          "customType": "bpayReceiptsRequest_V1",
          "schema": [
            {
              "name": "date",
              "kind": "optional",
              "type": "string<date>",
              "description": "<p><strong>Conditional</strong>. The date of the BPAY payment to search for, in ISO 8601 date format (yyyy-MM-dd). Required together with billerCode and referenceNumber when uniqueReferenceNumber is not supplied.</p>",
              "example": "2026-07-23",
              "default": "2026-07-23",
              "format": "date",
              "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
            },
            {
              "name": "billerCode",
              "kind": "optional",
              "type": "string",
              "description": "<p><strong>Conditional</strong>. The BPAY biller code of the payment. Required together with referenceNumber and date when uniqueReferenceNumber is not supplied.</p>",
              "example": "123456",
              "default": "123456",
              "pattern": "^[0-9]+$"
            },
            {
              "name": "referenceNumber",
              "kind": "optional",
              "type": "string",
              "description": "<p><strong>Conditional</strong>. The BPAY Customer Reference Number (CRN) of the payment. Required together with billerCode and date when uniqueReferenceNumber is not supplied.</p>",
              "example": "987654321",
              "default": "987654321",
              "pattern": "^[0-9]+$"
            },
            {
              "name": "uniqueReferenceNumber",
              "kind": "optional",
              "type": "string",
              "description": "<p><strong>Conditional</strong>. The unique reference number assigned to the payment. May be supplied on its own instead of billerCode, referenceNumber and date.</p>",
              "example": "URN1234567890",
              "default": "URN1234567890",
              "pattern": "^[A-Za-z0-9]+$"
            }
          ],
          "modelRef": "#/components/schemas/bpayReceiptsRequest_V1",
          "isExpanded": true
        }
      ],
      "formDataParameters": [],
      "oAuthParameters": [
        {
          "id": "basicAuth",
          "name": "basicAuth",
          "kind": "optional",
          "type": "http",
          "description": "<p>To authenticate using basic authentication, generate an API key and pass it as the username. No password is required.</p>",
          "scheme": "basic"
        }
      ],
      "cookieParameters": []
    },
    "responses": [
      {
        "statusCode": "200",
        "description": "Successful response. The matching BPAY receipts were returned.",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "customType": "bPayReceiptsResponse_V1",
            "schema": [
              {
                "name": "receipts",
                "kind": "optional",
                "type": "array",
                "description": "The array of BPAY receipts that matched the supplied filter.",
                "modelRef": "#/components/schemas/bPayReceiptItemClass",
                "customType": "bPayReceiptItemClass[]",
                "schema": [
                  {
                    "name": "billerName",
                    "kind": "optional",
                    "type": "string",
                    "description": "The registered name of the BPAY biller.",
                    "example": "Example Biller Pty Ltd",
                    "default": "Example Biller Pty Ltd",
                    "pattern": "^.+$"
                  },
                  {
                    "name": "billerCode",
                    "kind": "optional",
                    "type": "string",
                    "description": "The BPAY biller code the payment was made to.",
                    "example": "123456",
                    "default": "123456",
                    "pattern": "^[0-9]+$"
                  },
                  {
                    "name": "referenceNumber",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>The BPAY Customer Reference Number (CRN) used for the payment.</p>",
                    "example": "987654321",
                    "default": "987654321",
                    "pattern": "^[0-9]+$"
                  },
                  {
                    "name": "receiptNumber",
                    "kind": "optional",
                    "type": "string",
                    "description": "The unique receipt number for the BPAY payment.",
                    "example": "RN0000123456",
                    "default": "RN0000123456",
                    "pattern": "^[A-Za-z0-9]+$"
                  },
                  {
                    "name": "status",
                    "kind": "optional",
                    "type": "string",
                    "description": "The status of the BPAY receipt.",
                    "example": "Paid",
                    "default": "Paid",
                    "pattern": "^[A-Za-z]+$"
                  },
                  {
                    "name": "transactionDateTime",
                    "kind": "optional",
                    "type": "string<date-time>",
                    "description": "<p>The date and time the transaction was processed, in ISO 8601 format.</p>",
                    "example": "2026-07-23T11:47:07+10:00",
                    "default": "2026-07-23T11:47:07+10:00",
                    "format": "date-time",
                    "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}([+-][0-9]{2}:[0-9]{2}|Z)?$"
                  },
                  {
                    "name": "voidDateTime",
                    "kind": "optional",
                    "type": "string<date-time>",
                    "description": "<p><strong>Optional</strong>. The date and time the receipt was voided, in ISO 8601 format. Present only if the receipt has been voided.</p>",
                    "example": "2026-07-24T09:00:00+10:00",
                    "default": "2026-07-24T09:00:00+10:00",
                    "format": "date-time",
                    "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}([+-][0-9]{2}:[0-9]{2}|Z)?$"
                  }
                ]
              },
              {
                "name": "durationMs",
                "kind": "optional",
                "type": "integer",
                "description": "This value represents the total time in milliseconds that the Platform took to process the request.",
                "example": 42,
                "default": 42,
                "pattern": "^[0-9]+$"
              },
              {
                "name": "status",
                "kind": "optional",
                "type": "string",
                "description": "This is the status of the request. A code of 'Ok' indicates no errors.",
                "example": "Ok",
                "default": "Ok",
                "pattern": "^[A-Za-z]+$"
              },
              {
                "name": "statusDescription",
                "kind": "optional",
                "type": "string",
                "description": "<p>This is a description of the status. If an 'Ok' status is returned, then this will be 'Operation completed successfully'.</p>",
                "example": "Operation completed successfully",
                "default": "Operation completed successfully",
                "pattern": "^.+$"
              }
            ],
            "modelRef": "#/components/schemas/bPayReceiptsResponse_V1",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "400",
        "description": "Bad Request. The request was malformed or contained invalid parameters.",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "The standard error envelope returned when a request cannot be completed.",
            "customType": "errorResponse_V1",
            "schema": [
              {
                "name": "status",
                "kind": "optional",
                "type": "string",
                "description": "The status code indicating the type of error that occurred.",
                "example": "Error",
                "default": "Error",
                "pattern": "^[A-Za-z]+$"
              },
              {
                "name": "statusDescription",
                "kind": "optional",
                "type": "string",
                "description": "<p>A human-readable description of the error that occurred.</p>",
                "example": "The request could not be processed.",
                "default": "The request could not be processed.",
                "pattern": "^.+$"
              },
              {
                "name": "durationMs",
                "kind": "optional",
                "type": "integer",
                "description": "This value represents the total time in milliseconds that the Platform took to process the request.",
                "example": 42,
                "default": 42,
                "pattern": "^[0-9]+$"
              }
            ],
            "modelRef": "#/components/schemas/errorResponse_V1",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "401",
        "description": "Unauthorized. Authentication failed because the API key was missing or invalid.",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "The standard error envelope returned when a request cannot be completed.",
            "customType": "errorResponse_V1",
            "schema": [
              {
                "name": "status",
                "kind": "optional",
                "type": "string",
                "description": "The status code indicating the type of error that occurred.",
                "example": "Error",
                "default": "Error",
                "pattern": "^[A-Za-z]+$"
              },
              {
                "name": "statusDescription",
                "kind": "optional",
                "type": "string",
                "description": "<p>A human-readable description of the error that occurred.</p>",
                "example": "The request could not be processed.",
                "default": "The request could not be processed.",
                "pattern": "^.+$"
              },
              {
                "name": "durationMs",
                "kind": "optional",
                "type": "integer",
                "description": "This value represents the total time in milliseconds that the Platform took to process the request.",
                "example": 42,
                "default": 42,
                "pattern": "^[0-9]+$"
              }
            ],
            "modelRef": "#/components/schemas/errorResponse_V1",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "500",
        "description": "Internal Server Error. An unexpected error occurred while processing the request.",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "The standard error envelope returned when a request cannot be completed.",
            "customType": "errorResponse_V1",
            "schema": [
              {
                "name": "status",
                "kind": "optional",
                "type": "string",
                "description": "The status code indicating the type of error that occurred.",
                "example": "Error",
                "default": "Error",
                "pattern": "^[A-Za-z]+$"
              },
              {
                "name": "statusDescription",
                "kind": "optional",
                "type": "string",
                "description": "<p>A human-readable description of the error that occurred.</p>",
                "example": "The request could not be processed.",
                "default": "The request could not be processed.",
                "pattern": "^.+$"
              },
              {
                "name": "durationMs",
                "kind": "optional",
                "type": "integer",
                "description": "This value represents the total time in milliseconds that the Platform took to process the request.",
                "example": 42,
                "default": 42,
                "pattern": "^[0-9]+$"
              }
            ],
            "modelRef": "#/components/schemas/errorResponse_V1",
            "isExpanded": true
          }
        ]
      }
    ],
    "hasXCodeSamples": false,
    "examples": {
      "languages": [
        {
          "id": "JYEgaot88-iAM_zCznxAW",
          "language": "curl",
          "label": "cURL",
          "code": "curl --request POST \\\n     --url https://api.mpay.com.au/bpay/v1/receipts \\\n     --header 'accept: application/json' \\\n     --header 'content-type: application/json' \\\n     --data '{\n     \"date\": \"2026-07-23\",\n     \"billerCode\": \"123456\",\n     \"referenceNumber\": \"987654321\",\n     \"uniqueReferenceNumber\": \"URN1234567890\"\n     }'"
        },
        {
          "id": "pH0YEDnZX53G5biuySpVd",
          "language": "javascript",
          "label": "javascript",
          "code": "var myHeaders = new Headers();\nmyHeaders.append(\"accept\", \"application/json\");\nmyHeaders.append(\"content-type\", \"application/json\");\n\nvar raw = JSON.stringify({\n   \"date\": \"2026-07-23\",\n   \"billerCode\": \"123456\",\n   \"referenceNumber\": \"987654321\",\n   \"uniqueReferenceNumber\": \"URN1234567890\"\n});\n\nvar requestOptions = {\n   method: 'POST',\n   headers: myHeaders,\n   body: raw,\n   redirect: 'follow'\n};\n\nfetch(\"https://api.mpay.com.au/bpay/v1/receipts\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));"
        },
        {
          "id": "sFNRRTCtkhMYH0JoxywMT",
          "language": "ruby",
          "label": "Ruby",
          "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://api.mpay.com.au/bpay/v1/receipts\")\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.body = JSON.dump({\n   \"date\": \"2026-07-23\",\n   \"billerCode\": \"123456\",\n   \"referenceNumber\": \"987654321\",\n   \"uniqueReferenceNumber\": \"URN1234567890\"\n})\n\nresponse = https.request(request)\nputs response.read_body\n"
        },
        {
          "id": "LMq-1OBwCzjmIpPq-QabE",
          "language": "python",
          "label": "Python",
          "code": "import requests\nimport json\n\nurl = \"https://api.mpay.com.au/bpay/v1/receipts\"\n\npayload = json.dumps({\n   \"date\": \"2026-07-23\",\n   \"billerCode\": \"123456\",\n   \"referenceNumber\": \"987654321\",\n   \"uniqueReferenceNumber\": \"URN1234567890\"\n})\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"
        }
      ],
      "selectedLanguageId": "JYEgaot88-iAM_zCznxAW"
    },
    "results": {
      "languages": [
        {
          "id": "tkorWVk-BliWT-2K14PXz",
          "language": "200",
          "code": "// Successful response. The matching BPAY receipts were returned.\n{\n  \"receipts\": [\n    {\n      \"billerName\": \"Example Biller Pty Ltd\",\n      \"billerCode\": \"123456\",\n      \"referenceNumber\": \"987654321\",\n      \"receiptNumber\": \"RN0000123456\",\n      \"status\": \"Paid\",\n      \"transactionDateTime\": \"2026-07-23T11:47:07+10:00\",\n      \"voidDateTime\": \"2026-07-24T09:00:00+10:00\"\n    }\n  ],\n  \"durationMs\": 42,\n  \"status\": \"Ok\",\n  \"statusDescription\": \"Operation completed successfully\"\n}"
        },
        {
          "id": "F3_3E8agErvXoMD7sE0cl",
          "language": "400",
          "code": "// Bad Request. The request was malformed or contained invalid parameters.\n{\n  \"status\": \"Error\",\n  \"statusDescription\": \"The request could not be processed.\",\n  \"durationMs\": 42\n}"
        },
        {
          "id": "AzLv_vfk3QhcjKplrbnAe",
          "language": "401",
          "code": "// Unauthorized. Authentication failed because the API key was missing or invalid.\n{\n  \"status\": \"Error\",\n  \"statusDescription\": \"The request could not be processed.\",\n  \"durationMs\": 42\n}"
        },
        {
          "id": "lfzCgTgJEZRF-SLjVNxDR",
          "language": "500",
          "code": "// Internal Server Error. An unexpected error occurred while processing the request.\n{\n  \"status\": \"Error\",\n  \"statusDescription\": \"The request could not be processed.\",\n  \"durationMs\": 42\n}"
        }
      ],
      "selectedLanguageId": "tkorWVk-BliWT-2K14PXz"
    }
  },
  "children": [
    {
      "text": ""
    }
  ]
}