Skip to content

Credit Transfer Initiation API (v1.0)

Fast Payment is a near real time feature that lets you send money to most Australian financial institutions through the New Payments Platform (NPP).

Fast Payment via API is the digital way to send payments using the NPP-fast, flexible and embedded in your system. It is the ideal solution for business making high volumes, time-sensitive payments and with requirements for custom, embedded payment solutions.

Languages
Servers

https://developer.api.commbank.com.au/

Credit Transfer Initiations

Submit real-time credit transfer payment instructions via ISO 20022.

Operations

Payment Initiation Credit Transfer

Request

Payment Initiation Credit Transfer

Security
oauth2
Headers
x-request-idstring(uuid)= 36 characters^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}...required

This header parameter identifies an API interaction. It must be provided in every request and is echoed in each 2xx response. It can also be echoed in the HTTP 4xx and 5xx responses in case of errors being returned by the server. The value must be a uuid.

Example: 550e8400-e29b-41d4-a716-446655440000
x-idempotency-idstring(uuid)= 36 characters^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}...required

This header parameter represents an idempotency key for a POST API interaction. It must be provided in every request and have the same value in case of an idempotent retry.

Example: 450e8400-c34f-99a9-c746-665544330000
x-cba-pi-safboolean

This header parameter indicates that the consumer wants the request processed in store and forward flow if downstream services are unavailable to process the request. If not provided the request will be processed without SAF flow.

x-cba-pi-saf-expiry-minutesinteger(int32)[ 5 .. 720 ]

This header parameter indicates maximum time in minutes the consumer wants the request to be held in store and forward flow if downstream services are unavailable to process the request.

Example: 15
x-cba-pi-syncboolean

This header parameter indicates the consumer wants the request processed synchronously with PAIN002 response. If not provided, the request will be processed asynchronously.

Bodyapplication/jsonrequired
business_application_headerobject(BusinessApplicationHeaderV04)required

The Business Layer deals with Business Messages. The behaviour of the Business Messages is fully described by the Business Transaction and the structure of the Business Messages is fully described by the Message Definitions and related Message Rules, Rules and Market Practices. All of which are registered in the ISO 20022 Repository.

A single new Business Message (with its accompanying business application header) is created - by the sending MessagingEndpoint - for each business event; that is each interaction in a Business Transaction. A Business Message adheres to the following principles:

  • A Business Message (and its business application header) must not contain information about the Message Transport System or the mechanics or mechanism of message sending, transportation, or receipt.
  • A Business Message must be comprehensible outside of the context of the Transport Message. That is the Business Message must not require knowledge of the Transport Message to be understood.
  • A Business Message may contain headers, footers, and envelopes that are meaningful for the business. When present, they are treated as any other message content, which means that they are considered part of the Message Definition of the Business Message and as such will be part of the ISO 20022 Repository.
  • A Business Message refers to Business Actors by their Name. Each instance of a Business Actor has one Name. The Business Actor must not be referred to in the Transport Layer.

Specific usage of this BusinessMessageHeader may be defined by the relevant SEG.

business_application_header.​character_setstring(UnicodeChartsCode)

Contains the character set of the text-based elements used in the Business Message.

business_application_header.​fromobject(Party51Choice)required
One of:

The sending MessagingEndpoint that has created this Business Message for the receiving MessagingEndpoint that will process this Business Message. Note the sending MessagingEndpoint might be different from the sending address potentially contained in the transport header (as defined in the transport layer).

business_application_header.​from.​organisation_identificationobject(PartyIdentification272)required

Identification of a person or an organisation.

business_application_header.​from.​organisation_identification.​namestring(Max140Text)[ 1 .. 140 ] characters

Name by which a party is known and which is usually used to identify that party.

business_application_header.​from.​organisation_identification.​postal_addressobject(PostalAddress27)

Information that locates and identifies a specific address, as defined by postal services.

business_application_header.​from.​organisation_identification.​identificationobject(Party52Choice)
One of:

Unique and unambiguous identification of a party.

business_application_header.​from.​organisation_identification.​country_of_residencestring(CountryCode)^[A-Z]{2,2}$

