connector for swift gpi - tracker api detailed specificationconnector for swift gpi tracker api...

84
Connector For SWIFT gpi Tracker API Detailed Specification This document provides details of the APIs, including the request and response body structures, the element types and the associated code lists and constraints. 09 February 2018

Upload: others

Post on 30-May-2020

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector For SWIFT gpi

Tracker API Detailed Specification This document provides details of the APIs, including the request and response body structures, the element types and the associated code lists and constraints.

09 February 2018

Page 2: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification Table of Contents

09 February 2018 4

Table of Contents Table of Contents ............................................................................................................................... 4

Preface ................................................................................................................................................. 6

1 API Set Overview ...................................................................................................................... 7 List of APIs .............................................................................................................................. 7 1.1

2 UpdatePaymentStatusRequest ............................................................................................. 10 API Functionality ...................................................................................................................10 2.1 Structure ................................................................................................................................10 2.2 Constraints ............................................................................................................................11 2.3 Building Blocks ......................................................................................................................11 2.4

3 UpdatePaymentStatusResponse .......................................................................................... 18 API Functionality ...................................................................................................................18 3.1 Structure ................................................................................................................................18 3.2 Building Blocks ......................................................................................................................18 3.3

4 GetPaymentTransactionDetailsRequest .............................................................................. 19 API Functionality ...................................................................................................................19 4.1 Structure ................................................................................................................................19 4.2 Constraints ............................................................................................................................19 4.3 Building Blocks ......................................................................................................................19 4.4

5 GetPaymentTransactionDetailsResponse ........................................................................... 21 API Functionality ...................................................................................................................21 5.1 Structure ................................................................................................................................21 5.2 Constraints ............................................................................................................................23 5.3 Building Blocks ......................................................................................................................23 5.4

6 GetPaymentTransactionsRequest ........................................................................................ 35 API Functionality ...................................................................................................................35 6.1 Structure ................................................................................................................................36 6.2 Constraints ............................................................................................................................36 6.3 Building Blocks ......................................................................................................................36 6.4

7 GetPaymentTransactionsResponse ..................................................................................... 42 API Functionality ...................................................................................................................42 7.1 Structure ................................................................................................................................42 7.2 Constraints ............................................................................................................................43 7.3 Building Blocks ......................................................................................................................43 7.4

8 GetChangedPaymentTransactionsRequest ........................................................................ 51 API Functionality ...................................................................................................................51 8.1 Structure ................................................................................................................................51 8.2 Constraints ............................................................................................................................51 8.3 Building Blocks ......................................................................................................................51 8.4

9 GetChangedPaymentTransactionsResponse ..................................................................... 53 API Functionality ...................................................................................................................53 9.1 Structure ................................................................................................................................53 9.2 Constraints ............................................................................................................................55 9.3 Building Blocks ......................................................................................................................55 9.4

Page 3: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification

09 February 2018 5

10 GetInvalidEventsRequest ...................................................................................................... 69 API Functionality ...................................................................................................................69 10.1 Structure ................................................................................................................................69 10.2 Constraints ............................................................................................................................69 10.3 Building Blocks ......................................................................................................................69 10.4

11 GetInvalidEventsResponse ................................................................................................... 71 API Functionality ...................................................................................................................71 11.1 Structure ................................................................................................................................71 11.2 Constraints ............................................................................................................................71 11.3 Building Blocks ......................................................................................................................71 11.4

12 Types........................................................................................................................................ 75 Date Time ..............................................................................................................................75 12.1 Datatypes ..............................................................................................................................75 12.2

A.1 JSON – Snake Case ................................................................................................................ 83

A.2 JSON – Amount Representation: .......................................................................................... 85

Page 4: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification Preface

09 February 2018 6

Preface About this document

This document provides details of the APIs, including the request and response body structures, the element types, and the associated code lists and constraints.

Intended audience

This document is for the following audience: • Business analysts to understand the functionality of the API • Business architects to understand the functionality of the API and how to integrate the

use of the API within their organisation • Software developers of applications using the API to assess the complexity of the API

First edition

This is the first edition of the document.

Related documentation • Connector for SWIFT gpi Tracker API Specification • Connector for SWIFT gpi Tracker API JSON Schemas • Connector for SWIFT gpi Service Description • SWIFT gpi Service Description

Page 5: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification API Set Overview

09 February 2018 7

1 API Set Overview List of APIs 1.1

The following table lists all APIs described in this book.

API Definition

camt.a01.001.02 UpdatePaymentStatusRequest This API is a status confirmation update to inform the Tracker about the updated status of a given payment.

camt.a01.002.02 UpdatePaymentStatusResponse

This API is the response to a status confirmation update to inform the Tracker about the updated status of a given payment.

camt.a02.001.02 GetPaymentTransactionDetailsRequest

This API is a payment query to get detailed information regarding a given payment transaction. It requires the UETR to be known. Examples of use cases are:

• Debtor status check - debtor's agent or debtor wants to see the status

• Creditor status check - creditor's agent or creditor wants to see the status

camt.a02.002.02 GetPaymentTransactionDetailsResponse

This API is the response to a payment query to get detailed information regarding a given payment transaction. Examples of use cases are:

• Debtor status check - debtor's agent or debtor wants to see the status

• Creditor status check - creditor's agent or creditor wants to see the status

camt.a03.001.02 GetPaymentTransactionsRequest

This API is a payment transaction search to get transaction-level information regarding all payments that match the search criteria. To have full information of a given payment transaction, the GetPaymentTransactionDetailsRequest can be used. Examples of use cases are:

• Investigation by a participating institution based on criteria given by a customer, such as instructed amount, time of initiation

• Flow monitoring, for instance to find payments that are "stuck" for which the institution is the beneficiary institution

• Feed a dashboard - give all payment transactions with their last status

Page 6: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification API Set Overview

09 February 2018 8

camt.a03.002.02 GetPaymentTransactionsResponse

This API is the response to a payment transaction search to get transaction-level information regarding all payments that match the search criteria. Examples of use cases are:

• Investigation by a participating institution based on criteria given by a customer, such as instructed amount, time of initiation

• Flow monitoring, for instance to find payments that are "stuck" for which the institution is the beneficiary institution

• Feed a dashboard - give all payment transactions with their last status

camt.a04.001.02 GetChangedPaymentTransactionsRequest

This API is a delta query to get all payment update information starting from a given date and time. This API allows synchronization of a local database with the Tracker database. All use cases applicable for the get and search of payment transactions apply also for this API. The use of the API to get the last changed payment transactions is driven by an architectural choice to feed a local database and to optimise the flow between the Tracker and the API caller.

camt.a04.002.02 GetChangedPaymentTransactionsResponse

This API is the response to a delta query to get all payment update information starting from a given date and time. This API allows synchronization of a local database with the Tracker database. All use cases applicable for the get and search of payment transactions apply also for this API. The use of the API to get the last changed payment transactions is driven by an architectural choice to feed a local database and to optimise the flow between the Tracker and the API caller.

camt.a05.001.02 GetInvalidEventsRequest This API is a payment events query to get invalid events for payment transactions within a given time frame. An event is either a payment or a status confirmation. The API is typically used for support or audit purposes, where all invalid messages sent or received are retrievable by one API call.

Page 7: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification API Set Overview

09 February 2018 9

camt.a05.002.02 GetInvalidEventsResponse This API is a payment events response to a query to get invalid events for payment transactions within a given time frame. An event is either a payment or a status confirmation. The API is typically used for support or audit purposes, where all invalid messages sent or received are retrievable by one API call.

Page 8: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification UpdatePaymentStatusRequest

09 February 2018 10

2 UpdatePaymentStatusRequest API Functionality 2.1

This API is a status confirmation update to inform the Tracker about the updated status of a given payment.

Outline

The UpdatePaymentStatusRequest API is composed of 5 BuildingBlocks:

A. From

The sending MessagingEndpoint that has created this business message for the receiving MessagingEndpoint that will process this business message.

The sending MessagingEndpoint might be different from the sending address potentially contained in the transport header (as defined in the transport layer).

B. BusinessService

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: 001

C. TransactionIdentification

Contains the unique end to end transaction reference (UETR). Format is lowercase separated by hyphens.

D. InstructionIdentification

Unique identification, as assigned by an instructing party for an instructed party, to unambiguously identify the instruction.

Usage: the instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.

E. PaymentStatus

Contains the details on the payment status.

Structure 2.2Or Element/BuildingBlock Mult. Type Constr.

No.

UpdatePaymentStatusRequest [1..1]

From [1..1] IdentifierSet C3

BusinessService [1..1] Text

TransactionIdentification [1..1] Text

InstructionIdentification [1..1] Text

PaymentStatus [1..1] {Or RawStatus [1..1] Text Or} DetailedStatus [1..1]

Originator [1..1] IdentifierSet C3

Page 9: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification UpdatePaymentStatusRequest

09 February 2018 11

FundsAvailable [0..1] DateTime

TransactionStatus [1..1] C1

Status [1..1] CodeSet

Reason [0..1] CodeSet

ForwardedAgent [0..1] IdentifierSet C3

ConfirmedAmount [1..1] Amount C2, C4

ForeignExchangeDetails [0..1]

FromCurrency [1..1] CodeSet C2

ToCurrency [1..1] CodeSet C2

ExchangeRate [1..1] Rate

ChargeAmount [0..*] Amount C2, C4

Constraints 2.3C1 ACSPReasonCode

Reason must only be present if status contains ACSP.

C2 ActiveOrHistoricCurrency

The currency code must be registered, or have already been registered. Valid active or historic currency codes are registered with the ISO 4217 Maintenance Agency, consist of three (3) contiguous letters, and may be or not be withdrawn on the day the message containing the currency is exchanged.

C3 AnyBIC

Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

C4 CurrencyAmount The number of fractional digits (or minor unit of currency) must comply with ISO 4217.

Note The decimal separator is a dot.

Building Blocks 2.4This chapter describes the BuildingBlocks of this API.

2.4.1 From Presence: [1..1]

Definition: 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).

Impacted by: C3 "AnyBIC"

Datatype: "AnyBICIdentifier"

Page 10: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification UpdatePaymentStatusRequest

09 February 2018 12

Constraints

• AnyBIC Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

2.4.2 BusinessService Presence: [1..1]

Definition: 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: 001

Datatype: "Max35Text"

2.4.3 TransactionIdentification Presence: [1..1]

Definition: Contains the unique end to end transaction reference (UETR). Format is lowercase separated by hyphens.

Datatype: "Max40Text"

2.4.4 InstructionIdentification Presence: [1..1]

Definition: Unique identification, as assigned by an instructing party for an instructed party, to unambiguously identify the instruction.

Usage: The instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.

Datatype: "Max35Text"

2.4.5 PaymentStatus Presence: [1..1]

Definition: Contains the details on the payment status.

PaymentStatus contains one of the following PaymentStatusType1Choice elements

Or Element Mult. Type Constr. No.

{Or RawStatus [1..1] Text Or} DetailedStatus [1..1]

Originator [1..1] IdentifierSet C3

FundsAvailable [0..1] DateTime

TransactionStatus [1..1] C1

Status [1..1] CodeSet

Reason [0..1] CodeSet

ForwardedAgent [0..1] IdentifierSet C3

ConfirmedAmount [1..1] Amount C2, C4

Page 11: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification UpdatePaymentStatusRequest

09 February 2018 13

ForeignExchangeDetails [0..1]

FromCurrency [1..1] CodeSet C2

ToCurrency [1..1] CodeSet C2

ExchangeRate [1..1] Rate

ChargeAmount [0..*] Amount C2, C4

2.4.5.1 RawStatus Presence: [1..1]

Definition: Contains the status of the payment taken from field 79 of the MT 199.

Datatype: "Max1850Text"

2.4.5.2 DetailedStatus Presence: [1..1]

Definition: Contains the detailed status of a Payment.

DetailedStatus contains the following StatusDetails1 elements

Or Element Mult. Type Constr. No.

Originator [1..1] IdentifierSet C3

FundsAvailable [0..1] DateTime

TransactionStatus [1..1] C1

Status [1..1] CodeSet

Reason [0..1] CodeSet

ForwardedAgent [0..1] IdentifierSet C3

ConfirmedAmount [1..1] Amount C2, C4

ForeignExchangeDetails [0..1]

FromCurrency [1..1] CodeSet C2

ToCurrency [1..1] CodeSet C2

ExchangeRate [1..1] Rate

ChargeAmount [0..*] Amount C2, C4

2.4.5.2.1 Originator

Presence: [1..1]

Definition: Party that issues the status.

Impacted by: C3 "AnyBIC"

Datatype: "AnyBICIdentifier" Constraints

• AnyBIC Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

Page 12: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification UpdatePaymentStatusRequest

09 February 2018 14

2.4.5.2.2 FundsAvailable

Presence: [0..1]

Definition: Date and time at which the funds are available, as reported in the ACSC status update.

Datatype: "ISODateTime"

2.4.5.2.3 TransactionStatus

Presence: [1..1]

Definition: Specifies the status of the transaction.

Impacted by: C1 "ACSPReasonCode"

