Documentation for a newer release is available. View Latest

Transport Reference

This page details all the interfaces going into and out of the CSM service. It has been split into two parts. Each part describes message queues and topics where the data flows:

  • Part 1 — from the payment/recall/direct debit service to CSM service

  • Part 2 — from the CSM service to the payment/recall/direct debit service

  • Part 3 — Configuration reference

Part 1: Payment/Recall Service to CSM service

ID Name ISO20022 payload Description JMS Queue Default Value Kafka Topic Default Value JMS Queue Config Key Kafka topic key (see note)

1-1

Clear and settle request

pacs.008

Payment service indicates that it wants to send a credit transfer to the CSM

clearandsettle.debtor.to.csm.queue

CLEARANDSETTLE_DEBTOR_TO_CSM

csm.jms.clear-and-settle.debtor-to-csm.queue

csm.kafka.[consumer|producer].topics.clear-and-settle.debtor-to-csm

1-2

Scheme rules request (Debtor)

pacs.008

Validate a credit transfer before sending to a CSM, will mark as DEBTOR unless user specifies a flowType in supportingContext. Note. can handle all types of validation.

clearandsettle.debtor.to.csm.queue

CLEARANDSETTLE_DEBTOR_TO_CSM

csm.jms.clear-and-settle.debtor-to-csm.queue

csm.kafka.[consumer|producer].topics.clear-and-settle.debtor-to-csm

1-3

Send status request

pacs.028

Payment service indicates that it wants to send a status inquiry request to the CSM

clearandsettle.debtor.to.csm.queue

CLEARANDSETTLE_DEBTOR_TO_CSM

csm.jms.clear-and-settle.debtor-to-csm.queue

csm.kafka.[consumer|producer].topics.clear-and-settle.debtor-to-csm

1-4

Creditor payment activation request (request to pay)

pain.013

Payment service indicates that it wants to send a request-to-pay request to the CSM

clearandsettle.debtor.to.csm.queue

CLEARANDSETTLE_DEBTOR_TO_CSM

csm.jms.clear-and-settle.debtor-to-csm.queue

csm.kafka.[consumer|producer].topics.clear-and-settle.debtor-to-csm

1-5

Debtor payment activation response (request to pay response)

pain.014

Payment service indicates that it wants to send a request-to-pay response to the CSM

clearandsettle.debtor.to.csm.queue

CLEARANDSETTLE_DEBTOR_TO_CSM

csm.jms.clear-and-settle.debtor-to-csm.queue

csm.kafka.[consumer|producer].topics.clear-and-settle.debtor-to-csm

1-6

Receive payment response

pacs.002

Response to 2-4

clearandsettle.creditor.to.csm.queue

CLEARANDSETTLE_CREDITOR_TO_CSM

csm.jms.clear-and-settle.creditor-to-csm.queue

csm.kafka.[consumer|producer].topics.clear-and-settle.creditor-to-csm

1-7

Receive return response

pacs.002

Response to 2-7

rrr.from.debtor.queue

RRR_DEBTOR_TO_CSM

csm.jms.rrr.debtor-to-csm.queue

csm.kafka.[consumer|producer].topics.rrr.debtor-to-csm

1-8

Receive Status Request Response

pacs.002

Response to 2-15

clearandsettle.creditor.to.csm.queue

CLEARANDSETTLE_CREDITOR_TO_CSM

csm.jms.clear-and-settle.creditor-to-csm.queue

csm.kafka.[consumer|producer].topics.clear-and-settle.creditor-to-csm

1-9

RRR Debtor messages to CSM

camt.056, pacs.028, pacs.002

Recall service indicates that it wants to send a Recall request or Recall Enquiry Request to the CSM

rrr.debtor.to.csm.queue

RRR_DEBTOR_TO_CSM

csm.jms.rrr.debtor-to-csm.queue

csm.kafka.[consumer|producer].topics.rrr.debtor-to-csm

1-10

RRR Creditor messages to CSM

pacs.004, camt.029, pacs.002

Recall service responds to previously received Recall request with either positive or negative answer

rrr.creditor.to.csm.queue

RRR_CREDITOR_TO_CSM

csm.jms.rrr.creditor-to-csm.queue

csm.kafka.[consumer|producer].topics.rrr.creditor-to-csm

