Skip to main content

Payments API

Use this resource to:

  1. Find all currently Pending payments.
  2. Find recently Returned payments.
  3. Search by Reference.
  4. Search by Date.
  5. Make a Single Immediate Payment.

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 reference contains 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 reference contains 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.

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 transactoins 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": "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.
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.

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. domestic or international.
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. domestic or international.
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_DOMESTIC or RTGS.
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. AUD for 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_DOMESTIC or RTGS.
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.
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 Code OPEN), or it has otherwise not yet been submitted (any of the other File Status Codes, except PROCESSING and COMPLETE).

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"
}
Westpac Privacy Statement

Privacy Statement (for individuals whose personal information may be collected - in this clause referred to as "you"). All personal information we collect about you is collected, used and disclosed by us in accordance with our Privacy Statement which is available at Privacy Statement or by calling us through your relationship manager or Westpac representative. Our Privacy Statement also provides information about how you can access and correct your personal information and make a complaint. You do not have to provide us with any personal information but, if you don't, we may not be able to process an application or a request for a product or service.