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.
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"
}