Country in which a person resides (the place of a person's home). In the case of a company, it is the country from which the affairs of that company are directed.

business_application_header.​from.​organisation_identification.​contact_detailsobject(Contact13)

Set of elements used to indicate how to contact the party.

business_application_header.​toobject(Party51Choice)required
One of:

The MessagingEndpoint designated by the sending MessagingEndpoint to be the recipient who will ultimately process this Business Message. Note the receiving MessagingEndpoint might be different from the receiving address potentially contained in the transport header (as defined in the transport layer).

business_application_header.​to.​organisation_identificationobject(PartyIdentification272)required

Identification of a person or an organisation.

business_application_header.​to.​organisation_identification.​namestring(Max140Text)[ 1 .. 140 ] characters

Name by which a party is known and which is usually used to identify that party.

business_application_header.​to.​organisation_identification.​postal_addressobject(PostalAddress27)

Information that locates and identifies a specific address, as defined by postal services.

business_application_header.​to.​organisation_identification.​identificationobject(Party52Choice)
One of:

Unique and unambiguous identification of a party.

business_application_header.​to.​organisation_identification.​country_of_residencestring(CountryCode)^[A-Z]{2,2}$

Country in which a person resides (the place of a person's home). In the case of a company, it is the country from which the affairs of that company are directed.

business_application_header.​to.​organisation_identification.​contact_detailsobject(Contact13)

Set of elements used to indicate how to contact the party.

business_application_header.​business_message_identifierstring(Max35Text)[ 1 .. 35 ] charactersrequired

Unambiguously identifies the Business Message to the MessagingEndpoint that has created the Business Message.

business_application_header.​message_definition_identifierstring(Max35Text)[ 1 .. 35 ] charactersrequired

The Message Definition Identifier of the Business Message instance with which this Business Application Header instance is associated.

business_application_header.​business_servicestring(Max35Text)[ 1 .. 35 ] characters

Specifies the business service agreed between the two MessagingEndpoints under which rules this Business Message is exchanged. To be used when there is a choice of processing services or processing service levels. Example: “marketx.hvps.01” and “marketx.xbdr.01” might be used to indicate that the associated messages are subject to different processing levels for domestic high value payments versus cross-border payments within the same market practice.

business_application_header.​market_practiceobject(ImplementationSpecification1)

Specifies the market practice to which the message conforms. The market practices are a set of rules agreed between parties that restricts the usage of the messages in order to achieve better STP (Straight Through Processing) rates. A market practice specification may also extend the underlying message specification by using extensions or supplementary data of this underlying message.

business_application_header.​creation_datestring(ISODateTime)^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]...required

Date and time when this Business Message (header) was created.

business_application_header.​business_processing_datestring(ISODateTime)^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]...

Processing date and time indicated by the sender for the receiver of the business message. This date may be different from the date and time provided in the CreationDate. Usage: Market practice or bilateral agreement should specify how this element should be used.

business_application_header.​copy_duplicatestring(CopyDuplicate1Code)

Indicates whether the message is a Copy, a Duplicate or a copy of a duplicate of a previously sent ISO 20022 Message.

Enum"CODU""COPY""DUPL"
business_application_header.​possible_duplicateboolean(YesNoIndicator)

Flag indicating if the Business Message exchanged between the MessagingEndpoints is possibly a duplicate. If the receiving MessagingEndpoint did not receive the original, then this Business Message should be processed as if it were the original. If the receiving MessagingEndpoint did receive the original, then it should perform necessary actions to avoid processing this Business Message again. This will guarantee business idempotent behaviour. NOTE: this is named "PossResend" in FIX - this is an application level resend not a network level retransmission.

business_application_header.​prioritystring(BusinessMessagePriorityCode)

Relative indication of the processing precedence of the message over a (set of) Business Messages with assigned priorities.

business_application_header.​signatureobject(SignatureEnvelope)

Contains the digital signature of the Business Entity authorised to sign this Business Message.

business_application_header.​relatedArray of objects(BusinessApplicationHeader8)

Specifies the Business Application Header(s) of the Business Message(s) to which this Business Message relates. Can be used when replying to a query; can also be used when canceling or amending.

business_documentobject(CustomerCreditTransferInitiationV11Document)required

CustomerCreditTransferInitiationV11 Document

business_document.​customer_credit_transfer_initiationobject(CustomerCreditTransferInitiationV11)required

Scope

The CustomerCreditTransferInitiation message is sent by the initiating party to the forwarding agent or debtor agent. It is used to request movement of funds from the debtor account to a creditor.

Usage

The CustomerCreditTransferInitiation message can contain one or more customer credit transfer instructions.

The CustomerCreditTransferInitiation message is used to exchange:

  • One or more instances of a credit transfer initiation;
  • Payment transactions that result in book transfers at the debtor agent or payments to another financial institution;
  • Payment transactions that result in an electronic cash transfer to the creditor account or in the emission of a cheque.