TransactionStatus contains the following PaymentStatus3 elements

Or Element Mult. Type Constr. No.

Status [1..1] CodeSet

Reason [0..1] CodeSet

Constraints

• ACSPReasonCode Reason must only be present if status contains ACSP.

2.4.5.2.3.1 Status

Presence: [1..1]

Definition: Reason for the status, as published in an external reason code list.

Datatype: "TransactionIndividualStatus4Code"

Code Name Name Definition

RJCT Rejected Payment initiation or individual transaction included in the payment initiation has been rejected.

ACSP AcceptedSettlementInProcess All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution.

ACSC1 AcceptedSettlementCompleted Settlement on the debtor's account has been completed. Usage : this can be used by the first agent to report to the debtor that the transaction has been completed. Warning : this status is provided for transaction status reasons, not for financial information. It can only be used after bilateral agreement

1 In the SWIFT gpi Customer Credit Transfer (gCCT) Rulebook, ACSC is defined as “settlement completed ; creditor has been credited or the funds have been made available to the creditor, final status”.

Page 13: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification UpdatePaymentStatusRequest

09 February 2018 15

2.4.5.2.3.2 Reason

Presence: [0..1]

Definition: Provides more details on the status in process.

Datatype: "PaymentReason1Code"

Code Name Name Definition

G002 CreditNotConfirmed Credit to creditor's account cannot be confirmed same day. Update will follow.

G004 CreditPendingFunds Credit to creditor's account is pending, status originator waiting for funds provided by or on behalf of the Instructing or Intermediary gpi Agent. Update will follow.

G000 GpiAgent Payment is pushed to next gpi Agent or gpi-compatible market infrastructure.

G001 NonGpiAgent Payment is pushed to a non-gpi Agent or un-supported market infrastructure. No further updates from the status originator.

G003 CreditPendingDocuments Credit to creditor's account is pending receipt of required documents. Instructed gpi Agent has requested the creditor to provide additional documentation. Update will follow.

2.4.5.2.4 ForwardedAgent

Presence: [0..1]

Definition: Specifies the BIC of the entity to which the entity reporting the status has forwarded the payment transaction.

This element can only be used in case the status is ACSP and the reason is G000 or G001.

Impacted by: C3 "AnyBIC"

Datatype: "AnyBICIdentifier" Constraints

• AnyBIC Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

2.4.5.2.5 ConfirmedAmount

Presence: [1..1]

Definition: The actual amount that has been paid to the ultimate beneficiary, after all charges etc. have been deducted.

Impacted by: C2 "ActiveOrHistoricCurrency", C4 "CurrencyAmount"

Note More codes are expected to be defined for this element when the code list is next enhanced as part of ISO 20022 maintenance; this code may therefore change to "ACCC" in a future release.

Page 14: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification UpdatePaymentStatusRequest

09 February 2018 16

Datatype: "ActiveOrHistoricCurrencyAndAmount" Constraints

• ActiveOrHistoricCurrency The currency code must be registered, or have already been registered. Valid active or historic currency codes are registered with the ISO 4217 Maintenance Agency, consist of three (3) contiguous letters, and may be or not be withdrawn on the day the message containing the currency is exchanged.

• CurrencyAmount The number of fractional digits (or minor unit of currency) must comply with ISO 4217.

Note The decimal separator is a dot.

2.4.5.2.6 ForeignExchangeDetails

Presence: [0..1]

Definition: Specifies the exchange rate details between two currencies.

ForeignExchangeDetails contains the following ForeignExchangeTerms32 elements

Or Element Mult. Type Constr. No.

FromCurrency [1..1] CodeSet C2

ToCurrency [1..1] CodeSet C2

ExchangeRate [1..1] Rate

2.4.5.2.6.1 FromCurrency

Presence: [1..1]

Definition: Currency for which a foreign exchange is required.

Impacted by: C2 "ActiveOrHistoricCurrency"

Datatype: "ActiveOrHistoricCurrencyCode" Constraints

• ActiveOrHistoricCurrency The currency code must be registered, or have already been registered. Valid active or historic currency codes are registered with the ISO 4217 Maintenance Agency, consist of three (3) contiguous letters, and may be or not be withdrawn on the day the message containing the currency is exchanged.

2.4.5.2.6.2 ToCurrency

Presence: [1..1]

Definition: Currency resulting from a foreign exchange trade.

Impacted by: C2 "ActiveOrHistoricCurrency"

Datatype: "ActiveOrHistoricCurrencyCode" Constraints

• ActiveOrHistoricCurrency The currency code must be registered, or have already been registered. Valid active or historic currency codes are registered with the ISO 4217 Maintenance Agency, consist of three (3) contiguous letters, and may be or not be withdrawn on the day the message containing the currency is exchanged.

Page 15: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification UpdatePaymentStatusRequest

09 February 2018 17

2.4.5.2.6.3 ExchangeRate

Presence: [1..1]

Definition: The value of one currency expressed in relation to another currency. ExchangeRate expresses the ratio between FromCurrency and ToCurrency (ExchangeRate = FromCurrency/ ToCurrency).

Datatype: "BaseOneRate"

2.4.5.2.7 ChargeAmount

Presence: [0..*]

Definition: Amount of money asked or paid for the charge.

Impacted by: C2 "ActiveOrHistoricCurrency", C4 "CurrencyAmount"

Datatype: "ActiveOrHistoricCurrencyAndAmount" Constraints

• ActiveOrHistoricCurrency The currency code must be registered, or have already been registered. Valid active or historic currency codes are registered with the ISO 4217 Maintenance Agency, consist of three (3) contiguous letters, and may be or not be withdrawn on the day the message containing the currency is exchanged.

• CurrencyAmount

The number of fractional digits (or minor unit of currency) must comply with ISO 4217.

Note The decimal separator is a dot.

Page 16: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification UpdatePaymentStatusResponse

09 February 2018 18

3 UpdatePaymentStatusResponse API Functionality 3.1

This API is the response to a status confirmation update to inform the Tracker about the updated status of a given payment.

Outline

The UpdatePaymentStatusResponse API is composed of 1 BuildingBlocks:

A. NetworkReference

Reference assigned by the network.

Structure 3.2Or Element/BuildingBlock Mult. Type Constr. No.

UpdatePaymentStatusResponse [1..1]

NetworkReference [1..1] Text

Building Blocks 3.3This chapter describes the BuildingBlocks of this API.

3.3.1 NetworkReference Presence: [1..1]

Definition: Reference assigned by the network.

Datatype: "Max350Text"

Page 17: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionDetailsRequest

09 February 2018 19

4 GetPaymentTransactionDetailsRequest API Functionality 4.1

This API is a payment query to get detailed information regarding a given payment transaction. It requires the UETR to be known.

Examples of use cases are:

• Debtor status check - debtor's agent or debtor wants to see the status • Creditor status check - creditor's agent or creditor wants to see the status Outline

The GetPaymentTransactionDetailsRequest API is composed of 2 BuildingBlocks:

A. MyInstitution

Specifies the institution which payments are requested.

B. TransactionIdentification

Contains the unique end to end transaction reference (UETR) of a payment.

Structure 4.2Or Element/BuildingBlock Mult. Type Constr.

No.

GetPaymentTransactionDetailsRequest [1..1]

MyInstitution [1..250] IdentifierSet C1

TransactionIdentification [1..1] Text

Constraints 4.3C1 AnyBIC

Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

Building Blocks 4.4This chapter describes the BuildingBlocks of this API.

4.4.1 MyInstitution Presence: [1..250]

Definition: Specifies the institution which payments are requested.

Impacted by: C1 "AnyBIC"

Datatype: "AnyBICIdentifier" Constraints

• AnyBIC Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

Page 18: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionDetailsRequest

09 February 2018 20

4.4.2 TransactionIdentification Presence: [1..1]

Definition: Contains the unique end to end transaction reference (UETR) of a payment.

Datatype: "Max40Text"

Page 19: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionDetailsResponse

09 February 2018 21

5 GetPaymentTransactionDetailsResponse API Functionality 5.1

This API is the response to a payment query to get detailed information regarding a given payment transaction.

Examples of use cases are:

• Debtor status check - debtor's agent or debtor wants to see the status • Creditor status check - creditor's agent or creditor wants to see the status Outline

The GetPaymentTransactionDetailsResponse API is composed of 6 BuildingBlocks:

A. TransactionIdentification

Contains the unique end to end transaction reference (UETR) of a payment.

B. TransactionStatus

Specifies the status of a transaction, in a coded form.

C. InitiationTime

Date and time at which the message enters the SWIFT gpi system.

D. CompletionTime

Time at which the instructed bank reports that the transaction has been completed.

Date and time based on the creation date of the status confirmation containing a final status ACSC.

E. LastUpdateTime

Last date and time at which the status of this transaction was updated.

F. PaymentEvent

This groups the information of an event, that is, of a payment message or status confirmation update. It is repeated as many times as there are events to be returned.

Structure 5.2Or Element/BuildingBlock Mult. Type Constr.

No.

GetPaymentTransactionDetailsResponse [1..1]

TransactionIdentification [1..1] Text

TransactionStatus [1..1] C1

Status [1..1] CodeSet

Reason [0..1] CodeSet

InitiationTime [1..1] DateTime

CompletionTime [0..1] DateTime

LastUpdateTime [0..1] DateTime

PaymentEvent [0..*]

NetworkReference [1..1] Text

MessageNameIdentification [1..1] Text

Page 20: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionDetailsResponse

09 February 2018 22

BusinessService [1..1] Text

Valid [1..1] Indicator

InvalidityReason [0..1] CodeSet

InvalidityDescription [0..1] Text

SenderReference [0..1] Text

InstructionIdentification [1..1] Text

TransactionStatus [0..1] C1

Status [1..1] CodeSet

Reason [0..1] CodeSet

ForwardedAgent [0..1] IdentifierSet C4

FundsAvailable [0..1] DateTime

From [0..1] IdentifierSet C4

To [0..1] IdentifierSet C4

Originator [0..1] IdentifierSet C4

CreditorAgent [0..1] IdentifierSet C4

PreviousInstructingAgent [0..1] IdentifierSet C4

SenderAcknowledgementReceipt [1..1] DateTime

ReceivedDate [0..1] DateTime

InstructedAmount [0..1] Amount C3, C5

ConfirmedAmount [0..1] Amount C3, C5

InterbankSettlementAmount [0..1] Amount C2, C6

InterbankSettlementDate [0..1] Date

ChargeBearer [0..1] CodeSet

ChargeAmount [0..*] Amount C3, C5

ForeignExchangeDetails [0..1]

FromCurrency [1..1] CodeSet C3

ToCurrency [1..1] CodeSet C3

ExchangeRate [1..1] Rate

UpdatePayment [0..1] Text

DuplicateMessageReference [0..1] Text

CopiedBusinessService [0..1] Text

LastUpdateTime [1..1] DateTime

Page 21: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionDetailsResponse

09 February 2018 23

Constraints 5.3C1 ACSPReasonCode

Reason must only be present if status contains ACSP.

C2 ActiveCurrency

The currency code must be a valid active currency code, not yet withdrawn on the day the message containing the currency is exchanged. Valid active currency codes are registered with the ISO 4217 Maintenance Agency, consist of three (3) contiguous letters, and are not yet withdrawn on the day the message containing the currency is exchanged.

C3 ActiveOrHistoricCurrency

The currency code must be registered, or have already been registered. Valid active or historic currency codes are registered with the ISO 4217 Maintenance Agency, consist of three (3) contiguous letters, and may be or not be withdrawn on the day the message containing the currency is exchanged.

C4 AnyBIC

Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

C5 CurrencyAmount

The number of fractional digits (or minor unit of currency) must comply with ISO 4217.

Note The decimal separator is a dot.

C6 CurrencyAmount

The number of fractional digits (or minor unit of currency) must comply with ISO 4217.

Note Note: The decimal separator is a dot.

Building Blocks 5.4This chapter describes the BuildingBlocks of this API.

5.4.1 TransactionIdentification Presence: [1..1]

Definition: Contains the unique end to end transaction reference (UETR) of a payment.

Datatype: "Max40Text"

5.4.2 TransactionStatus Presence: [1..1]

Definition: Specifies the status of a transaction, in a coded form.

Impacted by: C1 "ACSPReasonCode"

TransactionStatus contains the following PaymentStatus3 elements

Or Element Mult. Type Constr. No.

Status [1..1] CodeSet

Reason [0..1] CodeSet

Page 22: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionDetailsResponse

09 February 2018 24

Constraints

• ACSPReasonCode Reason must only be present if Status contains ACSP.

5.4.2.1 Status Presence: [1..1]

Definition: Reason for the status, as published in an external reason code list.

Datatype: "TransactionIndividualStatus4Code"

Code Name Name Definition

RJCT Rejected Payment initiation or individual transaction included in the payment initiation has been rejected.

ACSP AcceptedSettlementInProcess All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution.

ACSC AcceptedSettlementCompleted Settlement on the debtor's account has been completed. Usage: this can be used by the first agent to report to the debtor that the transaction has been completed. Warning: this status is provided for transaction status reasons, not for financial information. It can only be used after bilateral agreement