1-11

Scheme rules request (Creditor)

pacs.008

Validate a credit transfer before sending to a CSM, will mark as CREDITOR unless user specifies a flowType in supportingContext. Note: can handle all types of validation

clearandsettle.creditor.to.csm.queue

CLEARANDSETTLE_CREDITOR_TO_CSM

csm.jms.clear-and-settle.creditor-to-csm.queue

csm.kafka.[consumer|producer].topics.clear-and-settle.creditor-to-csm

1-13

Scheme rules request

pacs.008

Validate a credit transfer before sending to a CSM

clearandsettle.debtor.to.csm.queue

CLEARANDSETTLE_DEBTOR_TO_CSM

csm.jms.clear-and-settle.debtor-to-csm.queue

csm.kafka.[consumer|producer].topics.clear-and-settle.debtor-to-csm

1-14

Send status request from creditor service

pacs.028

Creditor service indicates that it wants to send a status request to the CSM

clearandsettle.creditor.to.csm.queue

CLEARANDSETTLE_CREDITOR_TO_CSM

csm.jms.clear-and-settle.creditor-to-csm.queue

csm.kafka.[consumer|producer].topics.clear-and-settle.creditor-to-csm

1-15

Collect and settle request

pacs.003

Payment service indicates that it wants to send a direct debit request to the CSM

collectandsettle.creditor.to.csm.queue

COLLECTANDSETTLE_CREDITOR_TO_CSM

csm.jms.collect-and-settle.creditor-to-csm.queue

csm.kafka.[consumer|producer].topics.collect-and-settle.creditor-to-csm

1-16

Direct debit scheme rules request

pacs.003

Validate a direct debit before sending to a CSM, will mark as CREDITOR unless user specifies a flowType in supportingContext

collectandsettle.creditor.to.csm.queue

COLLECTANDSETTLE_CREDITOR_TO_CSM

csm.jms.collect-and-settle.creditor-to-csm.queue

csm.kafka.[consumer|producer].topics.collect-and-settle.creditor-to-csm

Part 2: CSM Service to Payment/Recall Service

ID

Name

ISO20022 payload

Description

JMS Queue Default Value

Kafka Topic Default Value

JMS Queue Config Key

Kafka topic key (see note)

2-1

Clear and settle response

pacs.002

Response to 1-1

clearandsettle.csm.to.debtor.queue

CLEARANDSETTLE_CSM_TO_DEBTOR

csm.jms.clear-and-settle.csm-to-debtor.queue

csm.kafka.[consumer|producer].topics.clear-and-settle.csm-to-debtor

2-2

Validate against scheme rules response (Debtor)

(N/A)

Response to 1-2

clearandsettle.csm.to.debtor.queue

CLEARANDSETTLE_CSM_TO_DEBTOR

csm.jms.clear-and-settle.csm-to-debtor.queue

csm.kafka.[consumer|producer].topics.clear-and-settle.csm-to-debtor

2-3

Technical response

(N/A)

Technical acknowledgement of message sent from CSM to CSM Service to Payment Service

clearandsettle.technical.response.queue

CLEARANDSETTLE_TECHNICAL_RESPONSE

csm.jms.clear-and-settle.technical-response.queue

csm.kafka.[consumer|producer].topics.clear-and-settle.technical-response

2-4

Receive payment request

pacs.008

The CSM Service wants the Payment Service to handle this creditor credit transfer request

clearandsettle.csm.to.creditor.queue

CLEARANDSETTLE_CSM_TO_CREDITOR

csm.jms.clear-and-settle.csm-to-creditor.queue

csm.kafka.[consumer|producer].topics.clear-and-settle.csm-to-creditor

2-5

Receive payment settled request

pacs.002

Usually known as a pacs.002 confirmation, initiated by 2-4, sent to the payment service in a creditor role after successful settlement

clearandsettle.csm.to.creditor.queue

CLEARANDSETTLE_CSM_TO_CREDITOR

csm.jms.clear-and-settle.csm-to-creditor.queue

csm.kafka.[consumer|producer].topics.clear-and-settle.csm-to-creditor

2-6

Receive payment timeout

pacs.002

A special variant of 2-5 which can be configured if the Payment Service wishes to receive payment timeouts separately to regular traffic to prioritise reception of pacs.008 traffic over rejected pacs.002 traffic

