Client Accounts Outwards Payments Overview:
This page provides examples of GraphQL queries and mutations for initiating payments from client accounts in the ANZ Cash Management Central (ACMC) system.
Overview of Client Accounts Outwards Payments Initiation
The ACMC system supports initiating domestic payments from Client Accounts using various payment types:
Payment Types:
- Direct Entry (DE)
- OSKO
- Real-Time Gross Settlement (RTGS)
Destination:
- Payments can be initiated to a specified destination account.
Cut-off Times:
- Cut-off times are applicable based on the specified Payment Type.
- Payments initiated after cut-off times:
- Will remain part of the Client Account balance for interest calculation purposes.
- Will be completed on the next available Business Day.
The following GraphQL operations allow you to initiate and manage payments within the ACMC system.
Table of Contents
Initiate Payment
Mutation: doEncrypted (action: payment, payment-method: NPP)
This mutation initiates a payment from a client account using encrypted input.
mutation ($input: EncryptedInput!) {
doEncrypted(i: $input) {
commandId
}
}
Variables:
{
"input": {
"encryptedPayload": {
"action": "payment",
"payment-method": "NPP",
"recipient": {
"account-number": "1347825467",
"bank-code": "083054",
"name": "Testing"
},
"sender": {
"account": {
"id": "QWNjb3VudDo1OTNmYThlMGFiNzQ4NDRmNzU0Y2M0ZGQ4MTA2ZTc5ZTEzYjhjNjgzMzc1NDBmNGMyNzc2OTRmZjhkNWRmYjVh"
}
},
"amount": {
"value": "5.00",
"currency": "AUD"
},
"value-date": "2024-10-07",
"reference": "npp pay"
}
}
}
Input Fields
Field | Description |
---|---|
action | Type of action (“payment”) |
payment-method | Payment method (e.g., “NPP”) |
recipient | Details of the recipient account |
sender | Details of the sender account |
amount | Payment amount and currency |
value-date | Date for the payment (YYYY-MM-DD) |
reference | Payment reference |
Recipient Fields
Field | Description |
---|---|
account-number | Recipient’s account number |
bank-code | Recipient’s bank code (BSB) |
name | Recipient’s name |
Sender Fields
Field | Description |
---|---|
account.id | ID of the sender’s account |
Amount Fields
Field | Description |
---|---|
value | Payment amount |
currency | Currency code (e.g., “AUD”) |
Query Payment Status
Query: node
This query retrieves the status of a specific payment.
query QueryCommand {
node(id: "Q29tbWFuZDo5MTAxY2YwNi1iZTU3LTRjMDEtYWJmNi0xYWQ5NTM2NzA4Yjg=") {
__typename
... on GenericCommand {
action
state
step
invalid {
field
reason
}
}
... on EncryptedCommand {
id
state
invalid {
field
reason
}
unencryptedCommand {
id
createdTimestamp
}
unencryptedCommand {
... on MakeNppPaymentCommand {
action
id
payment {
amount {
creditDebit
value
currency
}
createdTimestamp
recipient {
accountNumber
name
}
status
reason
paymentMethod
transactions {
edges {
node {
id
state
valueDate
}
}
}
}
userInput {
purpose
transaction {
id
}
}
invalid {
field
reason
code
}
}
}
}
}
}
Response:
{
"data": {
"node": {
"__typename": "EncryptedCommand",
"id": "Q29tbWFuZDo5MTAxY2YwNi1iZTU3LTRjMDEtYWJmNi0xYWQ5NTM2NzA4Yjg=",
"state": "SUCCESSFUL",
"invalid": [],
"unencryptedCommand": {
"id": "Q29tbWFuZDoxMzZlMjIwMTcwM2I4Y2U1OGU4ZWM0OWM4ZTM2OWZkODFkNTZhNzE5YjJkNzI0MWU3NjNlNzE1Nzc1Mjg2MGY4",
"createdTimestamp": "2024-10-07T06:16:48.822Z",
"action": "MAKE-NPP-PAYMENT",
"payment": {
"amount": {
"creditDebit": "DEBIT",
"value": "5.00",
"currency": "AUD"
},
"createdTimestamp": "2024-10-07T06:16:52.839Z",
"recipient": {
"accountNumber": "1347825467",
"name": "Testing"
},
"status": "completed",
"reason": "",
"paymentMethod": "npp",
"transactions": {
"edges": [
{
"node": {
"id": "VHJhbnNhY3Rpb246MzQ3MDhlZmNlZDMwYmFjNjdlZjViMWQwZmY1OTljYjRiODgzNzFlNDFkZGY4M2VlMjYzYWE4MWY4Y2NmMTdmZQ==",
"state": "SUCCESSFUL",
"valueDate": "2024-10-07"
}
}
]
}
},
"invalid": []
}
}
}
}
Response Fields
Field | Type | Description |
---|---|---|
data.node | INTERFACE | The root object representing the queried node |
data.node.id | SCALAR! | Unique identifier for the encrypted command |
data.node.state | ENUM! | Current state of the command (e.g., “SUCCESSFUL”) |
data.node.invalid | OBJECT! | List of validation errors (empty in this case) |
unencryptedCommand | INTERFACE | Decrypted details of the command |
unencryptedCommand.id | SCALAR! | Unique identifier for the unencrypted command |
unencryptedCommand.createdTimestamp | SCALAR | Timestamp when the command was created |
unencryptedCommand.action | SCALAR! | Type of action performed (e.g., “MAKE-NPP-PAYMENT”) |
payment | OBJECT | Details of the payment |
payment.amount | OBJECT! | Amount details of the payment |
payment.amount.creditDebit | ENUM! | Indicates if it’s a credit or debit transaction |
payment.amount.value | SCALAR! | The monetary value of the transaction |
payment.amount.currency | SCALAR! | The currency code (e.g., “AUD”) |
payment.createdTimestamp | SCALAR! | Timestamp when the payment was created |
payment.recipient | OBJECT | Details of the payment recipient |
payment.recipient.accountNumber | SCALAR! | Account number of the recipient |
payment.recipient.name | SCALAR | Name of the recipient |
payment.status | SCALAR | Current status of the payment (e.g., “completed”) |
payment.reason | SCALAR | Reason for the payment status (empty in this case) |
payment.paymentMethod | SCALAR | Method used for the payment (e.g., “npp”) |
payment.transactions | [INTERFACE!]! | List of transactions associated with this payment |
payment.transactions.edges[].node.id | SCALAR! | Unique identifier for the transaction |
payment.transactions.edges[].node.state | ENUM! | Current state of the transaction |
payment.transactions.edges[].node.valueDate | SCALAR! | The value date of the transaction |
unencryptedCommand.invalid | [OBJECT]! | List of validation errors for the unencrypted command (empty in this case) |