5.4.2.2 Reason Presence: [0..1]

Definition: Provides more details on the status in process.

Datatype: "PaymentReason1Code"

Code Name Name Definition

G002 CreditNotConfirmed Credit to creditor's account cannot be confirmed same day. Update will follow.

G004 CreditPendingFunds Credit to creditor's account is pending, status originator waiting for funds provided by or on behalf of the Instructing or Intermediary gpi Agent. Update will follow.

G000 GpiAgent Payment is pushed to next gpi Agent or gpi-compatible market infrastructure.

G001 NonGpiAgent Payment is pushed to a non-gpi Agent or un-supported market infrastructure. No further updates from the status originator.

Page 23: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionDetailsResponse

09 February 2018 25

G003 CreditPendingDocuments Credit to creditor's account is pending receipt of required documents. Instructed gpi Agent has requested the creditor to provide additional documentation. Update will follow.

5.4.3 InitiationTime Presence: [1..1]

Definition: Date and time at which the message enters the SWIFT gpi system.

Datatype: "ISODateTime"

5.4.4 CompletionTime Presence: [0..1]

Definition: Time at which the instructed bank reports that the transaction has been completed.

Date and time based on the creation date of the status confirmation containing a final status ACSC.

Datatype: "ISODateTime"

5.4.5 LastUpdateTime Presence: [0..1]

Definition: Last date and time at which the status of this transaction was updated.

Datatype: "ISODateTime"

5.4.6 PaymentEvent Presence: [0..*]

Definition: This groups the information of an event, that is, of a payment message or status confirmation update. It is repeated as many times as there are events to be returned.

PaymentEvent contains the following PaymentEvent1 elements

Or Element Mult. Type Constr. No.

NetworkReference [1..1] Text

MessageNameIdentification [1..1] Text

BusinessService [1..1] Text

Valid [1..1] Indicator

InvalidityReason [0..1] CodeSet

InvalidityDescription [0..1] Text

SenderReference [0..1] Text

InstructionIdentification [1..1] Text

TransactionStatus [0..1] C1

Status [1..1] CodeSet

Page 24: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionDetailsResponse

09 February 2018 26

Reason [0..1] CodeSet

ForwardedAgent [0..1] IdentifierSet C4

FundsAvailable [0..1] DateTime

From [0..1] IdentifierSet C4

To [0..1] IdentifierSet C4

Originator [0..1] IdentifierSet C4

CreditorAgent [0..1] IdentifierSet C4

PreviousInstructingAgent [0..1] IdentifierSet C4

SenderAcknowledgementReceipt [1..1] DateTime

ReceivedDate [0..1] DateTime

InstructedAmount [0..1] Amount C3, C5

ConfirmedAmount [0..1] Amount C3, C5

InterbankSettlementAmount [0..1] Amount C2, C6

InterbankSettlementDate [0..1] Date

ChargeBearer [0..1] CodeSet

ChargeAmount [0..*] Amount C3, C5

ForeignExchangeDetails [0..1]

FromCurrency [1..1] CodeSet C3

ToCurrency [1..1] CodeSet C3

ExchangeRate [1..1] Rate

UpdatePayment [0..1] Text

DuplicateMessageReference [0..1] Text

CopiedBusinessService [0..1] Text

LastUpdateTime [1..1] DateTime

5.4.6.1 NetworkReference Presence: [1..1]

Definition: Reference assigned by the network when sending the payment.

Datatype: "Max350Text"

5.4.6.2 MessageNameIdentification Presence: [1..1]

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

Datatype: "Max35Text"

5.4.6.3 BusinessService Presence: [1..1]

Page 25: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionDetailsResponse

09 February 2018 27

Definition: 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: 001

Datatype: "Max35Text"

5.4.6.4 Valid Presence: [1..1]

Definition: Indicates if a payment is consistent (YES) or not (NO).

Datatype: One of the following values must be used (see "YesNoIndicator" ):

• Meaning When True: Yes • Meaning When False: No

5.4.6.5 InvalidityReason Presence: [0..1]

Definition: Contains the additional information in case the event is not a valid component of a payment transaction.

Datatype: "InvalidPaymentsEvent1Code"

5.4.6.6 InvalidityDescription Presence: [0..1]

Definition: Contains a textual description as to why the event is not a valid component of a payments transaction.

Datatype: "Max350Text"

5.4.6.7 SenderReference Presence: [0..1]

Definition: Identification assigned by the sender of the message.

For MT format this is the MUR.

Datatype: "Max30Text"

5.4.6.8 InstructionIdentification Presence: [1..1]

Definition: Unique identification, as assigned by an instructing party for an instructed party, to unambiguously identify the instruction.

Usage: The instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.

Datatype: "Max35Text"

5.4.6.9 TransactionStatus Presence: [0..1]

Definition: Specifies the status of a transaction, in a coded form.

Impacted by: C1 "ACSPReasonCode"

TransactionStatus contains the following PaymentStatus3 elements

Page 26: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionDetailsResponse

09 February 2018 28

Or Element Mult. Type Constr. No.

Status [1..1] CodeSet

Reason [0..1] CodeSet

Constraints

• ACSPReasonCode Reason must only be present if status contains ACSP.

5.4.6.9.1 Status

Presence: [1..1]

Definition: Reason for the status, as published in an external reason code list.

Datatype: "TransactionIndividualStatus4Code"

Code Name Name Definition

RJCT Rejected Payment initiation or individual transaction included in the payment initiation has been rejected.

ACSP AcceptedSettlementInProcess All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution.

ACSC AcceptedSettlementCompleted Settlement on the debtor's account has been completed.

Usage: this can be used by the first agent to report to the debtor that the transaction has been completed. Warning: this status is provided for transaction status reasons, not for financial information. It can only be used after bilateral agreement.

5.4.6.9.2 Reason Presence: [0..1]

Definition: Provides more details on the status in process.

Datatype: "PaymentReason1Code"

Code Name Name Definition

G002 CreditNotConfirmed Credit to creditor's account cannot be confirmed same day. Update will follow.

G004 CreditPendingFunds Credit to creditor's account is pending, status originator waiting for funds provided by or on behalf of the Instructing or Intermediary gpi Agent. Update will follow.

G000 GpiAgent Payment is pushed to next gpi Agent or gpi-compatible market infrastructure.

G001 NonGpiAgent Payment is pushed to a non-gpi Agent or un-supported market infrastructure. No further updates from the status originator.

Page 27: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionDetailsResponse

09 February 2018 29

G003 CreditPendingDocuments Credit to creditor's account is pending receipt of required documents. Instructed gpi Agent has requested the creditor to provide additional documentation. Update will follow.

5.4.6.10ForwardedAgent Presence: [0..1]

Definition: Specifies the BIC of the entity to which the entity reporting the status has forwarded the payment transaction.

Impacted by: C4 "AnyBIC"

Datatype: "AnyBICIdentifier" Constraints

• AnyBIC Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

5.4.6.11FundsAvailable Presence: [0..1]

Definition: Date and time at which the funds are available, as reported in the ACSC status update.

Must only be used when TransactionStatus is "ACSC".

Datatype: "ISODateTime"

5.4.6.12From Presence: [0..1]

Definition: 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).

Impacted by: C4 "AnyBIC"

Datatype: "AnyBICIdentifier" Constraints

• AnyBIC Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

5.4.6.13To Presence: [0..1]

Definition: 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).

Impacted by: C4 "AnyBIC"

Page 28: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionDetailsResponse

09 February 2018 30

Datatype: "AnyBICIdentifier"

Constraints

• AnyBIC Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

5.4.6.14Originator Presence: [0..1]

Definition: Party that issues the status.

Impacted by: C4 "AnyBIC"

Datatype: "AnyBICIdentifier" Constraints

• AnyBIC Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

5.4.6.15CreditorAgent Presence: [0..1]

Definition: Financial institution servicing an account for the creditor.

Impacted by: C4 "AnyBIC"

Datatype: "AnyBICIdentifier"

Constraints

• AnyBIC Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

5.4.6.16PreviousInstructingAgent Presence: [0..1]

Definition: Agent immediately prior to the instructing agent.

Impacted by: C4 "AnyBIC"

Datatype: "AnyBICIdentifier" Constraints

• AnyBIC Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

5.4.6.17SenderAcknowledgementReceipt Presence: [1..1]

Definition: Date and time at which the sender acknowledged receipt of the message.

Datatype: "ISODateTime"

Page 29: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionDetailsResponse

09 February 2018 31

5.4.6.18ReceivedDate Presence: [0..1]

Definition: Date and time at which the message was acknowledged by the receiver.

Datatype: "ISODateTime"

5.4.6.19InstructedAmount Presence: [0..1]

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

Usage: This amount has to be transported unchanged through the transaction chain.

Impacted by: C3 "ActiveOrHistoricCurrency", C5 "CurrencyAmount"

Datatype: "ActiveOrHistoricCurrencyAndAmount" Constraints

ActiveOrHistoricCurrency The currency code must be registered, or have already been registered. Valid active or historic currency codes are registered with the ISO 4217 Maintenance Agency, consist of three (3) contiguous letters, and may be or not be withdrawn on the day the message containing the currency is exchanged. CurrencyAmount The number of fractional digits (or minor unit of currency) must comply with ISO 4217.

Note The decimal separator is a dot.

5.4.6.20ConfirmedAmount Presence: [0..1]

Definition: The actual amount that has been paid to the ultimate beneficiary, after all charges etc. have been deducted.

Impacted by: C3 "ActiveOrHistoricCurrency", C5 "CurrencyAmount"

Datatype: "ActiveOrHistoricCurrencyAndAmount"

Constraints

ActiveOrHistoricCurrency The currency Code must be registered, or have already been registered. Valid active or historic currency codes are registered with the ISO 4217 Maintenance Agency, consist of three (3) contiguous letters, and may be or not be withdrawn on the day the message containing the currency is exchanged. CurrencyAmount The number of fractional digits (or minor unit of currency) must comply with ISO 4217.

Note The decimal separator is a dot.

5.4.6.21InterbankSettlementAmount Presence: [0..1]

Definition: Amount of money moved between the instructing agent and the instructed agent.

Impacted by: C2 "ActiveCurrency", C6 "CurrencyAmount"

Datatype: "ActiveCurrencyAndAmount" Constraints

• ActiveCurrency

Page 30: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionDetailsResponse

09 February 2018 32

The currency code must be a valid active currency code, not yet withdrawn on the day the message containing the currency is exchanged. Valid active currency codes are registered with the ISO 4217 Maintenance Agency, consist of three (3) contiguous letters, and are not yet withdrawn on the day the message containing the currency is exchanged.

• CurrencyAmount The number of fractional digits (or minor unit of currency) must comply with ISO 4217.

Note The decimal separator is a dot.

5.4.6.22InterbankSettlementDate Presence: [0..1]

Definition: Date on which the amount of money ceases to be available to the agent that owes it and when the amount of money becomes available to the agent to which it is due.

Datatype: "ISODate"

5.4.6.23ChargeBearer Presence: [0..1]

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

Datatype: "ChargeBearerType3Code"

Code Name Name Definition

SHAR Shared In a credit transfer context, means that transaction charges on the sender side are to be borne by the debtor, transaction charges on the receiver side are to be borne by the creditor. In a direct debit context, means that transaction charges on the sender side are to be borne by the creditor, transaction charges on the receiver side are to be borne by the debtor.

DEBT BorneByDebtor All transaction charges are to be borne by the debtor.

CRED BorneByCreditor All transaction charges are to be borne by the creditor.

5.4.6.24ChargeAmount Presence: [0..*]

Definition: Amount of money asked or paid for the charge.

Impacted by: C3 "ActiveOrHistoricCurrency", C5 "CurrencyAmount"

Datatype: "ActiveOrHistoricCurrencyAndAmount"

Constraints

• ActiveOrHistoricCurrency The currency code must be registered, or have already been registered. Valid active or historic currency codes are registered with the ISO 4217 Maintenance Agency, consist of three (3) contiguous letters, and may be or not be withdrawn on the day the message containing the currency is exchanged.

• CurrencyAmount The number of fractional digits (or minor unit of currency) must comply with ISO 4217.

Note The decimal separator is a dot.

Page 31: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionDetailsResponse

09 February 2018 33

5.4.6.25ForeignExchangeDetails Presence: [0..1]

Definition: Specifies the exchange rate details between two currencies.

ForeignExchangeDetails contains the following ForeignExchangeTerms32 elements

Or Element Mult. Type Constr. No.

FromCurrency [1..1] CodeSet C3

ToCurrency [1..1] CodeSet C3

ExchangeRate [1..1] Rate

5.4.6.25.1 From Currency Presence: [1..1]

Definition: Currency for which a foreign exchange is required.

Impacted by: C3 "ActiveOrHistoricCurrency"

Datatype: "ActiveOrHistoricCurrencyCode" Constraints