The message can be used in a direct or a relay scenario:

  • In a direct scenario, the message is sent directly to the debtor agent. The debtor agent is the account servicer of the debtor.
  • In a relay scenario, the message is sent to a forwarding agent. The forwarding agent acts as a concentrating financial institution. It will forward the CustomerCreditTransferInitiation message to the debtor agent.

The message can also be used by an initiating party that has authority to send the message on behalf of the debtor. This caters for example for the scenario of a payments factory initiating all payments on behalf of a large corporate.

The CustomerCreditTransferInitiation message can be used in domestic and cross-border scenarios.

The CustomerCreditTransferInitiation message must not be used by the debtor agent to execute the credit transfer instruction(s). The FIToFICustomerCreditTransfer message must be used instead.

business_document.​customer_credit_transfer_initiation.​group_headerobject(GroupHeader95)required

Set of characteristics shared by all individual transactions included in the message.

business_document.​customer_credit_transfer_initiation.​group_header.​message_identificationstring(Max35Text)[ 1 .. 35 ] charactersrequired

Point to point reference, as assigned by the instructing party, and sent to the next party in the chain to unambiguously identify the message. Usage: The instructing party has to make sure that MessageIdentification is unique per instructed party for a pre-agreed period.

business_document.​customer_credit_transfer_initiation.​group_header.​creation_date_timestring(ISODateTime)^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]...required

Date and time at which the message was created.

business_document.​customer_credit_transfer_initiation.​group_header.​authorisationArray of objects(Authorisation1Choice)<= 2 items

User identification or any user key to be used to check whether the initiating party is allowed to initiate transactions from the account specified in the message. Usage: The content is not of a technical nature, but reflects the organisational structure at the initiating side. The authorisation element can typically be used in relay scenarios, payment initiations, payment returns or payment reversals that are initiated on behalf of a party different from the initiating party.

business_document.​customer_credit_transfer_initiation.​group_header.​number_of_transactionsstring(Max15NumericText)^[0-9]{1,15}$required

Number of individual transactions contained in the message.

business_document.​customer_credit_transfer_initiation.​group_header.​control_sumstring(DecimalNumber)<= 19 characters

Total of all individual amounts included in the message, irrespective of currencies.

business_document.​customer_credit_transfer_initiation.​group_header.​initiating_partyobject(PartyIdentification135)required

Party that initiates the payment. Usage: This can either be the debtor or the party that initiates the credit transfer on behalf of the debtor.

business_document.​customer_credit_transfer_initiation.​group_header.​initiating_party.​namestring(Max140Text)[ 1 .. 140 ] characters

Name by which a party is known and which is usually used to identify that party.

business_document.​customer_credit_transfer_initiation.​group_header.​initiating_party.​postal_addressobject(PostalAddress24)

Information that locates and identifies a specific address, as defined by postal services.

business_document.​customer_credit_transfer_initiation.​group_header.​initiating_party.​identificationobject(Party38Choice)
One of:

Unique and unambiguous identification of a party.

business_document.​customer_credit_transfer_initiation.​group_header.​initiating_party.​country_of_residencestring(CountryCode)^[A-Z]{2,2}$