clearandsettle.csm.to.creditor.queue

CLEARANDSETTLE_CSM_TO_CREDITOR

csm.jms.clear-and-settle.csm-to-creditor.queue

csm.kafka.[consumer|producer].topics.clear-and-settle.csm-to-creditor

2-7

Receive return request

pacs.004

The CSM has sent a payment return to the payment service

clearandsettle.csm.to.debtor.queue

CLEARANDSETTLE_CSM_TO_DEBTOR

csm.jms.clear-and-settle.csm-to-debtor.queue

csm.kafka.[consumer|producer].topics.clear-and-settle.csm-to-debtor

2-8

Receive payment status inquiry request

pacs.028

The CSM has sent a payment status inquiry to the payment service

clearandsettle.csm.to.debtor.queue

CLEARANDSETTLE_CSM_TO_DEBTOR

csm.jms.clear-and-settle.csm-to-debtor.queue

csm.kafka.[consumer|producer].topics.clear-and-settle.csm-to-debtor

2-9

Status request response

pacs.002

Response to 1-3

clearandsettle.csm.to.creditor.queue

CLEARANDSETTLE_CSM_TO_CREDITOR

csm.jms.clear-and-settle.csm-to-creditor.queue

csm.kafka.[consumer|producer].topics.clear-and-settle.csm-to-creditor

2-10

Debtor request to pay request

pain.014

Response to 1-5

clearandsettle.csm.to.creditor.queue

CLEARANDSETTLE_CSM_TO_CREDITOR

csm.jms.clear-and-settle.csm-to-creditor.queue

csm.kafka.[consumer|producer].topics.clear-and-settle.csm-to-creditor

2-11

Creditor request to pay response

pain.014

Response to 1-4

clearandsettle.csm.to.debtor.queue

CLEARANDSETTLE_CSM_TO_DEBTOR

csm.jms.clear-and-settle.csm-to-debtor.queue

csm.kafka.[consumer|producer].topics.clear-and-settle.csm-to-debtor

2-12

Liquidity position notification

camt.052

Liquidity position notification forwarded to the Payment Service

csm.notifications.queue

CSM_NOTIFICATIONS

csm.jms.notifications.queue

csm.kafka.[consumer|producer].topics.notifications

2-13

Liquidity adjustment notification

camt.054

Liquidity adjustment notification forwarded to the Payment Service

csm.notifications.queue

CSM_NOTIFICATIONS

csm.jms.notifications.queue

csm.kafka.[consumer|producer].topics.notifications

2-14

Participant unavailable notification

admi.004

Participant unavailable notification forwarded to the Payment Service

csm.notifications.queue

CSM_NOTIFICATIONS

csm.jms.notifications.queue

csm.kafka.[consumer|producer].topics.notifications

2-15

Receive Status Request

pacs.028

CSM has sent a status inquiry message to the Payment Service

clearandsettle.csm.to.creditor.queue

CLEARANDSETTLE_CSM_TO_CREDITOR

csm.jms.clear-and-settle.csm-to-creditor.queue

csm.kafka.[consumer|producer].topics.clear-and-settle.csm-to-creditor

2-16

All messages from CSM to RRR Debtor (respond to a recall)

pacs.004, camt.029, pacs.002

CSM Service sends a response to previously issued recall request on which it can be responded either positively (pacs.004) or negatively (camt.029)

rrr.csm.to.debtor.queue

RRR_CSM_TO_DEBTOR

csm.jms.rrr.csm-to-debtor.queue

csm.kafka.[consumer|producer].topics.rrr.csm-to-debtor

2-17

All messages from CSM to RRR Creditor

camt.056, pacs.028, pacs.002, pacs.004

CSM Service sends recall request or recall enquiry request for previously processed transaction

rrr.csm.to.creditor.queue

RRR_CSM_TO_CREDITOR

csm.jms.rrr.csm-to-creditor.queue

csm.kafka.[consumer|producer].topics.rrr.csm-to-creditor

2-18

Validate against scheme rules response (Creditor)

(N/A)

Response to 1-2

clearandsettle.csm.to.creditor.queue

CLEARANDSETTLE_CSM_TO_CREDITOR

csm.jms.clear-and-settle.csm-to-creditor.queue