• ActiveOrHistoricCurrency The currency code must be registered, or have already been registered. Valid active or historic currency codes are registered with the ISO 4217 Maintenance Agency, consist of three (3) contiguous letters, and may be or not be withdrawn on the day the message containing the currency is exchanged.

5.4.6.25.2 ToCurrency Presence: [1..1]

Definition: Currency resulting from a foreign exchange trade.

Impacted by: C3 "ActiveOrHistoricCurrency"

Datatype: "ActiveOrHistoricCurrencyCode" Constraints

• ActiveOrHistoricCurrency The currency code must be registered, or have already been registered. Valid active or historic currency codes are registered with the ISO 4217 Maintenance Agency, consist of three (3) contiguous letters, and may be or not be withdrawn on the day the message containing the currency is exchanged.

5.4.6.25.3 ExchangeRate Presence: [1..1]

Definition: The value of one currency expressed in relation to another currency. ExchangeRate expresses the ratio between FromCurrency and ToCurrency (ExchangeRate = FromCurrency/ ToCurrency).

Datatype: "BaseOneRate"

5.4.6.26 UpdatePayment Presence: [0..1]

Definition: Implements the correlation between a payment message and a status update on it.

Contains the network reference of the payment for which the status confirmation was applicable.

Page 32: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionDetailsResponse

09 February 2018 34

Datatype: "Max35Text"

5.4.6.27 DuplicateMessageReference Presence: [0..1]

Definition: Network reference of the payment that is the original recorded payment.

Datatype: "Max50Text"

5.4.6.28 CopiedBusinessService Presence: [0..1]

Definition: Specifies the copied business service of the market infrastructure.

Datatype: "Max35Text"

5.4.6.29 LastUpdateTime Presence: [1..1]

Definition: Last date and time at which the status of this payment event was updated.

Datatype: "ISODateTime"

Page 33: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionsRequest

09 February 2018 35

6 GetPaymentTransactionsRequest API Functionality 6.1

This API is a payment transaction search to get transaction-level information regarding all payments that match the search criteria. To have full information of a given payment transaction, the GetPaymentTransactionDetailsRequest can be used.

Examples of use cases are:

• Investigation by a participating institution based on criteria given by a customer, such as instructed amount, time of initiation

• Flow monitoring, for instance to find payments that are "stuck" for which the institution is the beneficiary institution

• Feed a dashboard - give all payment transactions with their last status Outline

The GetPaymentTransactionsRequest API is composed of 10 BuildingBlocks:

A. MyInstitution

Specifies an institution that is owned by the sender, for which the sender can ask payment transaction details.

B. TimeWindow

Time window for this institution to which the search applies.

C. Agent

Identifies agent(s) involved in a payment transaction.

D. Location

Specifies the location of the search.

E. InstructionIdentification

Unique identification, as assigned by an instructing party for an instructed party, to unambiguously identify the instruction.

Usage: The instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.

F. TransactionStatus

Specifies the status of a transaction, in a coded form.

G. Amount

Specifies the amount range for a given currency and amount type.

H. Event

Specifies one of the states of the payment transaction.

I. MaximumNumber

Indicates the maximum number of entries returned.

J. More

Contains the token to get the next set of responses.

Page 34: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionsRequest

09 February 2018 36

Structure 6.2Or Element/BuildingBlock Mult. Type Constr.

No.

GetPaymentTransactionsRequest [1..1]

MyInstitution [1..250] IdentifierSet C2

TimeWindow [1..1] ±

Agent [0..*]

AnyBIC [1..*] IdentifierSet C2

Role [1..1] CodeSet

Location [0..1] CodeSet

InstructionIdentification [0..1] Text

TransactionStatus [0..*] C1

Status [1..1] CodeSet

Reason [0..1] CodeSet

Amount [0..1]

Type [1..1] CodeSet

Currency [0..1] CodeSet C3

FromAmount [1..1] Amount

ToAmount [1..1] Amount

Event [1..1] CodeSet

MaximumNumber [1..1] Quantity

More [0..1] Text

Constraints 6.3C1 ACSPReasonCode

Reason must only be present if status contains ACSP.

C2 AnyBIC

Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

C3 ValidationByTable

Must be a valid currency code which is registered with the ISO 4217 Maintenance Agency, and consist of three contiguous letters.

Building Blocks 6.4This chapter describes the BuildingBlocks of this API.

Page 35: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionsRequest

09 February 2018 37

6.4.1 MyInstitution Presence: [1..250]

Definition: Specifies an institution that is owned by the sender, for which the sender can ask payment transaction details.

Impacted by: C2 "AnyBIC"

Datatype: "AnyBICIdentifier" Constraints

• AnyBIC Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

6.4.2 TimeWindow Presence: [1..1]

Definition: Time window for this institution to which the search applies.

TimeWindow contains the following elements (see "DateTimePeriodDetails" for details)

Or Element Mult. Type Constr. No.

FromDateTime [1..1] DateTime

ToDateTime [1..1] DateTime

6.4.3 Agent Presence: [0..*]

Definition: Identifies agent(s) involved in a payment transaction.

Agent contains the following AgentType1 elements

Or Element Mult. Type Constr. No.

AnyBIC [1..*] IdentifierSet C2

Role [1..1] CodeSet

6.4.3.1 AnyBIC Presence: [1..*]

Definition: Code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority, as described in ISO 9362 "Banking - Banking telecommunication messages - Business identifier code (BIC)".

Impacted by: C2 "AnyBIC"

Datatype: "AnyBICIdentifier" Constraints

• AnyBIC Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

Page 36: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionsRequest

09 February 2018 38

6.4.3.2 Role Presence: [1..1]

Definition: Specifies the role of the party in the payment chain.

Datatype: "PaymentsPartyType1Code"

6.4.4 Location Presence: [0..1]

Definition: Specifies the location of the search.

Datatype: "Location1Code"

Code Name Name Definition

OTHR AtAnotherInstitution At another institution

MYIN AtMyInstitution At my institution.

6.4.5 InstructionIdentification Presence: [0..1]

Definition: Unique identification, as assigned by an instructing party for an instructed party, to unambiguously identify the instruction.

Usage: The instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.

Datatype: "Max35Text"

6.4.6 TransactionStatus Presence: [0..*]

Definition: Specifies the status of a transaction, in a coded form.

Impacted by: C1 "ACSPReasonCode"

TransactionStatus contains the following PaymentStatus3 elements

Or Element Mult. Type Constr. No.

Status [1..1] CodeSet

Reason [0..1] CodeSet

Constraints

• ACSPReasonCode Reason must only be present if status contains ACSP.

6.4.6.1 Status Presence: [1..1]

Definition: Reason for the status, as published in an external reason code list.

Datatype: "TransactionIndividualStatus4Code"

Code Name Name Definition

RJCT Rejected Payment initiation or individual transaction included in the payment initiation has been rejected.

Page 37: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionsRequest

09 February 2018 39

ACSP AcceptedSettlementInProcess All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution.

ACSC AcceptedSettlementCompleted Settlement on the debtor's account has been completed. Usage: this can be used by the first agent to report to the debtor that the transaction has been completed. Warning: this status is provided for transaction status reasons, not for financial information. It can only be used after bilateral agreement.

6.4.6.2 Reason Presence: [0..1]

Definition: Provides more details on the status in process.

Datatype: "PaymentReason1Code"

Code Name Name Definition

G002 CreditNotConfirmed Credit to creditor's account cannot be confirmed same day.

Update will follow.

G004 CreditPendingFunds Credit to creditor's account is pending, status originator waiting for funds provided by or on behalf of the Instructing or Intermediary gpi Agent. Update will follow.

G000 GpiAgent Payment is pushed to next gpi Agent or gpi-compatible market infrastructure.

G001 NonGpiAgent Payment is pushed to a non-gpi Agent or un-supported market infrastructure. No further updates from the status originator.

G003 CreditPendingDocuments Credit to creditor's account is pending receipt of required documents. Instructed gpi Agent has requested the creditor to provide additional documentation.

Update will follow.

6.4.7 Amount Presence: [0..1]

Definition: Specifies the amount range for a given currency and amount type.

Amount contains the following AmountType1 elements

Or Element Mult. Type Constr. No.

Type [1..1] CodeSet

Page 38: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionsRequest

09 February 2018 40

Currency [0..1] CodeSet C3

FromAmount [1..1] Amount

ToAmount [1..1] Amount

6.4.7.1 Type Presence: [1..1]

Definition: Specifies the type of amount.

Datatype: "TypeOfAmount8Code"

Code Name Name Definition

CONF ConfirmedAmount The actual amount that has been paid to the ultimate beneficiary, after all charges etc. have been deducted.

INST InstructedAmount Amount of money to be moved between the debtor (ordering customer) and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party. Usage: This amount has to be transported unchanged through the transaction chain.

6.4.7.2 Currency Presence: [0..1]

Definition: Currency code of the ranged amount.

Impacted by: C3 "ValidationByTable"

Datatype: "CurrencyCode" Constraints

• ValidationByTable

6.4.7.3 FromAmount Presence: [1..1]

Definition: Lowest amount value

Datatype: "ImpliedCurrencyAndAmount"

6.4.7.4 ToAmount Presence: [1..1]

Definition: Highest amount value

Datatype: "ImpliedCurrencyAndAmount"

6.4.8 Event Presence: [1..1]

Definition: Specifies one of the states of the payment transaction.

Datatype: "PaymentTransactionState1Code"

Code Name Name Definition

CRED Credited The transaction is credited.

Page 39: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionsRequest

09 February 2018 41

RCCA ReceivedAtCreditorAgent The transaction is received at the creditor's agent.

RCMY ReceivedByMyInstitution The transaction is received by my institution.

STMY SentByMyInstitution The transaction is sent by my institution.

STDA SentByDebtorAgent The transaction is sent by the debtor's agent.

6.4.9 MaximumNumber Presence: [1..1]

Definition: Indicates the maximum number of entries returned.

Datatype: "Number"

6.4.10 More Presence: [0..1]

Definition: Contains the token to get the next set of responses.

Datatype: "Max350Text"

Page 40: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionsResponse

09 February 2018 42

7 GetPaymentTransactionsResponse API Functionality 7.1

This API is the response to a payment transaction search to get transaction-level information regarding all payments that match the search criteria.

Examples of use cases are:

• Investigation by a participating institution based on criteria given by a customer, such as instructed amount, time of initiation

• Flow monitoring, for instance to find payments that are "stuck" for which the institution is the beneficiary institution

• Feed a dashboard - give all payment transactions with their last status Outline The GetPaymentTransactionsResponse API is composed of 3 BuildingBlocks:

A. PaymentTransaction

Contains the payment transactions that meet the search criteria.

B. TotalNumber

Contains the total number of returned result entries.

C. More

Contains a token to obtain the next set of responses. It indicates whether there are more results to retrieve, what timestamp to start from and how many more result entries are to be retrieved.

Structure 7.2Or Element/BuildingBlock Mult. Type Constr. No.

GetPaymentTransactionsResponse [1..1]

PaymentTransaction [1..*]

TransactionIdentification [1..1] Text

MyInstitution [1..1] IdentifierSet C3

Role [1..1] CodeSet

EventTime [1..1] DateTime

TransactionStatus [1..1] C1

Status [1..1] CodeSet

Reason [0..1] CodeSet

PreviousInstructingAgent [0..1] IdentifierSet C3

Agents [1..*]

From [0..1] IdentifierSet C3

To [0..1] IdentifierSet C3

TransactionStatus [1..1] C1

Status [1..1] CodeSet

Page 41: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionsResponse

09 February 2018 43

Reason [0..1] CodeSet

ForwardedAgent [0..1] IdentifierSet C3

Received [1..1] Indicator

CreditorAgent [0..1] IdentifierSet C3

InitiationTime [1..1] DateTime

CompletionTime [0..1] DateTime

InstructedAmount [1..1] Amount C2, C4

LastUpdateTime [1..1] DateTime

TotalNumber [1..1] Quantity

More [0..1] Text

Constraints 7.3C1 ACSPReasonCode

Reason must only be present if status contains ACSP.

C2 ActiveOrHistoricCurrency

The currency code must be registered, or have already been registered. Valid active or historic currency codes are registered with the ISO 4217 Maintenance Agency, consist of three (3) contiguous letters, and may be or not be withdrawn on the day the message containing the currency is exchanged.

C3 AnyBIC

Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

C4 CurrencyAmount

The number of fractional digits (or minor unit of currency) must comply with ISO 4217.

Note The decimal separator is a dot.

Building Blocks 7.4This chapter describes the BuildingBlocks of this API.

7.4.1 PaymentTransaction Presence: [1..*]

Definition: Contains the payment transactions that meet the search criteria.

PaymentTransaction contains the following PaymentTransaction72 elements

Or Element Mult. Type Constr. No.

TransactionIdentification [1..1] Text

MyInstitution [1..1] IdentifierSet C3

Role [1..1] CodeSet

Page 42: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionsResponse

09 February 2018 44

EventTime [1..1] DateTime

TransactionStatus [1..1] C1

Status [1..1] CodeSet

Reason [0..1] CodeSet

PreviousInstructingAgent [0..1] IdentifierSet C3