Country in which a person resides (the place of a person's home). In the case of a company, it is the country from which the affairs of that company are directed.

business_document.​customer_credit_transfer_initiation.​group_header.​initiating_party.​contact_detailsobject(Contact4)

Set of elements used to indicate how to contact the party.

business_document.​customer_credit_transfer_initiation.​group_header.​forwarding_agentobject(BranchAndFinancialInstitutionIdentification6)

Financial institution that receives the instruction from the initiating party and forwards it to the next agent in the payment chain for execution.

business_document.​customer_credit_transfer_initiation.​group_header.​initiation_sourceobject(PaymentInitiationSource1)

Source application or software used to initiate the payment.

business_document.​customer_credit_transfer_initiation.​payment_informationArray of objects(PaymentInstruction40)required

Set of characteristics that applies to the debit side of the payment transactions included in the credit transfer initiation.

business_document.​customer_credit_transfer_initiation.​payment_information[].​payment_information_identificationstring(Max35Text)[ 1 .. 35 ] charactersrequired

Unique identification, as assigned by a sending party, to unambiguously identify the payment information group within the message.

business_document.​customer_credit_transfer_initiation.​payment_information[].​payment_methodstring(PaymentMethod3Code)required

Specifies the means of payment that will be used to move the amount of money.

Enum"CHK""TRF""TRA"
business_document.​customer_credit_transfer_initiation.​payment_information[].​requested_advice_typeobject(AdviceType1)

Type of advice details requested.

business_document.​customer_credit_transfer_initiation.​payment_information[].​batch_bookingboolean(BatchBookingIndicator)

Identifies whether a single entry per individual transaction or a batch entry for the sum of the amounts of all transactions within the group of a message is requested. Usage: Batch booking is used to request and not order a possible batch booking.

business_document.​customer_credit_transfer_initiation.​payment_information[].​number_of_transactionsstring(Max15NumericText)^[0-9]{1,15}$

Number of individual transactions contained in the payment information group.

business_document.​customer_credit_transfer_initiation.​payment_information[].​control_sumstring(DecimalNumber)<= 19 characters

Total of all individual amounts included in the group, irrespective of currencies.

business_document.​customer_credit_transfer_initiation.​payment_information[].​payment_type_informationobject(PaymentTypeInformation26)

Set of elements used to further specify the type of transaction.

business_document.​customer_credit_transfer_initiation.​payment_information[].​requested_execution_dateobject(DateAndDateTime2Choice)required
One of:

Date at which the initiating party requests the clearing agent to process the payment. Usage: This is the date on which the debtor's account is to be debited. If payment by cheque, the date when the cheque must be generated by the bank.

business_document.​customer_credit_transfer_initiation.​payment_information[].​requested_execution_date.​datestring(ISODate)^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]...required

Specified date.

business_document.​customer_credit_transfer_initiation.​payment_information[].​pooling_adjustment_datestring(ISODate)^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]...

Date used for the correction of the value date of a cash pool movement that has been posted with a different value date.

business_document.​customer_credit_transfer_initiation.​payment_information[].​debtorobject(PartyIdentification135)required

Party that owes an amount of money to the (ultimate) creditor.

business_document.​customer_credit_transfer_initiation.​payment_information[].​debtor.​namestring(Max140Text)[ 1 .. 140 ] characters

Name by which a party is known and which is usually used to identify that party.

business_document.​customer_credit_transfer_initiation.​payment_information[].​debtor.​postal_addressobject(PostalAddress24)

Information that locates and identifies a specific address, as defined by postal services.

business_document.​customer_credit_transfer_initiation.​payment_information[].​debtor.​identificationobject(Party38Choice)
One of:

Unique and unambiguous identification of a party.

business_document.​customer_credit_transfer_initiation.​payment_information[].​debtor.​country_of_residencestring(CountryCode)^[A-Z]{2,2}$

