Client Accounts Outwards Payments

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

  1. Initiate Payment
  2. Query Payment Status

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)