csm.kafka.[consumer|producer].topics.clear-and-settle.csm-to-creditor

2-19

Validate against scheme rules response (Debtor)

(N/A)

Response to 1-2

clearandsettle.csm.to.debtor.queue

CLEARANDSETTLE_CSM_TO_DEBTOR

csm.jms.clear-and-settle.csm-to-debtor.queue

csm.kafka.[consumer|producer].topics.clear-and-settle.csm-to-debtor

2-20

Status request response

pacs.002

Response to 1-14

clearandsettle.csm.to.creditor.queue

CLEARANDSETTLE_CSM_TO_CREDITOR

csm.jms.clear-and-settle.csm-to-creditor.queue

csm.kafka.[consumer|producer].topics.clear-and-settle.csm-to-creditor

2-21

Collect and settle response

pacs.003

Response to 1-15

collectandsettle.csm.to.creditor.queue

COLLECTANDSETTLE_CSM_TO_CREDITOR

csm.jms.collect-and-settle.csm-to-creditor.queue

csm.kafka.[consumer|producer].topics.collect-and-settle.csm-to-creditor

2-22

Technical response

(N/A)

Technical acknowledgement of direct debit message sent from CSM to CSM Service to Payment Service

collectandsettle.technical.response.queue

COLLECTANDSETTLE_TECHNICAL_RESPONSE

csm.jms.collect-and-settle.technical-response.queue

csm.kafka.[consumer|producer].topics.collect-and-settle.technical-response

2-23

Validate against direct debit scheme rules response

(N/A)

Response to 1-16

collectandsettle.csm.to.creditor.queue

COLLECTANDSETTLE_CSM_TO_CREDITOR

csm.jms.collect-and-settle.csm-to-creditor.queue

csm.kafka.[consumer|producer].topics.collect-and-settle.csm-to-creditor

Note about Kafka configuration keys

Unlike JMS, Kafka configuration is directional, which is why configuration keys have been specified like this:

csm.kafka.[consumer|producer].topics.clear-and-settle.creditor-to-csm

When overriding the topic configuration, be sure to set the right property for the right service depending on the direction of the message. Use the following table to determine the right prefix to use:

Message kind Kafka config prefix for Payment/R service Kafka config prefix for CSM service

Payment Service to CSM service (Part 1)

csm.kafka.producer.topics

csm.kafka.consumer.topics

CSM service to Payment Service (Part 2)

csm.kafka.consumer.topics

csm.kafka.producer.topics

Part 3: Connector Transport Configuration Reference

The following tables list the connector transports defined in the CSM Client Starter module, grouped by service type.

Credit Transfer (CT) Service Connector Transports

Send Connector Transports

Connector Name JMS Transport Config Root Path Kafka Transport Config Root Path

CSMClearAndSettleSend

csm.jms.clear-and-settle.debtor-to-csm

csm.clear-and-settle.debtor-to-csm.kafka.producer

CSMReceivePaymentResponseSend

csm.jms.clear-and-settle.creditor-to-csm

csm.clear-and-settle.creditor-to-csm.kafka.producer

CSMSendInformationRequestToCSMSend

csm.jms.clear-and-settle.creditor-to-csm

csm.clear-and-settle.creditor-to-csm.kafka.producer

sendInformationRequestResponseToCSMSendConnector

csm.jms.clear-and-settle.debtor-to-csm

csm.clear-and-settle.debtor-to-csm.kafka.producer

sendAdditionalInformationRequestResponseToCSMSendConnector

csm.jms.clear-and-settle.debtor-to-csm

csm.clear-and-settle.debtor-to-csm.kafka.producer

CSMCreditorRequestToPayRequestSend

csm.jms.clear-and-settle.debtor-to-csm

csm.clear-and-settle.debtor-to-csm.kafka.producer

CSMDebtorRequestToPayResponseSend

csm.jms.clear-and-settle.debtor-to-csm

csm.clear-and-settle.debtor-to-csm.kafka.producer

CSMReceivePaymentStatusInquiryResponseSend

csm.jms.clear-and-settle.creditor-to-csm

csm.clear-and-settle.creditor-to-csm.kafka.producer

CSMSlowReceivePaymentResponseSend

csm.jms.clear-and-settle.creditor-to-csm