Country in which a person resides (the place of a person's home). In the case of a company, it is the country from which the affairs of that company are directed.

business_document.​customer_credit_transfer_initiation.​payment_information[].​debtor.​contact_detailsobject(Contact4)

Set of elements used to indicate how to contact the party.

business_document.​customer_credit_transfer_initiation.​payment_information[].​debtor_accountobject(CashAccount40)required

Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.

business_document.​customer_credit_transfer_initiation.​payment_information[].​debtor_account.​identificationobject(AccountIdentification4Choice)
One of:

Unique and unambiguous identification for the account between the account owner and the account servicer.

business_document.​customer_credit_transfer_initiation.​payment_information[].​debtor_account.​typeobject(CashAccountType2Choice)
One of:

Specifies the nature, or use of the account.

business_document.​customer_credit_transfer_initiation.​payment_information[].​debtor_account.​currencystring(pattern)(ActiveOrHistoricCurrencyCode)^[A-Z]{3,3}$

Identification of the currency in which the account is held. Usage: Currency should only be used in case one and the same account number covers several currencies and the initiating party needs to identify which currency needs to be used for settlement on the account.

business_document.​customer_credit_transfer_initiation.​payment_information[].​debtor_account.​namestring(Max70Text)[ 1 .. 70 ] characters

Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account. Usage: The account name is different from the account owner name. The account name is used in certain user communities to provide a means of identifying the account, in addition to the account owner's identity and the account number.

business_document.​customer_credit_transfer_initiation.​payment_information[].​debtor_account.​proxyobject(ProxyAccountIdentification1)

Specifies an alternate assumed name for the identification of the account.

business_document.​customer_credit_transfer_initiation.​payment_information[].​debtor_agentobject(BranchAndFinancialInstitutionIdentification6)required

Financial institution servicing an account for the debtor.

business_document.​customer_credit_transfer_initiation.​payment_information[].​debtor_agent.​financial_institution_identificationobject(FinancialInstitutionIdentification18)required

Unique and unambiguous identification of a financial institution, as assigned under an internationally recognised or proprietary identification scheme.

business_document.​customer_credit_transfer_initiation.​payment_information[].​debtor_agent.​branch_identificationobject(BranchData3)

Identifies a specific branch of a financial institution. Usage: This component should be used in case the identification information in the financial institution component does not provide identification up to branch level.

business_document.​customer_credit_transfer_initiation.​payment_information[].​debtor_agent_accountobject(CashAccount40)

Unambiguous identification of the account of the debtor agent at its servicing agent in the payment chain.

business_document.​customer_credit_transfer_initiation.​payment_information[].​instruction_for_debtor_agentstring(Max140Text)[ 1 .. 140 ] characters

Further information related to the processing of the payment instruction, that may need to be acted upon by the debtor agent, depending on agreement between debtor and the debtor agent. Usage: when present, then the instructions for the debtor agent apply for all credit transfer transaction information occurrences, present in the payment information.

business_document.​customer_credit_transfer_initiation.​payment_information[].​ultimate_debtorobject(PartyIdentification135)

Ultimate party that owes an amount of money to the (ultimate) creditor.

business_document.​customer_credit_transfer_initiation.​payment_information[].​charge_bearerstring(ChargeBearerType1Code)

Specifies which party/parties will bear the charges associated with the processing of the payment transaction.

Enum"DEBT""CRED""SHAR""SLEV"
business_document.​customer_credit_transfer_initiation.​payment_information[].​charges_accountobject(CashAccount40)

Account used to process charges associated with a transaction. Usage: Charges account should be used when charges have to be booked to an account different from the account identified in debtor's account.

business_document.​customer_credit_transfer_initiation.​payment_information[].​charges_account_agentobject(BranchAndFinancialInstitutionIdentification6)

Agent that services a charges account. Usage: Charges account agent should only be used when the charges account agent is different from the debtor agent.

business_document.​customer_credit_transfer_initiation.​payment_information[].​credit_transfer_transaction_informationArray of objects(CreditTransferTransaction54)required

Provides information on the individual transaction(s) included in the message.

business_document.​customer_credit_transfer_initiation.​payment_information[].​credit_transfer_transaction_information[].​payment_identificationobject(PaymentIdentification6)required

Set of elements used to reference a payment instruction.

business_document.​customer_credit_transfer_initiation.​payment_information[].​credit_transfer_transaction_information[].​payment_type_informationobject(PaymentTypeInformation26)

Set of elements used to further specify the type of transaction.

business_document.​customer_credit_transfer_initiation.​payment_information[].​credit_transfer_transaction_information[].​amountobject(AmountType4Choice)required
One of:

Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party.

business_document.​customer_credit_transfer_initiation.​payment_information[].​credit_transfer_transaction_information[].​exchange_rate_informationobject(ExchangeRate1)

Provides details on the currency exchange rate and contract.

business_document.​customer_credit_transfer_initiation.​payment_information[].​credit_transfer_transaction_information[].​charge_bearerstring(ChargeBearerType1Code)

Specifies which party/parties will bear the charges associated with the processing of the payment transaction.

Enum"DEBT""CRED""SHAR""SLEV"
business_document.​customer_credit_transfer_initiation.​payment_information[].​credit_transfer_transaction_information[].​mandate_related_informationobject(CreditTransferMandateData1)

Provides further details of the mandate signed between the creditor and the debtor.

business_document.​customer_credit_transfer_initiation.​payment_information[].​credit_transfer_transaction_information[].​cheque_instructionobject(Cheque11)

Set of elements needed to issue a cheque.

business_document.​customer_credit_transfer_initiation.​payment_information[].​credit_transfer_transaction_information[].​ultimate_debtorobject(PartyIdentification135)

Ultimate party that owes an amount of money to the (ultimate) creditor.

business_document.​customer_credit_transfer_initiation.​payment_information[].​credit_transfer_transaction_information[].​intermediary_agent1object(BranchAndFinancialInstitutionIdentification6)

Agent between the debtor's agent and the creditor's agent. Usage: If more than one intermediary agent is present, then IntermediaryAgent1 identifies the agent between the DebtorAgent and the IntermediaryAgent2.

business_document.​customer_credit_transfer_initiation.​payment_information[].​credit_transfer_transaction_information[].​intermediary_agent1_accountobject(CashAccount40)

Unambiguous identification of the account of the intermediary agent 1 at its servicing agent in the payment chain.

business_document.​customer_credit_transfer_initiation.​payment_information[].​credit_transfer_transaction_information[].​intermediary_agent2object(BranchAndFinancialInstitutionIdentification6)

Agent between the debtor's agent and the creditor's agent. Usage: If more than two intermediary agents are present, then IntermediaryAgent2 identifies the agent between the IntermediaryAgent1 and the IntermediaryAgent3.

business_document.​customer_credit_transfer_initiation.​payment_information[].​credit_transfer_transaction_information[].​intermediary_agent2_accountobject(CashAccount40)

Unambiguous identification of the account of the intermediary agent 2 at its servicing agent in the payment chain.

business_document.​customer_credit_transfer_initiation.​payment_information[].​credit_transfer_transaction_information[].​intermediary_agent3object(BranchAndFinancialInstitutionIdentification6)

Agent between the debtor's agent and the creditor's agent. Usage: If IntermediaryAgent3 is present, then it identifies the agent between the IntermediaryAgent 2 and the CreditorAgent.

business_document.​customer_credit_transfer_initiation.​payment_information[].​credit_transfer_transaction_information[].​intermediary_agent3_accountobject(CashAccount40)

Unambiguous identification of the account of the intermediary agent 3 at its servicing agent in the payment chain.

business_document.​customer_credit_transfer_initiation.​payment_information[].​credit_transfer_transaction_information[].​creditor_agentobject(BranchAndFinancialInstitutionIdentification6)

Financial institution servicing an account for the creditor.

business_document.​customer_credit_transfer_initiation.​payment_information[].​credit_transfer_transaction_information[].​creditor_agent_accountobject(CashAccount40)

Unambiguous identification of the account of the creditor agent at its servicing agent to which a credit entry will be made as a result of the payment transaction.

business_document.​customer_credit_transfer_initiation.​payment_information[].​credit_transfer_transaction_information[].​creditorobject(PartyIdentification135)

Party to which an amount of money is due.

business_document.​customer_credit_transfer_initiation.​payment_information[].​credit_transfer_transaction_information[].​creditor_accountobject(CashAccount40)

Unambiguous identification of the account of the creditor to which a credit entry will be posted as a result of the payment transaction.

business_document.​customer_credit_transfer_initiation.​payment_information[].​credit_transfer_transaction_information[].​ultimate_creditorobject(PartyIdentification135)

Ultimate party to which an amount of money is due.

business_document.​customer_credit_transfer_initiation.​payment_information[].​credit_transfer_transaction_information[].​instruction_for_creditor_agentArray of objects(InstructionForCreditorAgent3)

Further information related to the processing of the payment instruction, provided by the initiating party, and intended for the creditor agent.

business_document.​customer_credit_transfer_initiation.​payment_information[].​credit_transfer_transaction_information[].​instruction_for_debtor_agentobject(InstructionForDebtorAgent1)

Further information related to the processing of the payment instruction, that may need to be acted upon by the debtor agent, depending on agreement between debtor and the debtor agent.

business_document.​customer_credit_transfer_initiation.​payment_information[].​credit_transfer_transaction_information[].​purposeobject(Purpose2Choice)
One of:

Underlying reason for the payment transaction. Usage: Purpose is used by the end-customers, that is initiating party, (ultimate) debtor, (ultimate) creditor to provide information concerning the nature of the payment. Purpose is a content element, which is not used for processing by any of the agents involved in the payment chain.

business_document.​customer_credit_transfer_initiation.​payment_information[].​credit_transfer_transaction_information[].​regulatory_reportingArray of objects(RegulatoryReporting3)<= 10 items

Information needed due to regulatory and statutory requirements.

business_document.​customer_credit_transfer_initiation.​payment_information[].​credit_transfer_transaction_information[].​taxobject(TaxInformation10)

Provides details on the tax.

business_document.​customer_credit_transfer_initiation.​payment_information[].​credit_transfer_transaction_information[].​related_remittance_informationArray of objects(RemittanceLocation7)<= 10 items

Provides information related to the handling of the remittance information by any of the agents in the transaction processing chain.

business_document.​customer_credit_transfer_initiation.​payment_information[].​credit_transfer_transaction_information[].​remittance_informationobject(RemittanceInformation21)

Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts' receivable system.

business_document.​customer_credit_transfer_initiation.​payment_information[].​credit_transfer_transaction_information[].​supplementary_dataArray of objects(SupplementaryData1)

Additional information that cannot be captured in the structured elements and/or any other specific block.

business_document.​customer_credit_transfer_initiation.​supplementary_dataArray of objects(SupplementaryData1)

Additional information that cannot be captured in the structured elements and/or any other specific block.

curl -i -X POST \
  https://developer.api.commbank.com.au/core-payments/payment-initiation/v1/credit-transfer-initiations \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'x-cba-pi-saf: true' \
  -H 'x-cba-pi-saf-expiry-minutes: 15' \
  -H 'x-cba-pi-sync: true' \
  -H 'x-idempotency-id: 450e8400-c34f-99a9-c746-665544330000' \
  -H 'x-request-id: 550e8400-e29b-41d4-a716-446655440000' \
  -d '{
    "business_application_header": {
      "character_set": "string",
      "from": {
        "organisation_identification": {
          "identification": {
            "organisation_identification": {
              "other": [
                {
                  "identification": "SENDER_PARTICIPANT",
                  "scheme_name": {
                    "proprietary": "PaymentSystemId"
                  }
                },
                {
                  "identification": "SENDER_BANK",
                  "scheme_name": {
                    "proprietary": "CoreBankIdentifier"
                  }
                }
              ]
            }
          }
        }
      },
      "to": {
        "organisation_identification": {
          "identification": {
            "organisation_identification": {
              "other": [
                {
                  "identification": "RECEIVER_PARTICIPANT",
                  "scheme_name": {
                    "proprietary": "PaymentSystemId"
                  }
                },
                {
                  "identification": "RECEIVER_BANK",
                  "scheme_name": {
                    "proprietary": "CoreBankIdentifier"
                  }
                }
              ]
            }
          }
        }
      },
      "business_message_identifier": "sample-business-message-id-001",
      "message_definition_identifier": "pain.001.001.11",
      "creation_date": "2026-03-02T12:00:00.000Z"
    },
    "business_document": {
      "customer_credit_transfer_initiation": {
        "group_header": {
          "message_identification": "sample-message-id-001",
          "creation_date_time": "2026-01-08T13:50:06.300Z",
          "number_of_transactions": "1",
          "initiating_party": {
            "name": "Example Initiating Party"
          }
        },
        "payment_information": [
          {
            "payment_information_identification": "sample-payment-info-id-001",
            "payment_method": "TRF",
            "payment_type_information": {
              "service_level": [
                {
                  "code": "INST"
                }
              ]
            },
            "requested_execution_date": {
              "date": "2026-03-24"
            },
            "debtor": {
              "name": "Example Debtor"
            },
            "debtor_account": {
              "identification": {
                "other": {
                  "identification": "12345678901234",
                  "scheme_name": {
                    "code": "BBAN"
                  }
                }
              }
            },
            "debtor_agent": {
              "financial_institution_identification": {
                "clearing_system_member_identification": {
                  "clearing_system_identification": {
                    "code": "AUBSB"
                  },
                  "member_identification": "123456"
                }
              }
            },
            "credit_transfer_transaction_information": [
              {
                "payment_identification": {
                  "end_to_end_identification": "sample-end-to-end-id-001"
                },
                "payment_type_information": {
                  "category_purpose": {
                    "code": "CASH"
                  }
                },
                "amount": {
                  "instructed_amount": {
                    "currency": "AUD",
                    "amount": "0.10"
                  }
                },
                "creditor_agent": {
                  "financial_institution_identification": {
                    "clearing_system_member_identification": {
                      "clearing_system_identification": {
                        "code": "AUBSB"
                      },
                      "member_identification": "654321"
                    }
                  }
                },
                "creditor": {
                  "name": "Example Creditor"
                },
                "creditor_account": {
                  "identification": {
                    "other": {
                      "identification": "65432101234567",
                      "scheme_name": {
                        "code": "BBAN"
                      }
                    }
                  }
                },
                "purpose": {
                  "code": "CASH"
                },
                "remittance_information": {
                  "unstructured": [
                    "Sample remittance reference"
                  ]
                }
              }
            ]
          }
        ]
      }
    }
  }'

