Payments between CLA and CLI Overview:
This page provides examples of GraphQL queries and mutations for initiating payments between Client Accounts and Client Linked Accounts (CLAs) in the ANZ Cash Management Central (ACMC) system.
Overview of CLA Payment Initiation
The ACMC system supports initiating payments between Client Accounts and CLAs in both directions:
Payments from Client Account to CLA: Can be initiated using two methods:
- Using Payment Type ‘CLA Payment’
- Using any Payment Type and specifying BSB and account number of the CLA
Payments from CLA to Client Account: Can be initiated using two methods:
- Using ‘CLA Payment Request’ function within ACMC
- Accessing the CLA via an appropriate ANZ Electronic Banking Channel, selecting any Payment Type, and specifying the Client Account’s BSB and account number
The following GraphQL operations allow you to initiate and manage these CLA-related payments within the ACMC system.
Table of Contents
Initiate Payment from Client Account to CLA
Mutation: doEncrypted (action: payment)
This mutation initiates a payment from a client account to a CLA.
mutation ($input: EncryptedInput!) {
doEncrypted(i: $input) {
commandId
}
}
Variables:
{
"input": {
"encryptedPayload": {
"action": "payment",
"recipient": {
"customer-linked-account": {
"id": "Q3VzdG9tZXJMaW5rZWRBY2NvdW50OmEwODQxNzcyN2E4ZjNkODEyYTViMDY4ZDRjZjU4YTRiMmY5NWE5ZTg1OGU4YThlOTNmMWQ3MDkyNThmZjMzZmI="
}
},
"sender": {
"account": {
"id": "QWNjb3VudDo1OTNmYThlMGFiNzQ4NDRmNzU0Y2M0ZGQ4MTA2ZTc5ZTEzYjhjNjgzMzc1NDBmNGMyNzc2OTRmZjhkNWRmYjVh"
}
},
"amount": {
"value": "5.00",
"currency": "AUD"
},
"value-date": "2024-10-08",
"reference": "Client Account to CLA"
}
}
}
Initiate CLA Payment Request
Mutation: doEncrypted (action: payment-request)
This mutation initiates a payment request from a CLA to a client account.
mutation ($input: EncryptedInput!) {
doEncrypted(i: $input) {
commandId
}
}
Variables:
{
"input": {
"encryptedPayload": {
"action": "payment-request",
"customer-linked-account": {
"id": "Q3VzdG9tZXJMaW5rZWRBY2NvdW50OmEwODQxNzcyN2E4ZjNkODEyYTViMDY4ZDRjZjU4YTRiMmY5NWE5ZTg1OGU4YThlOTNmMWQ3MDkyNThmZjMzZmI="
},
"requester": {
"account": {
"id": "QWNjb3VudDo1OTNmYThlMGFiNzQ4NDRmNzU0Y2M0ZGQ4MTA2ZTc5ZTEzYjhjNjgzMzc1NDBmNGMyNzc2OTRmZjhkNWRmYjVh"
}
},
"amount": {
"value": "5.25",
"currency": "AUD"
},
"value-date": "2024-10-08",
"reference": "CLA to Client Account"
}
}
}
Query CLA Payment Status
Query: node
This query retrieves the status of a specific CLA payment or payment request.
query QueryCommand($id: ID!) {
node(id: $id) {
__typename
... on EncryptedCommand {
id
state
invalid {
field
reason
}
unencryptedCommand {
id
createdTimestamp
... on MakeNppPaymentCommand {
action
payment {
amount {
creditDebit
value
currency
}
createdTimestamp
recipient {
accountNumber
name
}
status
reason
paymentMethod
transactions {
edges {
node {
id
state
valueDate
}
}
}
}
invalid {
field
reason
code
}
}
}
}
}
}
Variables:
{
"id": "Q29tbWFuZDplYzczNjljZC1lZTgxLTQ3MzMtODlmYS0xYTU0YzZjYjBhNzA="
}
Response:
{
"data": {
"node": {
"__typename": "EncryptedCommand",
"id": "Q29tbWFuZDplYzczNjljZC1lZTgxLTQ3MzMtODlmYS0xYTU0YzZjYjBhNzA=",
"state": "SUCCESSFUL",
"invalid": [],
"unencryptedCommand": {
"id": "Q29tbWFuZDpiMDA5NTQ2ZjFhZjc1MGFjODNjZTgzZmE2OGYyZDMyNDdkMmIxMjdiZWExMWIzYzlmYjYzMzQ2NzUxNDIyYWQ5",
"createdTimestamp": "2024-10-08T05:00:46.333Z",
"action": "MAKE-NPP-PAYMENT",
"payment": {
"amount": {
"creditDebit": "DEBIT",
"value": "5.00",
"currency": "AUD"
},
"createdTimestamp": "2024-10-08T05:00:51.300Z",
"recipient": {
"accountNumber": "189524201",
"name": "Test CLA"
},
"status": "completed",
"reason": "",
"paymentMethod": "npp",
"transactions": {
"edges": [
{
"node": {
"id": "VHJhbnNhY3Rpb246MjE3YzAzOWJhZDI0NGNhODQwOGIxNTE5N2EwZWNhY2M2MjU5Y2UxMmI4ZmRmYjY3NWM1YjQzNWQ2ZmYwMTc3ZQ==",
"state": "SUCCESSFUL",
"valueDate": "2024-10-08"
}
}
]
}
},
"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 | SCALA! | 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) |