Optional Modules - Changes & Fixes
This page covers the optional module changes and fixes provided in IPF Release 2025.2.0
Scheme Packs
Scheme Pack Client Library
New
-
Made the status request send connectors independently configurable. Prior to this change, both
CSMDebtorStatusRequestSendandCSMCreditorStatusRequestSendconnectors were configured viacsm.ct-service.statusrequest-send-connector. As of this release, they will be configured throughcsm.ct-service.debtor-statusrequest-send-connectorandcsm.ct-service.creditor-statusrequest-send-connector, respectively. To maintain backward compatibility with existing configuration,csm.ct-service.debtor-statusrequest-send-connectorandcsm.ct-service.creditor-statusrequest-send-connectorwill both inherit fromcsm.ct-service.statusrequest-send-connector. -
Made Kafka transports independently configurable in the scheme pack Kafka client library (
csm-client-starter-kafka). Prior to this change, all Kafka transports were configured throughcsm.kafka.producer(sending transports) andcsm.kafka.consumer(receiving transports). As of this release, they will be configured through dedicated config root paths, which are listed under the Transport Reference page. To maintain backward compatibility with existing configuration, all Kafka transports will inherit their configuration fromcsm.kafka.producerandcsm.kafka.consumer.
SEPA CT CSM
New
-
Added new configuration options for enabling or disabling postal address structural validations (creditor and debtor) for outbound pacs.008 messages. The default values are:
-
ipf.csm.sepa-ct.validation.pacs008.debtor-address-structural-validation-outbound.enabled = false
-
ipf.csm.sepa-ct.validation.pacs008.creditor-address-structural-validation-outbound.enabled = false
-
-
To enable this functionality, set:
-
ipf.csm.sepa-ct.validation.pacs008.debtor-address-structural-validation-outbound.enabled = true
-
ipf.csm.sepa-ct.validation.pacs008.creditor-address-structural-validation-outbound.enabled = true
-
-
Added new configuration options for enabling or disabling non-EEA outbound address validations for a pacs.008 message. The default value is:
-
ipf.csm.sepa-ct.validation.pacs008.non-eea-debtor-address-validation-outbound.enabled = false
-
-
To enable this functionality, set:
-
ipf.csm.sepa-ct.validation.pacs008.non-eea-debtor-address-validation-outbound.enabled = true
-
-
Added new configuration options for enabling or disabling postal address structural validations (creditor and debtor) for inbound pacs.008 messages. The default values are:
-
ipf.csm.sepa-ct.validation.pacs008.debtor-address-structural-validation-inbound.enabled = false
-
ipf.csm.sepa-ct.validation.pacs008.creditor-address-structural-validation-inbound.enabled = false
-
-
To enable this functionality, set:
-
ipf.csm.sepa-ct.validation.pacs008.debtor-address-structural-validation-inbound.enabled = true
-
ipf.csm.sepa-ct.validation.pacs008.creditor-address-structural-validation-inbound.enabled = true
-
-
Added schema validation support for inbound SCT Step2 messages (SCF, OQF, CVF, RSF, PCF, QVF). (PAY-14498)
Changed
-
Existing Debtor CT pacs.008 (outbound to scheme) Unstructured/Structured validations removed and replaced with "Unstructured", "Structured" or "Hybrid" validations
-
Existing Debtor CT pacs.008 (outbound to scheme) non EEA validations removed and replaced with debtor postal address country check
-
Existing Debtor CT pacs.008 (outbound to scheme) fails the transaction duplicate check with AM05 instead of DU03 (aligned with docs)
-
Improved and aligned validation documentation with the implementation
-
Updated to the latest XSD Schemas for the October 2025 release:
-
pacs.008
-
pacs.004
-
camt.029
-
camt.056
-
pacs.028
-
pacs.002s2
-
camt.027
-
camt.087
-
-
Existing inbound pacs.008 Unstructured/Structured validations removed and replaced with "Unstructured", "Structured" or "Hybrid" validations
-
Original Message Name Id Validations for:
-
camt.029 and camt.056: If TxInfAndSts.OrgnlGrpInf.OrgnlMsgNmId does not start with pacs.008
-
pacs.028:
-
If FIToFIPmtStsReq.OrgnlGrpInf is populated and if TxInf.OrgnlGrpInf.OrgnlMsgNmId does not start with camt.056
-
If FIToFIPmtStsReq.OrgnlGrpInf is not populated and FIToFIPmtStsReq.TxInves.OrgnlGrpInf.OrgnlMsgNmId does not start with camt.027 or camt.087
-
-
-
Updated notification documentation with recently introduced debulker notification details
Fixed
-
Remittance validation rule updated to only allow structured or unstructured remittance information to be present
-
Remittance validation rule updated to only allow contents of Structured Remittance Information under 140 characters
-
Component processing of a CVF file will now resume after an application crash
Verification of Payee (VoP)
Account Management API
VoP Responder
Breaking
-
In the Processing Archive model the following fields have been renamed:
-
'ProcessingArchive.matchedName' to 'ProcessingArchive.scoredName'
-
'ProcessingArchive.accountPayeeName' to 'ProcessingArchive.accountPayeeNames' and is now a list of names
-
-
Previously, match thresholds were defined per account type only. In this release match thresholds must be defined per processing entity and account type.
Please see Migration Steps for more details
New
-
Added 'processingEntity' value in Message and Processing Archive Logs
-
Added 'requestPayeeIban' and 'requestReceivedTimestamp' value in Processing Archive Logs
-
Added support for matching on multiple names
-
Added support for handling errors from Account Management Service
-
Added support for tracing log messages by requestId
-
Added Message Logs on error responses
-
Configuration updated to allow for specifying RVM
-
Added the following startup validations on config threshold fields
lowerboundandupperbound:-
They must be of type Double
-
They must be in the range [0.0, 1.0]
-
The lowerbound must be less than or equal to the upperbound
-
VoP Requester
Breaking
-
Configuration
ipf.verification-of-payee.requester.scheme-membership-idshas been removed from the hierarchy. Clients overriding values (e.g.processing-entities) underneath this path should removescheme-membership-idsfrom the path. -
Default processing-entity-code was previously "". This has been updated to
defaultinstead of empty string, consistent with VoP Responder -
rvmparameter should be specified in addition tonamefor scheme configuration
Please see Migration Steps for more details
New
-
Added support for handling negative responses from FPAD RVM
-
Added 'processingEntity' value in Message Logs
-
Added Message Logs on error responses
-
Added support for tracing log messages by requestId
-
Configuration updated to allow for specifying RVM
Changed
-
Processing Archive model:
-
'ProcessingArchive.matchedName' has been renamed to 'ProcessingArchive.scoredName'
-
'ProcessingArchive.accountPayeeName' has been renamed to 'ProcessingArchive.accountPayeeNames' and is now a list of names
-
-
Scheme configuration changes:
-
Default processing entity is now denoted by
defaultinstead of "" -
Scheme
nameproperty is now an Enum and validated on startup
-
-
'Proprietary' is removed from the spec
SIC CSM Service
Breaking
SIC CSM Service used to create its own connectors. However, since both DPS API and CSM Reachability API already provide those connectors out-of-the-box, they are used instead of the SIC CSM Service custom made connectors.
That effectively means that:
-
SIC CSM service now uses CSM Reachability client connector for IBAN Deconstruct
-
SIC CSM service now uses DPS v2 Connector for getting Participant details
The following properties are deprecated:
-
csm-reachability-api.participant -
csm-reachability-api.iban-structure
| Only host and port data are reused and mapped to new configurations as it can be seen in the following HOCON config. |
# DPS API configuration for getting Participant details
ipf.dps-api {
http.client {
host = "localhost"
port = 8080
# previous status codes treated as error everything which is not 200
# this is close enough to it as connectors don't provide overrides
status-codes-treated-as-errors = [4xx, 5xx]
}
# to maintain backward compatibility, deprecated properties can be used to set host and port
http.client.host = ${?csm-reachability-api.participant.http.client.host}
http.client.port = ${?csm-reachability-api.participant.http.client.port}
}
# CSM Reachability API configuration for making a call to IBAN Deconstruct endpoint
ipf.csm-reachability-api {
http.client {
host = "localhost"
port = "8080"
# previous status codes treated as error everything which is not 200
# this is close enough to it as connectors don't provide overrides
status-codes-treated-as-errors = [4xx, 5xx]
}
# to maintain backward compatibility, deprecated properties can be used to set host and port
http.client.host = ${?csm-reachability-api.iban-structure.http.client.host}
http.client.port = ${?csm-reachability-api.iban-structure.http.client.port}
}
For more information on how to tweak further these connectors, please refer to:
| Clients are expected to change their deployment configuration to match new configurations as future releases will remove backward compatibility of deprecated properties. |