Responses

The request is being processed with payment status returned.

Headers
Content-Typestring
Content-Languagestring
x-request-idstring(uuid)
Bodyapplication/json
customer_payment_status_reportobject(CustomerPaymentStatusReportV12)required

Scope

The CustomerPaymentStatusReport message is sent by an instructed agent to the previous party in the payment chain. It is used to inform this party about the positive or negative status of an instruction (either single or file). It is also used to report on a pending instruction.

Usage

The CustomerPaymentStatusReport message is exchanged between an agent and a non-financial institution customer to provide status information on instructions previously sent. Its usage will always be governed by a bilateral agreement between the agent and the non-financial institution customer.

The CustomerPaymentStatusReport message can be used to provide information about the status (for example a rejection, an acceptance) of the initiation of a credit transfer, a direct debit, as well as on the initiation of other customer instructions.

The CustomerPaymentStatusReport message refers to the original instruction(s) by means of references only or by means of references and a set of elements from the original instruction.

The CustomerPaymentStatusReport message can be used in domestic and cross-border scenarios.

The CustomerPaymentStatusReport may also be sent to the receiver of the payment in a real time payment scenario, as both sides of the transactions must be informed of the status of the transaction (that is either the beneficiary is credited, or the transaction is rejected).

customer_payment_status_report.​group_headerobject(GroupHeader86)required