Agents [1..*]

From [0..1] IdentifierSet C3

To [0..1] IdentifierSet C3

TransactionStatus [1..1] C1

Status [1..1] CodeSet

Reason [0..1] CodeSet

ForwardedAgent [0..1] IdentifierSet C3

Received [1..1] Indicator

CreditorAgent [0..1] IdentifierSet C3

InitiationTime [1..1] DateTime

CompletionTime [0..1] DateTime

InstructedAmount [1..1] Amount C2, C4

LastUpdateTime [1..1] DateTime

7.4.1.1 TransactionIdentification Presence: [1..1]

Definition: Contains the unique end to end transaction reference (UETR) of a payment.

Datatype: "Max40Text"

7.4.1.2 MyInstitution Presence: [1..1]

Definition: Specifies an institution that is owned by the sender, for which the sender can ask payment transaction details.

Impacted by: C3 "AnyBIC"

Datatype: "AnyBICIdentifier" Constraints

• AnyBIC Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

7.4.1.3 Role Presence: [1..1]

Definition: Specifies the role of the party in the payment chain.

Datatype: "PaymentsPartyType1Code"

Page 43: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionsResponse

09 February 2018 45

7.4.1.4 EventTime Presence: [1..1]

Definition: Time determined by the Role that the entity defined in MyInstitution is playing in this transaction.

Datatype: "ISODateTime"

7.4.1.5 TransactionStatus Presence: [1..1]

Definition: Specifies the status of a transaction, in a coded form.

Impacted by: C1 "ACSPReasonCode"

TransactionStatus contains the following PaymentStatus3 elements

Or Element Mult. Type Constr. No.

Status [1..1] CodeSet

Reason [0..1] CodeSet

Constraints

• ACSPReasonCode Reason must only be present if status contains ACSP.

7.4.1.5.1 Status

Presence: [1..1]

Definition: Reason for the status, as published in an external reason code list.

Datatype: "TransactionIndividualStatus4Code"

Code Name Name Definition

RJCT Rejected Payment initiation or individual transaction included in the payment initiation has been rejected.

ACSP AcceptedSettlementInProcess All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution.

ACSC AcceptedSettlementCompleted Settlement on the debtor's account has been completed.

Usage: this can be used by the first agent to report to the debtor that the transaction has been completed. Warning: this status is provided for transaction status reasons, not for financial information. It can only be used after bilateral agreement

7.4.1.5.2 Reason Presence: [0..1]

Definition: Provides more details on the status in process.

Datatype: "PaymentReason1Code"

Page 44: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionsResponse

09 February 2018 46

Code Name Name Definition

G002 CreditNotConfirmed Credit to creditor's account cannot be confirmed same day. Update will follow.

G004 CreditPendingFunds Credit to creditor's account is pending, status originator waiting for funds provided by or on behalf of the Instructing or Intermediary gpi Agent. Update will follow.

G000 GpiAgent Payment is pushed to next gpi Agent or gpi-compatible market infrastructure.

G001 NonGpiAgent Payment is pushed to a non-gpi Agent or un-supported market infrastructure. No further updates from the status originator.

G003 CreditPendingDocuments Credit to creditor's account is pending receipt of required documents. Instructed gpi Agent has requested the creditor to provide additional documentation. Update will follow.

7.4.1.6 PreviousInstructingAgent Presence: [0..1]

Definition: Agent immediately prior to the instructing agent.

Impacted by: C3 "AnyBIC"

Datatype: "AnyBICIdentifier" Constraints

• AnyBIC Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

7.4.1.7 Agents Presence: [1..*]

Definition: Identifies the agents currently participating in a transaction.

Agents contains the following PaymentEvent2 elements

Or Element Mult. Type Constr. No.

From [0..1] IdentifierSet C3

To [0..1] IdentifierSet C3

TransactionStatus [1..1] C1

Status [1..1] CodeSet

Reason [0..1] CodeSet

ForwardedAgent [0..1] IdentifierSet C3

Received [1..1] Indicator

Page 45: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionsResponse

09 February 2018 47

7.4.1.7.1 From Presence: [0..1]

Definition: 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).

Impacted by: C3 "AnyBIC"

Datatype: "AnyBICIdentifier" Constraints

• AnyBIC Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

7.4.1.7.2 To Presence: [0..1]

Definition: 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).

Impacted by: C3 "AnyBIC"

Datatype: "AnyBICIdentifier"

Constraints

• AnyBIC Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

7.4.1.7.3 TransactionStatus Presence: [1..1]

Definition: Specifies the status of a transaction, in a coded form.

Impacted by: C1 "ACSPReasonCode"

TransactionStatus contains the following PaymentStatus3 elements

Or Element Mult. Type Constr. No.

Status [1..1] CodeSet

Reason [0..1] CodeSet

Constraints

• ACSPReasonCode Reason must only be present if status contains ACSP.

7.4.1.7.3.1 Status Presence: [1..1]

Definition: Reason for the status, as published in an external reason code list.

Page 46: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionsResponse

09 February 2018 48

Datatype: "TransactionIndividualStatus4Code"

Code Name Name Definition

RJCT Rejected Payment initiation or individual transaction included in the payment initiation has been rejected.

ACSP AcceptedSettlementInProcess All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution.

ACSC AcceptedSettlementCompleted Settlement on the debtor's account has been completed. Usage: this can be used by the first agent to report to the debtor that the transaction has been completed. Warning: this status is provided for transaction status reasons, not for financial information. It can only be used after bilateral agreement.

7.4.1.7.3.2 Reason Presence: [0..1]

Definition: Provides more details on the status in process.

Datatype: "PaymentReason1Code"

Code Name Name Definition

G002 CreditNotConfirmed Credit to creditor's account cannot be confirmed same day. Update will follow.

G004 CreditPendingFunds Credit to creditor's account is pending, status originator waiting for funds provided by or on behalf of the Instructing or Intermediary gpi Agent. Update will follow.

G000 GpiAgent Payment is pushed to next gpi Agent or gpi-compatible market infrastructure.

G001 NonGpiAgent Payment is pushed to a non-gpi Agent or un-supported market infrastructure. No further updates from the status originator.

G003 CreditPendingDocuments Credit to creditor's account is pending receipt of required documents. Instructed gpi Agent has requested the creditor to provide additional documentation. Update will follow.

7.4.1.7.4 ForwardedAgent Presence: [0..1]

Definition: Specifies the BIC of the entity to which the entity reporting the status has forwarded the payment transaction.

Impacted by: C3 "AnyBIC"

Page 47: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionsResponse

09 February 2018 49

Datatype: "AnyBICIdentifier" Constraints

• AnyBIC Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

7.4.1.7.5 Received Presence: [1..1]

Definition: Indicates whether a payment has been received or not.

Datatype: One of the following values must be used (see "YesNoIndicator" ):

• Meaning When True: Yes • Meaning When False: No

7.4.1.8 CreditorAgent Presence: [0..1]

Definition: Financial institution servicing an account for the creditor.

Impacted by: C3 "AnyBIC"

Datatype: "AnyBICIdentifier"

Constraints

• AnyBIC Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

7.4.1.9 InitiationTime Presence: [1..1]

Definition: Date and time at which the message enters the SWIFT gpi system.

Datatype: "ISODateTime"

7.4.1.10CompletionTime Presence: [0..1]

Definition: Time at which the instructed bank reports that the transaction has been completed.

Date and time based on the creation date of the status confirmation containing a final status ACSC.

Datatype: "ISODateTime"

7.4.1.11InstructedAmount Presence: [1..1]

Definition: 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.

This amount has to be transported unchanged through the transaction chain.

Impacted by: C2 "ActiveOrHistoricCurrency", C4 "CurrencyAmount"

Datatype: "ActiveOrHistoricCurrencyAndAmount" Constraints

• ActiveOrHistoricCurrency

Page 48: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetPaymentTransactionsResponse

09 February 2018 50

The currency code must be registered, or have already been registered. Valid active or historic currency codes are registered with the ISO 4217 Maintenance Agency, consist of three (3) contiguous letters, and may be or not be withdrawn on the day the message containing the currency is exchanged.

• CurrencyAmount The number of fractional digits (or minor unit of currency) must comply with ISO 4217.

Note The decimal separator is a dot.

7.4.1.12LastUpdateTime Presence: [1..1]

Definition: Last date and time at which the status of this transaction was updated.

Datatype: "ISODateTime"

7.4.2 TotalNumber Presence: [1..1]

Definition: Contains the total number of returned result entries.

Datatype: "Number"

7.4.3 More Presence: [0..1]

Definition: Contains a token to obtain the next set of responses. It indicates whether there are more results to retrieve, what timestamp to start from and how many more result entries are to be retrieved.

Datatype: "Max350Text"

Page 49: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetChangedPaymentTransactionsRequest

09 February 2018 51

8 GetChangedPaymentTransactionsRequest API Functionality 8.1

This API is a delta query to get all payment update information starting from a given date and time. This API allows synchronization of a local database with the Tracker database.

All use cases applicable for the get and search of payment transactions apply also for this API.

The use of the API to get the last changed payment transactions is driven by an architectural choice to feed a local database and to optimise the flow between the Tracker and the API caller.

Outline

The GetChangedPaymentTransactionsRequest API is composed of 3 BuildingBlocks:

A. MyInstitution

Specifies the institution which payments are requested.

B. StartTime

Contains the start date and time as from which the last changed payment transactions must be provided.

C. More

Contains a token to obtain the next set of responses. It indicates whether there are more results to retrieve, what timestamp to start from and how many more result entries are to be retrieved.

Structure 8.2Or Element/BuildingBlock Mult. Type Constr.

No.

GetChangedPaymentTransactionsRequest [1..1] C2

MyInstitution [1..250] IdentifierSet C1

StartTime [0..1] DateTime

More [0..1] Text

Constraints 8.3C1 AnyBIC

Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

C2 StartTimeOrMoreMustBePresent

StartTime or More must be present. If both are present, then the StartTime must be the same as on the previous request from which the More token has been taken.

Note This constraint is defined at the API level.

Building Blocks 8.4This chapter describes the BuildingBlocks of this API.

Page 50: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetChangedPaymentTransactionsRequest

09 February 2018 52

8.4.1 MyInstitution Presence: [1..250]

Definition: Specifies the institution which payments are requested.

Impacted by: C1 "AnyBIC"

Datatype: "AnyBICIdentifier" Constraints

• AnyBIC Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

8.4.2 StartTime Presence: [0..1]

Definition: Contains the start date and time as from which the last changed payment transactions must be provided.

Datatype: "ISODateTime"

8.4.3 More Presence: [0..1]

Definition: Contains a token to obtain the next set of responses. It indicates whether there are more results to retrieve, what timestamp to start from and how many more result entries are to be retrieved.

Datatype: "Max350Text"

Page 51: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetChangedPaymentTransactionsResponse

09 February 2018 53

9 GetChangedPaymentTransactionsResponse API Functionality 9.1

This API is the response to a delta query to get all payment update information starting from a given date and time. This API allows synchronization of a local database with the Tracker database.

All use cases applicable for the get and search of payment transactions apply also for this API.

The use of the API to get the last changed payment transactions is driven by an architectural choice to feed a local database and to optimise the flow between the tracker and the API caller.

Outline

The GetChangedPaymentTransactionsResponse API is composed of 2 BuildingBlocks:

A. PaymentTransaction

Contains the payment transactions that meet the search criteria.

B. More

Contains a token to obtain the next set of responses. It indicates whether there are more results to retrieve, what timestamp to start from and how many more result entries are to be retrieved.

Structure 9.2Or Element/BuildingBlock Mult. Type Constr.

No.

GetChangedPaymentTransactionsResponse [1..1]

PaymentTransaction [0..*]

TransactionIdentification [1..1] Text

TransactionStatus [1..1] C1

Status [1..1] CodeSet

Reason [0..1] CodeSet

InitiationTime [1..1] DateTime

CompletionTime [0..1] DateTime

LastUpdateTime [1..1] DateTime

PaymentEvent [1..*]

NetworkReference [1..1] Text

MessageNameIdentification [1..1] Text

BusinessService [1..1] Text

Valid [1..1] Indicator

InvalidityReason [0..1] CodeSet

Page 52: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetChangedPaymentTransactionsResponse

09 February 2018 54

InvalidityDescription [0..1] Text

SenderReference [0..1] Text

InstructionIdentification [1..1] Text

TransactionStatus [0..1] C1

Status [1..1] CodeSet

Reason [0..1] CodeSet

ForwardedAgent [0..1] IdentifierSet C4

FundsAvailable [0..1] DateTime

From [0..1] IdentifierSet C4

To [0..1] IdentifierSet C4

Originator [0..1] IdentifierSet C4

CreditorAgent [0..1] IdentifierSet C4

PreviousInstructingAgent [0..1] IdentifierSet C4

SenderAcknowledgementReceipt [1..1] DateTime

ReceivedDate [0..1] DateTime

InstructedAmount [0..1] Amount C3, C5

ConfirmedAmount [0..1] Amount C3, C5

InterbankSettlementAmount [0..1] Amount C2, C6

