Payments API
Use this resource to:
- Find all currently Pending payments.
- Find recently Returned payments.
- Search by Reference.
- Search by Date.
- Make a Single Immediate Payment.
- Get Payment Details.
For making payments as part of a file or batch use the Files API.
List pending payments
This resource lists currently pending payments. Any payments in the PENDING state will be listed here.
Request
GET /payments/pending
            Request body
None.
Response
This is a paginated resource. The most recent payment is first.
| Field | Format | Data | 
|---|---|---|
| links | Array of Links | Links to related documents and pagination. | 
| data | Array of Payment Response Model | A paginated list of payments. | 
HTTP status codes
See HTTP Status Codes for more.
| Status Code | Description | More information | 
|---|---|---|
| 200 | OK | The request has succeeded. | 
| 401 | UNAUTHORIZED | The API key in the request is expired. View more. | 
List returned payments
This resource lists payments that have been returned in the last 48 hours.
Request
GET /payments/returns
            Request body
None.
Response
This is a paginated resource. The most recent payment is first.
| Field | Format | Data | 
|---|---|---|
| links | Array of Links | Links to related documents and pagination. | 
| data | Array of Payment Response Model | A paginated list of payments. | 
HTTP status codes
See HTTP Status Codes for more.
| Status Code | Description | More information | 
|---|---|---|
| 200 | OK | The request has succeeded. | 
| 401 | UNAUTHORIZED | The API key in the request is expired. View more. | 
List by reference
List payments by reference. Use this resource to find payments by their reference code, buyer reference, or alternate reference.
Request
GET /payments/for-reference?reference={string}
            Query parameters
| Parameter Name | Format | Description | 
|---|---|---|
| reference | string | Get a list of files for the provided reference code, buyer reference, or alternate reference. | 
Request body
None.
Response
This is a paginated resource. The most recent payment is first.
| Field | Format | Data | 
|---|---|---|
| links | Array of Links | Links to related documents and pagination. | 
| data | Array of Payment Response Model | A paginated list of payments. | 
HTTP status codes
See HTTP Status Codes for more.
| Status Code | Description | More information | 
|---|---|---|
| 200 | OK | The request has succeeded. | 
| 401 | UNAUTHORIZED | The API key in the request is expired. View more. | 
| 422 | UNPROCESSABLE ENTITY | referencecontains non-ASCII characters or is empty. View more. | 
List by date
List payments by payment date.
Request
GET /payments/for-date?date={string}
            Query parameters
| Parameter Name | Format | Description | 
|---|---|---|
| date | string | Get a list of payments for the provided date. In the format YYYY-MM-DD. | 
Request body
None.
Response
This is a paginated resource. The most recent payment is first.
| Field | Format | Data | 
|---|---|---|
| links | Array of Links | Links to related documents and pagination. | 
| data | Array of Payment Response Model | A paginated list of payments. | 
HTTP status codes
See HTTP Status Codes for more.
| Status Code | Description | More information | 
|---|---|---|
| 200 | OK | The request has succeeded. | 
| 401 | UNAUTHORIZED | The API key in the request is expired. View more. | 
| 422 | UNPROCESSABLE ENTITY | referencecontains non-ASCII characters or is empty. View more. | 
Single immediate payment
Use this API in conjunction with the Payments API to create and send a payment immediately as a single request.
If this resource is called again with the same values, no new payment will be created. Instead, this API returns a 409 HTTP response code to indicate that a duplicate payment has been attempted.
This functionality is currently only available for Osko payments.
A payment file will be visible in the portal for these payments as a way to group them in the interface. This file will remain in "processing" until the end of the day.
Request
POST /payments/{paymentIdentifier}
            Path parameters