Set of characteristics shared by all individual transactions included in the status report message.

customer_payment_status_report.​group_header.​message_identificationstring(Max35Text)[ 1 .. 35 ] charactersrequired

Point to point reference, as assigned by the instructing party, and sent to the next party in the chain to unambiguously identify the message. Usage: The instructing party has to make sure that 'MessageIdentification' is unique per instructed party for a pre-agreed period.

customer_payment_status_report.​group_header.​creation_date_timestring(ISODateTime)^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]...required

Date and time at which the message was created.

customer_payment_status_report.​group_header.​initiating_partyobject(PartyIdentification135)

Party that initiates the status message.

customer_payment_status_report.​group_header.​forwarding_agentobject(BranchAndFinancialInstitutionIdentification6)

Financial institution that receives the instruction from the initiating party and forwards it to the next agent in the payment chain.

customer_payment_status_report.​group_header.​debtor_agentobject(BranchAndFinancialInstitutionIdentification6)

Financial institution servicing an account for the debtor.

customer_payment_status_report.​group_header.​creditor_agentobject(BranchAndFinancialInstitutionIdentification6)

Financial institution servicing an account for the creditor.

customer_payment_status_report.​original_group_information_and_statusobject(OriginalGroupHeader17)required

Original group information concerning the group of transactions, to which the status report message refers to.