InterbankSettlementDate [0..1] Date

ChargeBearer [0..1] CodeSet

ChargeAmount [0..*] Amount C3, C5

ForeignExchangeDetails [0..1]

FromCurrency [1..1] CodeSet C3

ToCurrency [1..1] CodeSet C3

ExchangeRate [1..1] Rate

UpdatePayment [0..1] Text

DuplicateMessageReference [0..1] Text

CopiedBusinessService [0..1] Text

LastUpdateTime [1..1] DateTime

More [0..1] Text

Page 53: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetChangedPaymentTransactionsResponse

09 February 2018 55

Constraints 9.3C1 ACSPReasonCode

Reason must only be present if status contains ACSP.

C2 ActiveCurrency

The currency code must be a valid active currency code, not yet withdrawn on the day the message containing the currency is exchanged. Valid active currency codes are registered with the ISO 4217 Maintenance Agency, consist of three (3) contiguous letters, and are not yet withdrawn on the day the message containing the currency is exchanged.

C3 ActiveOrHistoricCurrency

The currency code must be registered, or have already been registered. Valid active or historic currency codes are registered with the ISO 4217 Maintenance Agency, consist of three (3) contiguous letters, and may be or not be withdrawn on the day the message containing the currency is exchanged.

C4 AnyBIC

Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

C5 CurrencyAmount

The number of fractional digits (or minor unit of currency) must comply with ISO 4217.

Note Note: The decimal separator is a dot.

C6 CurrencyAmount

The number of fractional digits (or minor unit of currency) must comply with ISO 4217.

Note The decimal separator is a dot.

Building Blocks 9.4This chapter describes the BuildingBlocks of this API.

9.4.1 PaymentTransaction Presence: [0..*]

Definition: Contains the payment transactions that meet the search criteria.

PaymentTransaction contains the following PaymentTransaction73 elements

Or Element Mult. Type Constr. No.

TransactionIdentification [1..1] Text

TransactionStatus [1..1] C1

Status [1..1] CodeSet

Reason [0..1] CodeSet

InitiationTime [1..1] DateTime

Page 54: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetChangedPaymentTransactionsResponse

09 February 2018 56

CompletionTime [0..1] DateTime

LastUpdateTime [1..1] DateTime

PaymentEvent [1..*]

NetworkReference [1..1] Text

MessageNameIdentification [1..1] Text

BusinessService [1..1] Text

Valid [1..1] Indicator

InvalidityReason [0..1] CodeSet

InvalidityDescription [0..1] Text

SenderReference [0..1] Text

InstructionIdentification [1..1] Text

TransactionStatus [0..1] C1

Status [1..1] CodeSet

Reason [0..1] CodeSet

ForwardedAgent [0..1] IdentifierSet C4

FundsAvailable [0..1] DateTime

From [0..1] IdentifierSet C4

To [0..1] IdentifierSet C4

Originator [0..1] IdentifierSet C4

CreditorAgent [0..1] IdentifierSet C4

PreviousInstructingAgent [0..1] IdentifierSet C4

SenderAcknowledgementReceipt [1..1] DateTime

ReceivedDate [0..1] DateTime

InstructedAmount [0..1] Amount C3, C5

ConfirmedAmount [0..1] Amount C3, C5

InterbankSettlementAmount [0..1] Amount C2, C6

InterbankSettlementDate [0..1] Date

ChargeBearer [0..1] CodeSet

ChargeAmount [0..*] Amount C3, C5

ForeignExchangeDetails [0..1]

FromCurrency [1..1] CodeSet C3

Page 55: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetChangedPaymentTransactionsResponse

09 February 2018 57

ToCurrency [1..1] CodeSet C3

ExchangeRate [1..1] Rate

UpdatePayment [0..1] Text

DuplicateMessageReference [0..1] Text

CopiedBusinessService [0..1] Text

LastUpdateTime [1..1] DateTime

9.4.1.1 TransactionIdentification Presence: [1..1]

Definition: Contains the unique end to end transaction reference (UETR) of a payment.

Datatype: "Max40Text"

9.4.1.2 TransactionStatus Presence: [1..1]

Definition: Specifies the status of a transaction, in a coded form.

Impacted by: C1 "ACSPReasonCode"

TransactionStatus contains the following PaymentStatus3 elements

Or Element Mult. Type Constr. No.

Status [1..1] CodeSet

Reason [0..1] CodeSet

Constraints

• ACSPReasonCode Reason must only be present if status contains ACSP.

9.4.1.2.1 Status Presence: [1..1]

Definition: Reason for the status, as published in an external reason code list.

Datatype: "TransactionIndividualStatus4Code"

Code Name Name Definition

RJCT Rejected Payment initiation or individual transaction included in the payment initiation has been rejected.

ACSP AcceptedSettlementInProcess All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution.

Page 56: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetChangedPaymentTransactionsResponse

09 February 2018 58

ACSC AcceptedSettlementCompleted Settlement on the debtor's account has been completed. Usage: this can be used by the first agent to report to the debtor that the transaction has been completed. Warning: this status is provided for transaction status reasons, not for financial information. It can only be used after bilateral agreement.

9.4.1.2.2 Reason Presence: [0..1]

Definition: Provides more details on the status in process.

Datatype: "PaymentReason1Code"

Code Name Name Definition

G002 CreditNotConfirmed Credit to creditor's account cannot be confirmed same day. Update will follow.

G004 CreditPendingFunds Credit to creditor's account is pending, status originator waiting for funds provided by or on behalf of the Instructing or Intermediary gpi Agent. Update will follow.

G000 GpiAgent Payment is pushed to next gpi Agent or gpi-compatible market infrastructure.

G001 NonGpiAgent Payment is pushed to a non-gpi Agent or un-supported market infrastructure. No further updates from the status originator.

G003 CreditPendingDocuments Credit to creditor's account is pending receipt of required documents. Instructed gpi Agent has requested the creditor to provide additional documentation. Update will follow.

9.4.1.3 InitiationTime Presence: [1..1]

Definition: Date and time at which the message enters the SWIFT gpi system.

Datatype: "ISODateTime"

9.4.1.4 CompletionTime Presence: [0..1]

Definition: Time at which the instructed bank reports that the transaction has been completed.

Page 57: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetChangedPaymentTransactionsResponse

09 February 2018 59

Date and time based on the creation date of the status confirmation containing a final status ACSC.

Datatype: "ISODateTime"

9.4.1.5 LastUpdateTime Presence: [1..1]

Definition: Last date and time at which the status of this transaction was updated.

Datatype: "ISODateTime"

9.4.1.6 PaymentEvent Presence: [1..*]

Definition: This groups the information of an event, that is, of a payment message or status confirmation update. It is repeated as many times as there are events to be returned.

PaymentEvent contains the following PaymentEvent1 elements

Or Element Mult. Type Constr. No.

NetworkReference [1..1] Text

MessageNameIdentification [1..1] Text

BusinessService [1..1] Text

Valid [1..1] Indicator

InvalidityReason [0..1] CodeSet

InvalidityDescription [0..1] Text

SenderReference [0..1] Text

InstructionIdentification [1..1] Text

TransactionStatus [0..1] C1

Status [1..1] CodeSet

Reason [0..1] CodeSet

ForwardedAgent [0..1] IdentifierSet C4

FundsAvailable [0..1] DateTime

From [0..1] IdentifierSet C4

To [0..1] IdentifierSet C4

Originator [0..1] IdentifierSet C4

CreditorAgent [0..1] IdentifierSet C4

PreviousInstructingAgent [0..1] IdentifierSet C4

SenderAcknowledgementReceipt [1..1] DateTime

ReceivedDate [0..1] DateTime

Page 58: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetChangedPaymentTransactionsResponse

09 February 2018 60

InstructedAmount [0..1] Amount C3, C5

ConfirmedAmount [0..1] Amount C3, C5

InterbankSettlementAmount [0..1] Amount C2, C6

InterbankSettlementDate [0..1] Date

ChargeBearer [0..1] CodeSet

ChargeAmount [0..*] Amount C3, C5

ForeignExchangeDetails [0..1]

FromCurrency [1..1] CodeSet C3

ToCurrency [1..1] CodeSet C3

ExchangeRate [1..1] Rate

UpdatePayment [0..1] Text

DuplicateMessageReference [0..1] Text

CopiedBusinessService [0..1] Text

LastUpdateTime [1..1] DateTime

9.4.1.6.1 NetworkReference Presence: [1..1]

Definition: Reference assigned by the network when sending the payment.

Datatype: "Max350Text"

9.4.1.6.2 MessageNameIdentification Presence: [1..1]

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

Datatype: "Max35Text"

9.4.1.6.3 BusinessService Presence: [1..1]

Definition: 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: 001

Datatype: "Max35Text"

9.4.1.6.4 Valid Presence: [1..1]

Definition: Indicates if a payment is consistent (YES) or not (NO).

Datatype: One of the following values must be used (see "YesNoIndicator" ):

• Meaning When True: Yes • Meaning When False: No

Page 59: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetChangedPaymentTransactionsResponse

09 February 2018 61

9.4.1.6.5 InvalidityReason Presence: [0..1]

Definition: Contains the additional information in case the event is not a valid component of a payment transaction.

Datatype: "InvalidPaymentsEvent1Code"

9.4.1.6.6 InvalidityDescription Presence: [0..1]

Definition: Contains a textual description as to why the event is not a valid component of a payments transaction.

Datatype: "Max350Text"

9.4.1.6.7 SenderReference Presence: [0..1]

Definition: Identification assigned by the sender of the message.

For MT format this is the MUR.

Datatype: "Max30Text"

9.4.1.6.8 InstructionIdentification Presence: [1..1]

Definition: Unique identification, as assigned by an instructing party for an instructed party, to unambiguously identify the instruction.

Usage: The instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.

Datatype: "Max35Text"

9.4.1.6.9 TransactionStatus Presence: [0..1]

Definition: Specifies the status of a transaction, in a coded form.

Impacted by: C1 "ACSPReasonCode"

TransactionStatus contains the following PaymentStatus3 elements

Or Element Mult. Type Constr. No.

Status [1..1] CodeSet

Reason [0..1] CodeSet

Constraints

• ACSPReasonCode Reason must only be present if Status contains ACSP.

9.4.1.6.9.1 Status Presence: [1..1]

Definition: Reason for the status, as published in an external reason code list.

Page 60: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetChangedPaymentTransactionsResponse

09 February 2018 62

Datatype: "TransactionIndividualStatus4Code"

Code Name Name Definition

RJCT Rejected Payment initiation or individual transaction included in the payment initiation has been rejected.

ACSP AcceptedSettlementInProcess All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution.

ACSC AcceptedSettlementCompleted Settlement on the debtor's account has been completed. Usage: this can be used by the first agent to report to the debtor that the transaction has been completed. Warning: this status is provided for transaction status reasons, not for financial information. It can only be used after bilateral agreement

9.4.1.6.9.2 Reason

Presence: [0..1]

Definition: Provides more details on the status in process.

Datatype: "PaymentReason1Code"

Code Name Name Definition

G002 CreditNotConfirmed Credit to creditor's account cannot be confirmed same day. Update will follow.

G004 CreditPendingFunds Credit to creditor's account is pending, status originator waiting for funds provided by or on behalf of the Instructing or Intermediary gpi Agent. Update will follow.

G000 GpiAgent Payment is pushed to next gpi Agent or gpi-compatible market infrastructure.

G001 NonGpiAgent Payment is pushed to a non-gpi Agent or un-supported market infrastructure. No further updates from the status originator.

G003 CreditPendingDocuments Credit to creditor's account is pending receipt of required documents. Instructed gpi Agent has requested the creditor to provide additional documentation. Update will follow.

Page 61: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetChangedPaymentTransactionsResponse

09 February 2018 63

9.4.1.6.10 ForwardedAgent Presence: [0..1]

Definition: Specifies the BIC of the entity to which the entity reporting the status has forwarded the payment transaction.

Impacted by: C4 "AnyBIC"

Datatype: "AnyBICIdentifier" Constraints

• AnyBIC Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

9.4.1.6.11 FundsAvailable Presence: [0..1]

Definition: Date and time at which the funds are available, as reported in the ACSC status update.

Must only be used when TransactionStatus is "ACSC".

Datatype: "ISODateTime"

9.4.1.6.12 From Presence: [0..1]

Definition: 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).

Impacted by: C4 "AnyBIC"

Datatype: "AnyBICIdentifier" Constraints

• AnyBIC Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

9.4.1.6.13 To Presence: [0..1]

Definition: 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).

Impacted by: C4 "AnyBIC"

Datatype: "AnyBICIdentifier" Constraints

• AnyBIC

Page 62: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetChangedPaymentTransactionsResponse

09 February 2018 64

Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

9.4.1.6.14 Originator Presence: [0..1]

Definition: Party that issues the status.

Impacted by: C4 "AnyBIC"

Datatype: "AnyBICIdentifier" Constraints

• AnyBIC Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

9.4.1.6.15 CreditorAgent Presence: [0..1]

Definition: Financial institution servicing an account for the creditor.