| Parameter Name | Format | Description | 
|---|---|---|
| paymentIdentifier | string | The code that uniquely identifies the payment. | 
Request body
| Field | Format | Required | Description | 
|---|---|---|---|
| paymentMethod | string | Required | OSKO | 
| paymentAmount | decimal | Required | The amount of the payment. | 
| fundingAccount | A Funding Account Request Model | Required | The account that the payment will be made from. This account must be usable for the provided paymentMethod. | 
| recipientAccount | A Recipient Account Request Model | Required | The account that the payment will be made to. This account must be usable for the provided paymentMethod. | 
| payeeName | string | Required | The payee name for the payment | 
| currency | string | Required | The currency the payment will be made in. AUD only is supported. | 
| lodgementReference | string | Required | The lodgement reference for the payment. For Osko transactions this equates to the End To End Id. | 
| paymentReference | string | Requried | The payer reference for the payment. For Osko transactions this equates to Debtor Information. | 
| paymentDate | date (yyyy-MM-dd) | Requried | The date for the payment. The payment will be submitted and processed immediately but recorded against this date in PaymentsPlus. | 
| payeeRegisteredAddress | A Payee Registered Address Request Model | Optional | The address of the payee. This is required for OTT. | 
| oskoRemittanceInformation1 | string | Optional | Remittance information accompanying Osko payments. | 
| oskoRemittanceInformation2 | string | Optional | Remittance information accompanying Osko payments. | 
Funding Account Request Model
| Field | Format | Required | Description | 
|---|---|---|---|
| bsbNumber | string | Required | The BSB. | 
| accountNumber | string | Required | The account number. | 
| accountName | string | Required | The account name. | 
For example:
{
    "bsbNumber": "032-000",
    "accountNumber": "100001",
    "accountName": "Account Name",
}See also Funding Account Request Model.
Recipient Account Request Model
Use the following Osko accounts:
| Field | Format | Required | Description | 
|---|---|---|---|
| accountName | string | Required | The account name. | 
| identification | string | Required | The Account Identifier. For BBAN this will be BSB and account number together with no spaces or hyphens. | 
| schemeName | string | Required | The scheme name. Only BBAN (BSB and Account Number) is accepted at present. | 
{
  "accountName": "Account Name",
  "identification": "032000000007",
  "schemeName": "BBAN"
}See also Recipient Account Request Model.
Response
If successful, this method returns a Payment Response Model in the response body. The following fields are provided in addition to those listed in Payment Response Model.
| Field | Format | Description | 
|---|---|---|
| oskoRemittanceInformation1 | string | Remittance information accompanying Osko payments. | 
| oskoRemittanceInformation2 | string | Remittance information accompanying Osko payments. | 
For example:
{
    "links": [],
    "paymentIdentifier": "PS-2024-10-31-01",
    "methodCode": "OSKO",
    "statusCode": "OPEN",
    "responseCode": "ASIP",
    "receiptDescription": "PS00",
    "paymentAmount": 1.00,
    "paymentDate": "2024-10-31",
    "payeeName": "Payee Name",
    "currency": "AUD",
    "recipientReference": "Lodgement Reference",
    "payerReference": "Payment Reference",
    "fundingAccount": {
      "type": "domestic",
      "accountName": "Osko E2E",
      "bsbNumber": "032-001",
      "accountNumber": "000007",
      "traceBsbNumber": "032-001",
      "traceAccountNumber": "000007",
      "currency": "AUD",
      "defaultAccount": "false",
      "remitterDetails": {
        "remitterName": "Remitter",
        "remitterAddress1": "2 Street St",
        "remitterCity": "Sydney",
        "remitterState": "NSW",
        "remitterPostCode": "2000",
        "remitterCountry": "AU"
      }
    },
    "recipientAccount": {
      "type": "OSKO",
      "currency": "AUD",
      "accountSchemeName": "BBAN",
      "accountIdentifier": "064001999999"
    },
    "payeeRegisteredAddress": null,
    "exchange": null
}HTTP Status Codes
See HTTP Status Codes for more.
| Status Code | Description | More information | 
|---|---|---|
| 200 | OK | Authorisation succeeded and your software/network can access the API. | 
| 401 | UNAUTHORIZED | Authorisation failed. View more. | 
| 403 | FORBIDDEN | Your facility may not be set up. View more. | 
| 407 | PROXY AUTHENTICATION REQUIRED | This error is returned by your proxy server, not PaymentsPlus. You need to configure a proxy username and password in order to access the internet. | 
| 422 | UNPROCESSABLE ENTITY | This is returned when the file is not in an OPEN state. | 
Get Payment Details
Use this API in conjunction with the Payments API to retrieve details from a payment.
Request
GET /payments/{paymentIdentifier}
            Path parameters