customer_payment_status_report.​original_group_information_and_status.​original_message_identificationstring(Max35Text)[ 1 .. 35 ] charactersrequired

Point to point reference, as assigned by the original instructing party, to unambiguously identify the original message.

customer_payment_status_report.​original_group_information_and_status.​original_message_name_identificationstring(Max35Text)[ 1 .. 35 ] charactersrequired

Specifies the original message name identifier to which the message refers.

customer_payment_status_report.​original_group_information_and_status.​original_creation_date_timestring(ISODateTime)^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]...

Date and time at which the original message was created.

customer_payment_status_report.​original_group_information_and_status.​original_number_of_transactionsstring(Max15NumericText)^[0-9]{1,15}$

Number of individual transactions contained in the original message.

customer_payment_status_report.​original_group_information_and_status.​original_control_sumstring(DecimalNumber)<= 19 characters

Total of all individual amounts included in the original message, irrespective of currencies.

customer_payment_status_report.​original_group_information_and_status.​group_statusstring(ExternalPaymentGroupStatus1Code)[ 1 .. 4 ] characters

Specifies the status of a group of transactions.

Enum"ACCP""ACCC""ACSC""ACSP""ACTC""ACWC""PART""PDNG""RCVD""RJCT"
customer_payment_status_report.​original_group_information_and_status.​status_reason_informationArray of objects(StatusReasonInformation12)

Provides detailed information on the status reason.

customer_payment_status_report.​original_group_information_and_status.​number_of_transactions_per_statusArray of objects(NumberOfTransactionsPerStatus5)

Detailed information on the number of transactions for each identical transaction status.

customer_payment_status_report.​original_payment_information_and_statusArray of objects(OriginalPaymentInstruction40)

Information concerning the original payment information, to which the status report message refers.

customer_payment_status_report.​supplementary_dataArray of objects(SupplementaryData1)

Additional information that cannot be captured in the structured elements and/or any other specific block.

Response
application/json
{ "customer_payment_status_report": { "group_header": {}, "original_group_information_and_status": {}, "original_payment_information_and_status": [] } }