Impacted by: C4 "AnyBIC"

Datatype: "AnyBICIdentifier" Constraints

• AnyBIC Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

9.4.1.6.16 PreviousInstructingAgent Presence: [0..1]

Definition: Agent immediately prior to the instructing agent.

Impacted by: C4 "AnyBIC"

Datatype: "AnyBICIdentifier" Constraints

• AnyBIC Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

9.4.1.6.17 SenderAcknowledgementReceipt Presence: [1..1]

Definition: Date and time at which the sender acknowledged receipt of the message.

Datatype: "ISODateTime"

9.4.1.6.18 ReceivedDate Presence: [0..1]

Page 63: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetChangedPaymentTransactionsResponse

09 February 2018 65

Definition: Date and time at which the message was acknowledged by the receiver.

Datatype: "ISODateTime"

9.4.1.6.19 InstructedAmount Presence: [0..1]

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

Usage: This amount has to be transported unchanged through the transaction chain.

Impacted by: C3 "ActiveOrHistoricCurrency", C5 "CurrencyAmount"

Datatype: "ActiveOrHistoricCurrencyAndAmount" Constraints

• ActiveOrHistoricCurrency The currency code must be registered, or have already been registered. Valid active or historic currency codes are registered with the ISO 4217 Maintenance Agency, consist of three (3) contiguous letters, and may be or not be withdrawn on the day the message containing the currency is exchanged.

• CurrencyAmount The number of fractional digits (or minor unit of currency) must comply with ISO 4217.

Note The decimal separator is a dot.

9.4.1.6.20 ConfirmedAmount Presence: [0..1]

Definition: The actual amount that has been paid to the ultimate beneficiary, after all charges etc. have been deducted.

Impacted by: C3 "ActiveOrHistoricCurrency", C5 "CurrencyAmount"

Datatype: "ActiveOrHistoricCurrencyAndAmount" Constraints

• ActiveOrHistoricCurrency The currency code must be registered, or have already been registered. Valid active or historic currency codes are registered with the ISO 4217 Maintenance Agency, consist of three (3) contiguous letters, and may be or not be withdrawn on the day the message containing the currency is exchanged.

• CurrencyAmount The number of fractional digits (or minor unit of currency) must comply with ISO 4217.

Note The decimal separator is a dot.

9.4.1.6.21 InterbankSettlementAmount Presence: [0..1]

Definition: Amount of money moved between the instructing agent and the instructed agent.

Impacted by: C2 "ActiveCurrency", C6 "CurrencyAmount"

Datatype: "ActiveCurrencyAndAmount" Constraints

• ActiveCurrency

Page 64: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetChangedPaymentTransactionsResponse

09 February 2018 66

The currency code must be a valid active currency code, not yet withdrawn on the day the message containing the currency is exchanged. Valid active currency codes are registered with the ISO 4217 Maintenance Agency, consist of three (3) contiguous letters, and are not yet withdrawn on the day the message containing the currency is exchanged.

• CurrencyAmount The number of fractional digits (or minor unit of currency) must comply with ISO 4217.

Note The decimal separator is a dot.

9.4.1.6.22 InterbankSettlementDate Presence: [0..1]

Definition: Date on which the amount of money ceases to be available to the agent that owes it and when the amount of money becomes available to the agent to which it is due.

Datatype: "ISODate"

9.4.1.6.23 ChargeBearer Presence: [0..1]

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

Datatype: "ChargeBearerType3Code"

Code Name Name Definition

SHAR Shared In a credit transfer context, means that transaction charges on the sender side are to be borne by the debtor, transaction charges on the receiver side are to be borne by the creditor. In a direct debit context, means that transaction charges on the sender side are to be borne by the creditor, transaction charges on the receiver side are to be borne by the debtor.

DEBT BorneByDebtor All transaction charges are to be borne by the debtor.

CRED BorneByCreditor All transaction charges are to be borne by the creditor.

9.4.1.6.24 ChargeAmount Presence: [0..*]

Definition: Amount of money asked or paid for the charge.

Impacted by: C3 "ActiveOrHistoricCurrency", C5 "CurrencyAmount"

Datatype: "ActiveOrHistoricCurrencyAndAmount" Constraints

• ActiveOrHistoricCurrency The currency code must be registered, or have already been registered. Valid active or historic currency codes are registered with the ISO 4217 Maintenance Agency, consist of three (3) contiguous letters, and may be or not be withdrawn on the day the message containing the currency is exchanged.

• CurrencyAmount

Page 65: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetChangedPaymentTransactionsResponse

09 February 2018 67

The number of fractional digits (or minor unit of currency) must comply with ISO 4217.

Note The decimal separator is a dot.

9.4.1.6.25 ForeignExchangeDetails Presence: [0..1]

Definition: Specifies the exchange rate details between two currencies.

ForeignExchangeDetails contains the following ForeignExchangeTerms32 elements

Or Element Mult. Type Constr. No.

FromCurrency [1..1] CodeSet C3

ToCurrency [1..1] CodeSet C3

ExchangeRate [1..1] Rate

9.4.1.6.25.1 FromCurrency Presence: [1..1]

Definition: Currency for which a foreign exchange is required.

Impacted by: C3 "ActiveOrHistoricCurrency"

Datatype: "ActiveOrHistoricCurrencyCode"

Constraints

• ActiveOrHistoricCurrency The currency code must be registered, or have already been registered. Valid active or historic currency codes are registered with the ISO 4217 Maintenance Agency, consist of three (3) contiguous letters, and may be or not be withdrawn on the day the message containing the currency is exchanged.

9.4.1.6.25.2 ToCurrency Presence: [1..1]

Definition: Currency resulting from a foreign exchange trade.

Impacted by: C3 "ActiveOrHistoricCurrency"

Datatype: "ActiveOrHistoricCurrencyCode" Constraints

• ActiveOrHistoricCurrency The currency code must be registered, or have already been registered. Valid active or historic currency codes are registered with the ISO 4217 Maintenance Agency, consist of three (3) contiguous letters, and may be or not be withdrawn on the day the message containing the currency is exchanged.

9.4.1.6.25.3 ExchangeRate Presence: [1..1]

Definition: The value of one currency expressed in relation to another currency. ExchangeRate expresses the ratio between FromCurrency and ToCurrency (ExchangeRate = FromCurrency/ ToCurrency).

Datatype: "BaseOneRate"

Page 66: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetChangedPaymentTransactionsResponse

09 February 2018 68

9.4.1.6.26 UpdatePayment Presence: [0..1]

Definition: Implements the correlation between a payment message and a status update on it.

Contains the network reference of the payment for which the status confirmation was applicable.

Datatype: "Max35Text"

9.4.1.6.27 DuplicateMessageReference Presence: [0..1]

Definition: Network reference of the payment that is the original recorded payment.

Datatype: "Max50Text"

9.4.1.6.28 CopiedBusinessService Presence: [0..1]

Definition: Specifies the copied business service of the market infrastructure.

Datatype: "Max35Text"

9.4.1.6.29 LastUpdateTime Presence: [1..1]

Definition: Last date and time at which the status of this payment event was updated.

Datatype: "ISODateTime"

9.4.2 More Presence: [0..1]

Definition: Contains a token to obtain the next set of responses. It indicates whether there are more results to retrieve, what timestamp to start from and how many more result entries are to be retrieved.

Datatype: "Max350Text"

Page 67: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetInvalidEventsRequest

09 February 2018 69

10 GetInvalidEventsRequest API Functionality 10.1

This API is a payment events query to get invalid events for payment transactions within a given time frame. An event is either a payment or a status confirmation.

The API is typically used for support or audit purposes, where all invalid messages sent or received are retrievable by one API call.

Outline

The GetInvalidEventsRequest API is composed of 3 BuildingBlocks:

A. MyInstitution

Specifies the institution which payments are requested.

B. FromDateTime

Date and time at which the range starts.

C. ToDateTime

Date and time at which the range ends.

Structure 10.2Or Element/BuildingBlock Mult. Type Constr.

No.

GetInvalidEventsRequest [1..1]

MyInstitution [1..250] IdentifierSet C1

FromDateTime [1..1] DateTime

ToDateTime [1..1] DateTime

Constraints 10.3C1 AnyBIC

Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

Building Blocks 10.4This chapter describes the BuildingBlocks of this API.

10.4.1 MyInstitution Presence: [1..250]

Definition: Specifies the institution which payments are requested.

Impacted by: C1 "AnyBIC"

Datatype: "AnyBICIdentifier" Constraints

• AnyBIC Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

Page 68: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetInvalidEventsRequest

09 February 2018 70

10.4.2 FromDateTime Presence: [1..1]

Definition: Date and time at which the range starts.

Datatype: "ISODateTime"

10.4.3 ToDateTime Presence: [1..1]

Definition: Date and time at which the range ends.

Datatype: "ISODateTime"

Page 69: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetInvalidEventsResponse

09 February 2018 71

11 GetInvalidEventsResponse API Functionality 11.1

This API is a payment events response to a query to get invalid events for payment transactions within a given time frame. An event is either a payment or a status confirmation.

The API is typically used for support or audit purposes, where all invalid messages sent or received are retrievable by one API call.

Outline

The GetInvalidEventsResponse API is composed of 1 BuildingBlocks:

A. Event

Each instance contains one payment event that matches the search criteria.

Structure 11.2Or Element/BuildingBlock Mult. Type Constr.

No.

GetInvalidEventsResponse [1..1]

Event [1..*]

TransactionIdentification [1..1] Text

BusinessService [1..1] Text

Participant [1..1] Indicator

NetworkReference [1..1] Text

MessageNameIdentification [1..1] Text

InstructionIdentification [1..1] Text

From [1..1] IdentifierSet C1

To [0..1] IdentifierSet C1

InvalidityReason [1..1] CodeSet

Constraints 11.3C1 AnyBIC

Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

Building Blocks 11.4This chapter describes the BuildingBlocks of this API.

Page 70: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetInvalidEventsResponse

09 February 2018 72

11.4.1 Event Presence: [1..*]

Definition: Each instance contains one payment event that matches the search criteria.

Event contains the following PaymentEvent3 elements

Or Element Mult. Type Constr. No.

TransactionIdentification [1..1] Text

BusinessService [1..1] Text

Participant [1..1] Indicator

NetworkReference [1..1] Text

MessageNameIdentification [1..1] Text

InstructionIdentification [1..1] Text

From [1..1] IdentifierSet C1

To [0..1] IdentifierSet C1

InvalidityReason [1..1] CodeSet

11.4.1.1 TransactionIdentification Presence: [1..1]

Definition: Contains the unique end to end transaction reference (UETR) of a payment.

Datatype: "Max40Text"

11.4.1.2 BusinessService Presence: [1..1]

Definition: 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: 001

Datatype: "Max35Text"

11.4.1.3 Participant Presence: [1..1]

Definition: Indicates whether the requestor institution participates in the payment transaction identified by the Transaction Identification (UETR).

Datatype: One of the following values must be used (see "YesNoIndicator" 6):

• Meaning When True: Yes • Meaning When False: No

11.4.1.4 NetworkReference Presence: [1..1]

Definition: Reference assigned by the network when sending the payment.

Page 71: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetInvalidEventsResponse

09 February 2018 73

Datatype: "Max350Text"

11.4.1.5 MessageNameIdentification Presence: [1..1]

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

Datatype: "Max35Text"

11.4.1.6 InstructionIdentification Presence: [1..1]

Definition: Unique identification, as assigned by an instructing party for an instructed party, to unambiguously identify the instruction.

Usage: The instruction identification is a point to point reference that can be used between the instructing party and the instructed party to refer to the individual instruction. It can be included in several messages related to the instruction.

Datatype: "Max35Text"

11.4.1.7 From Presence: [1..1]

Definition: 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).

Impacted by: C1 "AnyBIC"

Datatype: "AnyBICIdentifier" Constraints

• AnyBIC Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

11.4.1.8 To Presence: [0..1]

Definition: 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).

Impacted by: C1 "AnyBIC"

Datatype: "AnyBICIdentifier"

Constraints

• AnyBIC Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

11.4.1.9 InvalidityReason

Page 72: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification GetInvalidEventsResponse

09 February 2018 74

Presence: [1..1]

Definition: Specifies the reason why the event is invalid.

Datatype: "InvalidEventReason1Code"

Page 73: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification Types

09 February 2018 75

12 Types Date Time 12.1

12.1.1 DateTimePeriodDetails Definition: Time span defined by a start date and time, and an end date and time.

Or Element Mult. Type Constr. No.

FromDateTime [1..1] DateTime

ToDateTime [1..1] DateTime

12.1.1.1 FromDateTime Presence: [1..1]

Definition: Date and time at which the range starts.

Datatype: "ISODateTime"

12.1.1.2 ToDateTime Presence: [1..1]

Definition: Date and time at which the range ends.

Datatype: "ISODateTime"

Datatypes 12.212.2.1 Amount 12.2.1.1 ActiveCurrencyAndAmount

Definition: A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.

Type: Amount

This data type contains the following attribute:

Name Datatype

Currency "ActiveCurrencyCode" on page 82

Format

minInclusive 0

