PayID Enquiry API
API Reference: https://developer.azupay.com.au/v0/reference/post_payidenquiry
Purpose
Use PayID Enquiry to:
- Check whether a PayID is registered and NPP and PayTo reachable for payments
- Validate the BSB and account number attached to the PayID; and
- Validate whether a customerâprovided/expected account name matches the Full Legal Account Name associated with the PayID (PayID Name Matching)
PayID Name Matching
Our proprietary PayID matching logic is designed specifically for these realâworld conditions, measuring how âcloseâ two names are, then applying additional validation rules to make the outcome more reliable for payments use cases.
Request Body
Required:
- payID (string, length 5â50): PayID to check
- payIDType (enum): PHONE | EMAIL | ABN | ORG
Optional (for PayID name matching)
- accountName (string, length 1â140): Expected account name used for PayID name matching
- bsb (string): Bsb to validate. If provided, accountNumber must be present.
- accountNumber (string): Account number to validate. If provided, bsb must be present.
PayID validation
The following validation is applied based on the payIDType:
PayID Type: PHONE
PHONE-
Validation:
/^\+[0-9]{1,3}-[1-9][0-9]{1,29}$/ -
Examples of accepted values:
+61-40012313 -
Examples of rejected values:
0400123123,+614123123
PayID Type: EMAIL
EMAIL- Validation:
/^(?:[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?.)+a-z0-9 ?)$/ - Examples of accepted values:
[email protected],[email protected],[email protected],[email protected],[email protected] - Examples of rejected values:
[email protected],user@,@example.com,user@example,[email protected],[email protected],[email protected],[email protected],[email protected],user [email protected]
PayID Type: ABN
ABN- Validation:
/^((\d{9})|(\d{11}))$/ - Examples of accepted values:
123456789,000123456,12345678901,00000000000,98765432109 - Examples of rejected values:
12345678,1234567890,123456789012,12345AB789,123-456-789,123456789,123456789
The ACN (Australian Company Number), ARBN (Australian Registered Body Number) and ARSN (Australian Registered Scheme Number) can all be used under the PayID Type ABN
PayID Type: ORG
ORG- Validation:
/^\S[a-z0-9!\"#$%&'()*+,./:;<=>?@\[\] ^_`{|}~-]*\S$ - Examples of accepted values:
acme123,acme-co,acme.co,acme_company,org+test,abc@xyz,name!test - Examples of rejected values:
Acme,acme org,acme,acme,a,acme\norg,acme\torg
Responses
200 success
{
"payID":"+61-400123456",
"bsb": "132-456",
"accountNumber": "132465879",
"payIDType":"PHONE",
"accountName": "Jonathan George Smith"
}{
"AccountStatus": {
"nppReachable": true,
"paytoReachable": true,
"accountServices": [
"sct",
"x2p1",
"mpis"
],
"validBsb": false,
"validAccountNumber": false,
"aliasName": "Jonathan Smith",
"validAccountName": true
}
}400 bad request
{
"payID":"+61-469887654"
} {
"message": "[object has missing required properties ([\"payIDType\"])]",
"details": {
"failureCode": "ERR0.03",
"failureReason": "[object has missing required properties ([\"payIDType\"])]"
}
}401 invalid authorization header
{
"message": "Unauthorized",
"details": {
"failureCode": "ERR0.02",
"failureReason": "Unauthorized"
}
}404 account not found
{
"message": "PayID not found",
"details": {
"failureCode": "ERR0.03",
"failureReason": "PayID not found"
}
}Test Data
To test the name matching outcomes, the Full Legal Account Name (FLAN) attached to the PayIDs have been provided below. When you invoke the PayID Enquiry endpoint, you will set the accountName, this will be matched against the FLAN (in the table below) and a match result will be returned.
- A Match will include the following in the api response: "validAccountName": true
- A No Match will include the following in the api response: "validAccountName": false
Example:
{
"payID":"[email protected]",
"payIDType":"EMAIL",
"accountName": "Michael Williams"
}{
"AccountStatus": {
"nppReachable": true,
"paytoReachable": true,
"accountServices": [
"sct",
"x2p1",
"mpis"
],
"aliasName": "M Williams",
"validAccountName": true
}
}Test Scenarios
To simulate the complete end to end process from looking up a PayID, matching the expected account names to making a payment, use the below PayIDs
PayIDType | PayID | Account Information | Account Services | Payment API Expected Behaviour |
|---|---|---|---|---|
Full Legal Account Name: John Smith | nppReachable: true; paytoReachable: true; accountServices: "sct", "x2p1", "mpis" |
| ||
Full Legal Account Name: Michael Thomas Williams | nppReachable: true; paytoReachable: true; accountServices: "sct", "x2p1", "mpis" |
| ||
Full Legal Account Name: Michael Thomas Williams Andrews | nppReachable: true; paytoReachable: true; accountServices: "sct", "x2p1", "mpis" |
| ||
Full Legal Account Name: Jones, Phillip & Tracy | nppReachable: true; paytoReachable: true; accountServices: "sct", "x2p1", "mpis" |
| ||
Full Legal Account Name: Phillip Jones and Tracey Jones | nppReachable: true; paytoReachable: true; accountServices: "sct", "x2p1", "mpis" |
| ||
PHONE |
| Full Legal Account Name: Phillip Jones, Tracy Jones and Edwin Jones | nppReachable: true; paytoReachable: true; accountServices: "sct", "x2p1", "mpis" |
|
PHONE |
| Full Legal Account Name: KIERAN J R TEOH Alias Name: K Teoh BSB: 182-182 Account Number: 987654321 | nppReachable: true; paytoReachable: true; accountServices: "sct", "x2p1", "mpis" |
|
PHONE |
| Full Legal Account Name: Michael T. Williams Alias Name: Michael Williams BSB: 633-000 Account Number: 11112222 | nppReachable: true; paytoReachable: true; accountServices: "sct", "x2p1", "mpis" |
|
PHONE |
| Full Legal Account Name: John O'Connor
Alias Name: J OâConnor | nppReachable: true; paytoReachable: true; accountServices: "sct", "x2p1", "mpis" |
|
PHONE |
| Full Legal Account Name: Mr Philip Jones | nppReachable: true; paytoReachable: true; accountServices: "sct", "x2p1", "mpis" |
|
ABN |
| Full Legal Account Name: Azupay Proprietary Limited | nppReachable: true; paytoReachable: true; accountServices: "sct", "x2p1", "mpis" |
|
ABN |
| Full Legal Account Name: AOB Nominees As Trustee For The AOB Superannuation Trust | nppReachable: true; paytoReachable: true; accountServices: "sct", "x2p1", "mpis" |
|
ABN |
| Full Legal Account Name: Australian Rare Minerals Pty Ltd T/A Australian Lithium | nppReachable: true; paytoReachable: true; accountServices: "sct", "x2p1", "mpis" |
|
ORG |
| Full Legal Account Name: Bubble limited liability company | nppReachable: true; paytoReachable: true; accountServices: "sct", "x2p1", "mpis" |
|
ORG |
| Full Legal Account Name: British Brothers Association Limited | nppReachable: true; paytoReachable: true; accountServices: "sct", "x2p1", "mpis" |
|
ORG |
| Full Legal Account Name: AOB Nominees As Trustee For The AOB Superannuation Trust | nppReachable: true; paytoReachable: true; accountServices: "sct", "x2p1", "mpis" |
|
Failure Scenrios
PayIDType | PayID | Expected Response |
|---|---|---|
PHONE |
| "failureCode": "ERR0.03", "failureReason": "Unauthorised to perform this operation" |
"failureCode": "ERR0.03", "failureReason": "Unauthorised to perform this operation" | ||
"failureCode": "ERR0.03", "failureReason": "PayID not found" | ||
PHONE |
| "failureCode": "ERR0.03", "failureReason": "PayID not found" |
PHONE |
| "failureCode": "ERR0.03", "failureReason": "PayID not found" |
ABN |
| "failureCode": "ERR0.03", "failureReason": "PayID not found" |
ORG |
| "failureCode": "ERR0.03", "failureReason": "PayID not found" |
Bank Accounts
| BSB | Expected Response |
|---|---|
939200 | BSB is not found |
000000 | BSB is not found |
| Other BSB | BSB is NPP Reachable and NOT PayTo Reachable |
Updated 8 days ago