| Parameter Name | Format | Description | 
|---|---|---|
| paymentIdentifier | string | The code that uniquely identifies the payment. | 
Request body
None.
Response
| Field | Format | Description | 
|---|---|---|
| oskoRemittanceInformation1 | string | Remittance information accompanying Osko payments. | 
| oskoRemittanceInformation2 | string | Remittance information accompanying Osko payments. | 
For example:
{
    "links": [],
    "paymentIdentifier": "PS-2024-10-31-01",
    "methodCode": "OSKO",
    "statusCode": "OPEN",
    "responseCode": "ASIP",
    "receiptDescription": "PS00",
    "paymentAmount": 1.00,
    "paymentDate": "2024-10-31",
    "payeeName": "Payee Name",
    "currency": "AUD",
    "recipientReference": "Lodgement Reference",
    "payerReference": "End to End Id",
    "fundingAccount": {
      "type": "domestic",
      "accountName": "Osko E2E",
      "bsbNumber": "032-001",
      "accountNumber": "000007",
      "traceBsbNumber": "032-001",
      "traceAccountNumber": "000007",
      "currency": "AUD",
      "defaultAccount": "false",
      "remitterDetails": {
        "remitterName": "Remitter",
        "remitterAddress1": "2 Street St",
        "remitterCity": "Sydney",
        "remitterState": "NSW",
        "remitterPostCode": "2000",
        "remitterCountry": "AU"
      }
    },
    "recipientAccount": {
      "type": "OSKO",
      "currency": "AUD",
      "accountSchemeName": "BBAN",
      "accountIdentifier": "064001999999"
    },
    "payeeRegisteredAddress": null,
    "exchange": null
}HTTP Status Codes
See HTTP Status Codes for more.
| Status Code | Description | More information | 
|---|---|---|
| 200 | OK | Authorisation succeeded and your software/network can access the API. | 
| 401 | UNAUTHORIZED | Authorisation failed. View more. | 
| 404 | NOT FOUND | Could not find entity | 
| 422 | UNPROCESSABLE ENTITY | paymentIdentifiercontains non-ASCII characters or is empty. View more | 
Payment Methods
The following are the payment methods available in the PaymentsPlus API.
| Method Code | Method Name | 
|---|---|
| DIRECT_ENTRY | Australian Direct Entry Payment (EFT) | 
| RTGS | Australian Real Time Gross Settlement Payment | 
| BPAY | Australian BPay Payment | 
| AU_OTT | Australian Overseas Telegraphic Transfer | 
Payment Response Model
| Field | Format | Description | 
|---|---|---|
| links | Array of Links | Links to related documents and resources. | 
| paymentIdentifier | string | The payment identifier used in API calls. | 
| methodCode | string | The code that represents the Payment Method this payment will use. | 
| statusCode | string | The status of the payment. See Payment status codes | 
| responseCode | string | The response code of the transaction after being processed. See Payment response codes | 
| receiptDescription | string | The description of the recponse received for the payment. | 
| paymentAmount | decimal | The amount of the payment. | 
| payeeName | string | The name of the payee of the payment. | 
| currency | string | The currency that the payment was made in. | 
| recipientReference | string | The recipient reference for the payment. This will be the lodgement reference. | 
| payerReference | string | The payer reference for the payment. | 
| fundingAccount | A Funding Account Response Model | Represents the funding account for the payment. | 
| recipientAccount | A Recipient Account Response Model | Represents the recipient account for the payment. | 
| payeeRegisteredAddress | A Payee Registered Address Response Model | Represents the registered address for the payee. | 
| exchange | An Exchange Response Model | Represents the exchange information for the payment. This is provided for OTT payments when available. | 
For example:
{
    "links": [],
    "paymentIdentifier": "123456789",
    "methodCode": "AU_OTT",
    "statusCode": "PAID",
    "responseCode": "PROCD",
    "receiptDescription": "Payment processed",
    "paymentAmount": 100.00,
    "paymentDate": "2018-01-15",
    "payeeName": "Mrs Payee",
    "currency": "AUD",
    "recipientReference": "REF_123",
    "payerReference": "PAY123",
    "fundingAccount": {},
    "recipientAccount": {},
    "payeeRegisteredAddress": {},
    "exchange": {}
}Funding Account Request Model
Australian Accounts
| Field | Format | Required | Description | 
|---|---|---|---|
| bsbNumber | string | Required | The BSB. | 
| accountNumber | string | Required | The account number. | 
For example:
{
    "bsbNumber": "032-000",
    "accountNumber": "100001",
}Funding Account Response Model
Australian Accounts
| Field | Format | Description | 
|---|---|---|
| type | string | The type of the account. domesticorinternational. | 
| accountName | string | The name of the account. | 
| bsbNumber | string | The BSB. | 
| accountNumber | string | The account number. | 
| traceBsbNumber | string | The trace BSB. | 
| traceAccountNumber | string | The trace Account Number. | 
| currency | string | The currency code. | 
| directEntryUserId | string | The Direct Entry User ID of the account. | 
| directEntryUserName | string | The Direct Entry User Name of the account. | 
| defaultAccount | string | Flag to indicate whether this is the default account for this type. true or false. | 
| remitterDetails | A Remitter Details Response Model model. | The remitter details of the account. | 
For example:
{
    "type": "domestic",
    "accountName": "Account One",
    "bsbNumber": "032-000",
    "accountNumber": "100001",
    "traceBsbNumber": "032-001",
    "traceAccountNumber": "100002",
    "currency": "AUD",
    "directEntryUserId": "123456",
    "directEntryUserName": "DEUSER",
    "remitterDetails": {}
}New Zealand Accounts
| Field | Format | Description | 
|---|---|---|
| type | string | The type of the account. domesticorinternational. | 
| accountName | string | The name of the account. | 
| bankCode | string | The Bank Code. | 
| branchCode | string | The Branch Code. | 
| accountNumber | string | The account number. | 
| accountSuffix | string | The account suffix. | 
| foreignCurrencyAccountNumber | string | The foreign currency account number. | 
| currency | string | The currency code. | 
| defaultAccount | string | Flag to indicate whether this is the default account for this type. true or false. | 
| remitterDetails | A Remitter Details Response Model model. | The remitter details of the account. | 
For example:
{
    "type": "domestic",
    "accountName": "Account One",
    "bankCode": "03",
    "branchCode": "2000",
    "accountNumber": "100001",
    "accountSuffix": "00",
    "currency": "NZD",
    "defaultAccount": "true",
    "remitterDetails": {}
}Remitter Details Response Model
| Field | Format | Description | 
|---|---|---|
| remitterName | string | The remitter name. | 
| remitterAddress1 | string | The first line of the address. | 
| remitterAddress2 | string | The second line of the address. | 
| remitterCity | string | The remitter city. | 
| remitterState | string | The remitter state. | 
| remitterPostCode | string | The remitter post code. | 
| remitterCountry | string | The remitter country. 2 character ISO country code. | 
For example:
{
    "remitterName": "Mr Remitter",
    "remitterAddress1": "Level 2",
    "remitterAddress2": "1 Street St",
    "remitterCity": "Sydney",
    "remitterState": "NSW",
    "remitterPostCode": "2000",
    "remitterCountry": "AU"
}Recipient Account Request Model
Different types of recipient accounts include different values.
BPay Account
| Field | Format | Required | Description | 
|---|---|---|---|
| type | string | Required | The type of the account. BPAY | 
| billerNumber | string | Required | The biller number. | 
| crn | string | Required | The customer reference number of the account. | 
For example
{
    "type": "BPAY",
    "billerNumber": "123456",
    "crn": "12345678"
}International Account
| Field | Format | Required | Description | 
|---|---|---|---|
| type | string | Required | The type of the account. INTERNATIONAL | 
| accountName | string | Required | The name of the account. | 
| accountNumber | string | One of accountNumber or IBAN is required | The account number. See IBAN's and routing codes for more. | 
| currency | string | Required | The currency of the account. | 
| routingCode | string | Optional | The routing code of the account. | 
| iban | string | One of the IBAN or accountNumber is required | The IBAN of the account. | 
| intermediarySwiftCode | string | Optional | The intermediary swift code. | 
| swiftCode | string | Required | The swift code. | 
For example
{
    "type": "INTERNATIONAL",
    "accountName": "Account One",
    "currency": "EUR",
    "routingCode": "12345",
    "iban": "12354678",
    "intermediarySwiftCode": "ABC123",
    "swiftCode": "WBC12345XXX"
}Australian Domestic and RTGS
| Field | Format | Required | Description | 
|---|---|---|---|
| type | string | Required | The type of the account. AU_DOMESTICorRTGS. | 
| accountName | string | Required | The name of the account. | 
| bsbNumber | string | Required | The BSB number. | 
| accountNumber | string | Required | The account number. | 
For example
{
    "type": "RTGS",
    "accountName": "Account One",
    "bsbNumber": "032-000",
    "accountNumber": "100001"
}NZ Domestic
| Field | Format | Required | Description | 
|---|---|---|---|
| type | string | Required | The type of the account. NZ_DOMESTIC | 
| accountName | string | Required | The name of the account. | 
| bankCode | string | Required | The bank code. | 
| branchCode | string | Required | The branch code. | 
| accountNumber | string | Required | The account number. | 
| accountSuffix | string | Required | The account suffix. | 
For example
{
    "type": "NZ_DOMESTIC",
    "accountName": "Account One",
    "bankCode": "03",
    "branchCode": "2000",
    "accountNumber": "100001",
    "accountSuffix": "02"
}Recipient Account Response Model
Different types of recipient accounts include different values.
BPay Account
| Field | Format | Description | 
|---|---|---|
| type | string | The type of the account. BPAY | 
| currency | string | The currency of the account. AUDfor BPay. | 
| billerNumber | string | The biller number. | 
| crn | string | The customer reference number of the account. | 
For example
{
    "type": "BPAY",
    "currency": "AUD",
    "billerNumber": "123456",
    "crn": "12345678"
}International Account
| Field | Format | Description | 
|---|---|---|
| type | string | The type of the account. INTERNATIONAL | 
| accountName | string | The name of the account. | 
| accountNumber | string | The account number. | 
| currency | string | The currency of the account. | 
| routingCode | string | The routing code of the account. | 
| iban | string | The IBAN of the account. | 
| intermediarySwiftCode | string | The intermediary swift code. | 
| swiftCode | string | The swift code. | 
For example
{
    "type": "INTERNATIONAL",
    "accountName": "Account One",
    "accountNumber": "123456",
    "currency": "EUR",
    "routingCode": "12345",
    "iban": "12354678",
    "intermediarySwiftCode": "ABC123",
    "swiftCode": "WBC12345XXX"
}Australian Domestic and RTGS
| Field | Format | Description | 
|---|---|---|
| type | string | The type of the account. AU_DOMESTICorRTGS. | 
| accountName | string | The name of the account. | 
| bsbNumber | string | The BSB number. | 
| accountNumber | string | The account number. | 
| currency | string | The currency of the account. | 
For example
{
    "type": "RTGS",
    "accountName": "Account One",
    "bsbNumber": "032-000",
    "accountNumber": "100001",
    "currency": "AUD"
}NZ Domestic
| Field | Format | Description | 
|---|---|---|
| type | string | The type of the account. NZ_DOMESTIC | 
| accountName | string | The name of the account. | 
| bankCode | string | The bank code. | 
| branchCode | string | The branch code. | 
| accountNumber | string | The account number. | 
| accountSuffix | string | The account suffix. | 
| currency | string | The currency of the account. | 
For example
{
    "type": "NZ_DOMESTIC",
    "accountName": "Account One",
    "bankCode": "03",
    "branchCode": "2000",
    "accountNumber": "100001",
    "accountSuffix": "02",
    "currency": "NZD"
}Payment Status Codes
| Code | Description | 
|---|---|
| OPEN | The payment is in an open state and can be modified or cancelled. See Create Payment. | 
| CREATED | The payment has been created and is pending submission to the bank. | 
| PENDING | The payment has been process and is scheduled to be sent. | 
| CANCELLED | The payment has been cancelled and will not be processed. | 
| PROCESSING | The payment is currently processing and has been sent to the bank. | 
| PAID | The payment was paid successfully. | 
| FAILED | The payment was rejected. See Payment response codes | 
| PRE_PAYMENT_FAILED | The payment was rejected during validation. | 
| null | The payments in the file have not yet been submitted. This may be because there are errors in the file (File Status Code ERROR) , is still in an open state (File Status CodeOPEN), or it has otherwise not yet been submitted (any of the other File Status Codes, exceptPROCESSINGandCOMPLETE). | 
Payee Registered Address Request Model
| Field | Format | Required | Description | 
|---|---|---|---|
| street1 | string | Required | The street line 1 of the address. | 
| street2 | string | Optional | The street line 2 of the address. | 
| street3 | string | Optional | The street line 3 of the address. | 
| street4 | string | Optional | The street line 4 of the address. | 
| city | string | Optional | The city of the address. | 
| state | string | Optional | The state of the address. | 
| postcode | string | Optional | The postal code of the address. | 
| countryCode | string | Required | The two character country code for the address. | 
For example
{
    "street1": "Level 1",
    "street2": "2 Street St",
    "city": "Sydney",
    "state": "NSW",
    "postcode": "2000",
    "countryCode": "AU"
}Payee Registered Address Response Model
| Field | Format | Description | 
|---|---|---|
| street1 | string | The street line 1 of the address. | 
| street2 | string | The street line 2 of the address. | 
| street3 | string | The street line 3 of the address. | 
| street4 | string | The street line 4 of the address. | 
| city | string | The city of the address. | 
| state | string | The state of the address. | 
| postcode | string | The postal code of the address. | 
| countryCode | string | The two character country code for the address. | 
For example
{
    "street1": "Level 1",
    "street2": "2 Street St",
    "city": "Sydney",
    "state": "NSW",
    "postcode": "2000",
    "countryCode": "AU"
}Exchange Response Model
| Field | Format | Description | 
|---|---|---|
| exchangeRate | decimal | The exchange rate of the payment. | 
| exchangeReference | string | The exchange reference code of the payment. | 
| fundingAmount | decimal | The funding amount of the payment. | 
| fundingCurrency | string | The funding currency of the payment. | 
For example
{
    "exchangeRate": "0.0001",
    "exchangeReference": "ABC123",
    "fundingAmount": "100",
    "fundingCurrency": "AUD"
}Exchange Response Model
| Field | Format | Description | 
|---|---|---|
| exchangeRate | decimal | The exchange rate of the payment. | 
| exchangeReference | string | The exchange reference code of the payment. | 
| fundingAmount | decimal | The funding amount of the payment. | 
| fundingCurrency | string | The funding currency of the payment. | 
For example
{
    "exchangeRate": "0.0001",
    "exchangeReference": "ABC123",
    "fundingAmount": "100",
    "fundingCurrency": "AUD"
}