totalDigits 18

fractionDigits 5

Constraints

• ActiveCurrency The currency code must be a valid active currency code, not yet withdrawn on the day the message containing the currency is exchanged. Valid active currency codes are registered with the ISO 4217 Maintenance Agency, consist of three (3) contiguous letters, and are not yet withdrawn on the day the message containing the currency is exchanged.

Page 74: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification Types

09 February 2018 76

• CurrencyAmount The number of fractional digits (or minor unit of currency) must comply with ISO 4217.

Note The decimal separator is a dot.

12.2.1.2 ActiveOrHistoricCurrencyAndAmount Definition: A number of monetary units specified in an active or a historic currency where the unit of currency is explicit and compliant with ISO 4217.

Type: Amount

This data type contains the following attribute:

Name Datatype

Currency "ActiveOrHistoricCurrencyCode" on page 82

Format

minInclusive 0

totalDigits 18

fractionDigits 5

Constraints

• ActiveOrHistoricCurrency The currency code must be registered, or have already been registered. Valid active or historic currency codes are registered with the ISO 4217 Maintenance Agency, consist of three (3) contiguous letters, and may be or not be withdrawn on the day the message containing the currency is exchanged.

• CurrencyAmount The number of fractional digits (or minor unit of currency) must comply with ISO 4217.

Note The decimal separator is a dot.

12.2.1.3 ImpliedCurrencyAndAmount Definition: Number of monetary units specified in a currency where the unit of currency is implied by the context and compliant with ISO 4217. The decimal separator is a dot.

Note A zero amount is considered a positive amount.

Type: Amount

Format

minInclusive 0

totalDigits 18

fractionDigits 5

12.2.2 CodeSet 12.2.2.1 ActiveCurrencyCode

Definition: A code allocated to a currency by a Maintenance Agency under an international identification scheme as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds".

Type: CodeSet Format

pattern [A-Z]{3,3}

Page 75: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification Types

09 February 2018 77

Constraints

• ActiveCurrency The currency code must be a valid active currency code, not yet withdrawn on the day the message containing the currency is exchanged. Valid active currency codes are registered with the ISO 4217 Maintenance Agency, consist of three (3) contiguous letters, and are not yet withdrawn on the day the message containing the currency is exchanged.

12.2.2.2 ActiveOrHistoricCurrencyCode Definition: A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds".

Type: CodeSet Format

pattern [A-Z]{3,3}

Constraints

• ActiveOrHistoricCurrency The currency code must be registered, or have already been registered. Valid active or historic currency codes are registered with the ISO 4217 Maintenance Agency, consist of three (3) contiguous letters, and may be or not be withdrawn on the day the message containing the currency is exchanged.

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

Type: CodeSet

Code Name Name Definition

SHAR Shared In a credit transfer context, means that transaction charges on the sender side are to be borne by the debtor, transaction charges on the receiver side are to be borne by the creditor. In a direct debit context, means that transaction charges on the sender side are to be borne by the creditor, transaction charges on the receiver side are to be borne by the debtor.

DEBT BorneByDebtor All transaction charges are to be borne by the debtor.

CRED BorneByCreditor All transaction charges are to be borne by the creditor.

12.2.2.4 CurrencyCode Definition: Code allocated to a currency, by a maintenance agency, under an international identification scheme as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds". Valid currency codes are registered with the ISO 4217 Maintenance Agency, and consist of three contiguous letters.

Type: CodeSet Format

pattern [A-Z]{3,3}

Page 76: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification Types

09 February 2018 78

Constraints

• ValidationByTable

12.2.2.5 InvalidEventReason1Code Definition: Codeset containing the reasons why an event (a message) was invalid in the context of the transaction.

Type: CodeSet

12.2.2.6 InvalidPaymentsEvent1Code Definition: Specifies the reason why a payments event is an invalid component of a payments transaction.

Type: CodeSet

12.2.2.7 Location1Code Definition: Specifies the location of the search

Type: CodeSet

Code Name Name Definition

OTHR AtAnotherInstitution At another institution

MYIN AtMyInstitution At my institution.

12.2.2.8 PaymentReason1Code Definition: Provides the reason for a specific Payment Status.

Type: CodeSet

Code Name Name Definition

G002 CreditNotConfirmed Credit to creditor's account cannot be confirmed same day. Update will follow.

G004 CreditPendingFunds Credit to creditor's account is pending, status originator waiting for funds provided by or on behalf of the Instructing or Intermediary gpi Agent. Update will follow.

G000 GpiAgent Payment is pushed to next gpi Agent or gpi-compatible market infrastructure.

G001 NonGpiAgent Payment is pushed to a non-gpi Agent or un-supported market infrastructure. No further updates from the status originator.

G003 CreditPendingDocuments Credit to creditor's account is pending receipt of required documents. Instructed gpi Agent has requested the creditor to provide additional documentation. Update will follow.

12.2.2.9 PaymentsPartyType1Code Definition: CodeSet identifying parties involved in a payments transaction.

Type: CodeSet

12.2.2.10PaymentTransactionState1Code Definition: Contains the different states which a payment transaction can be in.

Page 77: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification Types

09 February 2018 79

Type: CodeSet

Code Name Name Definition

CRED Credited The transaction is credited.

RCCA ReceivedAtCreditorAgent The transaction is received at the creditor's agent.

RCMY ReceivedByMyInstitution The transaction is received by my institution.

STMY SentByMyInstitution The transaction is sent by my institution.

STDA SentByDebtorAgent The transaction is sent by the debtor's agent.

12.2.2.11TransactionIndividualStatus4Code Definition: Specifies the status of a single payment transaction.

Type: CodeSet

Code Name Name Definition

RJCT Rejected Payment initiation or individual transaction included in the payment initiation has been rejected.

ACSP AcceptedSettlementInProcess All preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution.

ACSC AcceptedSettlementCompleted Settlement on the debtor's account has been completed. Usage: this can be used by the first agent to report to the debtor that the transaction has been completed. Warning: this status is provided for transaction status reasons, not for financial information. It can only be used after bilateral agreement

12.2.2.12 TypeOfAmount8Code

Definition: Specifies the type of amount.

Type: CodeSet

Code Name Name Definition

CONF ConfirmedAmount The actual amount that has been paid to the ultimate beneficiary, after all charges etc. have been deducted.

INST InstructedAmount Amount of money to be moved between the debtor (ordering customer) and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party. Usage: This amount has to be transported unchanged through the transaction chain.

Page 78: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification Types

09 February 2018 80

12.2.3 Date 12.2.3.1 ISODate

Definition: A particular point in the progression of time in a calendar year expressed in the YYYY-MM- DD format. This representation is defined in "XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004" which is aligned with ISO 8601.

Type: Date

12.2.4 DateTime 12.2.4.1 ISODateTime

Definition: A particular point in the progression of time defined by a mandatory date and a mandatory time component, expressed in either UTC time format (YYYY-MM-DDThh:mm:ss.sssZ), local time with UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), or local time format (YYYY-MM- DDThh:mm:ss.sss). These representations are defined in "XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004" which is aligned with ISO 8601.

Note on the time format:

1) beginning / end of calendar day

00:00:00 = the beginning of a calendar day

24:00:00 = the end of a calendar day

2) fractions of second in time format

Decimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed.

Type: DateTime

12.2.5 IdentifierSet 12.2.5.1 AnyBICIdentifier

Definition: Code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority, as described in ISO 9362 "Banking - Banking telecommunication messages - Business identifier code (BIC)".

Type: IdentifierSet

Identification scheme: SWIFT; AnyBICIdentifier Format

pattern [A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}

Constraints

• AnyBIC Only a valid business identifier code is allowed. Business identifier codes for financial or non- financial institutions are registered by the ISO 9362 Registration Authority in the BIC Directory, and consists of eight (8) or eleven (11) contiguous characters.

12.2.6 Indicator 12.2.6.1 YesNoIndicator

Definition: Indicates a "Yes" or "No" type of answer for an element.

Type: Indicator

Meaning When True: Yes

Meaning When False: No

Page 79: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification Types

09 February 2018 81

12.2.7 Quantity 12.2.7.1 Number

Definition: Number of objects represented as an integer.

Type: Quantity

Format

totalDigits 18

fractionDigits 0

12.2.8 Rate 12.2.8.1 BaseOneRate

Definition: Rate expressed as a decimal, for example, 0.7 is 7/10 and 70%.

Type: Rate

Format

totalDigits 11

fractionDigits 10

baseValue 1.0

12.2.9 Text 12.2.9.1 Max1850Text

Definition: Specifies a character string with a maximum length of 1850 characters.

Type: Text

Format

minLength 1

maxLength 1850

12.2.9.2 Max30Text Definition: Specifies a character string with a maximum length of 30 characters.

Type: Text Format

maxLength 30

12.2.9.3 Max350Text Definition: Specifies a character string with a maximum length of 350 characters.

Type: Text

Format

minLength 1

maxLength 350

12.2.9.4 Max35Text Definition: Specifies a character string with a maximum length of 35 characters.

Page 80: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification Types

09 February 2018 82

Type: Text

Format

minLength 1

maxLength 35

12.2.9.5 Max40Text Definition: Specifies a character string with a maximum length of 40 characters.

Type: Text

Format

minLength 1

maxLength 40

12.2.9.6 Max50Text Definition: Specifies a character string with a maximum length of 50 characters.

Type: Text

Format

minLength 1

maxLength 50

Page 81: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification JSON Representation

09 February 2018 83

Appendix A JSON Representation A.1 JSON – Snake Case

This appendix depicts how the JSON structures of an API request and an API response shall be constructed in accordance with the detailed API specifications defined in this document. The "GetPaymentTransactions" API is used as an example to indicate so.

For all APIs, the "Request" building block of the API specification corresponds to the JSON structure of the API request. For "GetPaymentTransactions" API, the JSON structure of the API request will look as follows (newline-delimited JSON is foreseen): {

“my_institution”: “my_institution_value”,

“time_window”:

{

“from_date_time”: “from_date_time_value”,

“to_date_time”: “to_date_time_value”

},

“agent”:

[

{

“any_bic”: “any_bic_value”,

“role”: “role_value”

},

],

“location”: “location_value”,

“instruction_identification”: “instruction_identification_value”,

“transaction_status”:

[

{

“status”: “status_value”,

“reason”: “reason_value”

},

],

“amount”:

{

“type”: “type_value”,

“currency”: “currency_value”,

“from_amount”: “from_amount_value”,

“to_amount”: “to_amount_value”

},

“event”: “event_value”,

“maximum_number”: “maximum_number_value”,

Page 82: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification JSON Representation

09 February 2018 84

“more”: “more_value”

}

Similarly, for all APIs, the "Response" building block of the API specification corresponds to the JSON structure of the API response. For "GetPaymentTransactions" API, the JSON structure of the API response will look as follows: HTTP/1.1 200 OK

{

“payment_transaction”:

[

{

“transaction_identification”: “transaction_identification_value”,

“my_institution”: “my_institution_value”,

“role”: “role_value”,

“event_time”: “event_time_value”,

“transaction_status”:

{

“status”: “status_value”,

“reason”: “reason_value”

},

“previous_instructing_agent”: “previous_instructing_agent_value”,

“agents”:

[

{

“from”: “from_value”,

“to”: “to_value”,

“transaction_status”:

{

“status”: “status_value”,

“reason”: “reason_value”

},

“forwarded_agent”: “forwarded_agent_value”,

“received”: “received_value”

},

],

“creditor_agent”: “creditor_agent_value”,

“initiation_time”: “initiation_time_value”,

“completion_time”: “completion_time_value”,

“instructed_amount”:

{

“$”:“instructed_amount_value”,

“@currency”: “currency_value”

},

Page 83: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification JSON Representation

09 February 2018 85

“last_update_time”: “last_update_time_value”

},

],

“total_number”: “total_number_value”,

“more”: “more_value”

}

A.2 JSON – Amount Representation: "instructed_amount": : {

"$": 1.10,

"@currency": "EUR"

},

The "$" is used for the value of the amount, and the "@currency" is the currency code. The example shows an amount of 1.10 EUR.

Page 84: Connector for SWIFT gpi - Tracker API Detailed SpecificationConnector for SWIFT gpi Tracker API Detailed Specification API Set Overview 09 February 2018 9 . camt.a05.002.02 GetInvalidEventsResponse

Connector for SWIFT gpi Tracker API Detailed Specification Legal Notices

09 February 2018 86

Legal Notices Copyright SWIFT © 2018. All rights reserved.

Disclaimer SWIFT supplies this publication for information purposes only. The information in this publication may change from time to time. You must always refer to the latest available version.

Translations The English version of SWIFT documentation is the only official and binding version.

Trademarks SWIFT is the trade name of S.W.I.F.T. SCRL. The following are registered trademarks of SWIFT: the SWIFT logo, SWIFT, SWIFTNet, Sibos, 3SKey, Innotribe, the Standards Forum logo, MyStandards, and SWIFT Institute. Other product, service, or company names in this publication are trade names, trademarks, or registered trademarks of their respective owners.