csm.clear-and-settle.creditor-to-csm.kafka.producer

CSMStatusRequestSend

csm.jms.clear-and-settle.debtor-to-csm

csm.clear-and-settle.debtor-to-csm.kafka.producer

CSMCreditorStatusRequestSend

csm.jms.clear-and-settle.creditor-to-csm

csm.clear-and-settle.creditor-to-csm.kafka.producer

Receive Connector Transports

Connector Name JMS Config Root Path Kafka Config Root Path

ClearAndSettleCSMToDebtorReceiveConnector

csm.jms.clear-and-settle.csm-to-debtor

csm.clear-and-settle.csm-to-debtor.kafka.consumer

clearAndSettleCSMToCreditorReceiveConnector

csm.jms.clear-and-settle.csm-to-creditor

csm.clear-and-settle.csm-to-creditor.kafka.consumer

NotificationsReceiveConnector

csm.jms.notifications

csm.notifications.kafka.consumer

ClearAndSettleTechnicalResponseReceiveConnector

csm.jms.clear-and-settle.technical-response

csm.clear-and-settle.technical-response.kafka.consumer

Recall/Return/Resolution (RRR) Service Connector Transports

Send Connector Transports

Connector Name JMS Config Root Path Kafka Config Root Path

sendDebtorRRRRequestToCsm

csm.jms.rrr.debtor-to-csm

csm.rrr.debtor-to-csm.kafka.producer

sendDebtorRRRResponseToCsm

csm.jms.rrr.debtor-to-csm

csm.rrr.debtor-to-csm.kafka.producer

sendCreditorRRRRequestToCsm

csm.jms.rrr.creditor-to-csm

csm.rrr.creditor-to-csm.kafka.producer

sendCreditorRRRResponseToCsm

csm.jms.rrr.creditor-to-csm

csm.rrr.creditor-to-csm.kafka.producer

Receive Connector Transports

Connector Name JMS Config Root Path Kafka Config Root Path

RRRCSMToDebtorReceiveConnector

csm.jms.rrr.csm-to-debtor

csm.rrr.csm-to-debtor.kafka.consumer

RRRCSMToCreditorReceiveConnector

csm.jms.rrr.csm-to-creditor

csm.rrr.csm-to-creditor.kafka.consumer

Direct Debit (DD) Service Connector Transports

Send Connector Transports

Connector Name JMS Config Root Path Kafka Config Root Path

CSMDDCollectAndSettleSend

csm.jms.collect-and-settle.creditor-to-csm

csm.collect-and-settle.creditor-to-csm.kafka.producer

CSMDDCreditorValidationSend

csm.jms.collect-and-settle.creditor-to-csm

csm.collect-and-settle.creditor-to-csm.kafka.producer

Receive Connector Transports

Connector Name JMS Config Root Path Kafka Config Root Path

collectAndSettleCSMToCreditorReceiveConnector

csm.jms.collect-and-settle.csm-to-creditor

csm.collect-and-settle.csm-to-creditor.kafka.consumer

CollectAndSettleTechnicalResponseReceiveConnector

csm.jms.collect-and-settle.technical-response

csm.collect-and-settle.technical-response.kafka.consumer

General JMS Notes

The tables above list configuration root paths. To see the structure that the configuration under those paths can take, please refer to the JMS section of IPF Connector Framework docs.

In addition to specifying the transport settings, JMS connection factory configuration can be customized through the following properties:

csm.jms {
  # The URL of the JMS broker supporting the CSM API
  broker-url = "tcp://localhost:61616"

  # Sets the window size for flow control of the consumers created through this factory.
  # Value must be -1 (to disable flow control), 0 (to not buffer any messages) or greater than 0 (to set the maximum size of the buffer).
  consumer-window-size = 0

  # Sets the blocking call failover timeou duration.
  # When the client is awaiting failover, this is over and above the normal call timeout.
  # Value can be -1 (indicating infinity) or a duration.
  # If the duration is specified without units, milliseconds are assumed.
  failover-timeout = 5000

  # The blocking calls timeout duration.
  # If the duration is specified without units, milliseconds are assumed.
  call-timeout = 30000
}

General Kafka Notes

The tables above list configuration root paths. To see the structure that the configuration under those paths can take, please refer to the Kafka section of IPF Connector Framework docs.