Optional Modules - Changes & Fixes
This page covers the optional module changes and fixes provided in release IPF-2024.4.0.
Scheme Packs
SEPA CT CSM
Fixed
-
For SEPA Credit Transfers, the Transaction Reason Proprietary Code will be set to T00 instead of B00 when the Transaction Status is one of the following:
-
ACTC: After a successful IPF validation.
-
ACSP: Upon receipt of a CVF that results in either a Group Status (GrpSts) of ACCP or PART.
-
-
Additionally, the Transaction Reason Proprietary Code is set to XT00 for SEPA Credit Transfers when Pacs.002 is generated during End of Day (EOD) processing or when a RSF is received with a GrpSts of either ACCP or PART.
-
Serbia has been removed from the list of EEA countries
TIPS CSM
Fixed
-
Pacs008 amount validation incorrectly comparing values with trailing 0’s (PAY-12405)
-
Postal address sub-field validation incorrectly failing for unstructured addresses where country not provided (PAY-12430)
-
Ignore sending Pacs.002 confirmation messages from the TIPS simulator when an inbound Pacs.008 is rejected due to failure. (PAY-11318)
Identity Resolution
New
-
New module called
comparison-client-directadded to allow embedding identity resolution into a service
Changed
-
We no longer send requests to Netowl if the comparison only contains special characters. Instead, a score of 0.0 will be returned for these comparisons. New config value of identity-resolution.comparison.netowl.exclusion.special-characters, which takes a list of characters, has been added should you want to add or remove characters from the list. (PAY-11884) Default list includes some Basic Latin special characters:
identity-resolution.comparison.netowl.exclusion.special-characters =
[
"/", "\\", "!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "\"", "{", "}", "_", "[", "]" ,"|", "?", "<", ">", ",", "."," "
]
-
The Identity Resolution API now supports null and empty values. It returns a positive response (match = true) when both the actual and comparison values are null or empty, or when the match threshold is set to 0.0.
Metrics Processor
IPF Label Support
IPF labels belonging to an event or a state are supported and when present are used to determine the critical path duration and waiting duration metrics, and when labelling payment metrics with HTM="Yes".
The existing configuration-based approach continues to work until labels are produced by flows, which means the IPF label support change is generally non-breaking. However, take note of the following to avoid confusion:
-
When there is existing configuration that defines waiting states for several different flows for a given payment, and one of those flows is updated in MPS with labels, the configuration for the other flows is ignored and only the labels are used to determine the waiting duration. This will result in a smaller waiting duration. When updating flows to enable labels, all possible flows must be updated.
-
The existing configuration for the critical path duration is based on the global status, but labels can only be applied to states and events. The effect is the same provided that the labelled flow state or event corresponds to the previously configured global state.
-
It is now possible for multiple critical paths to be defined, within multiple different flows, e.g. states
A → B → C → D → E → FwhereA → BandD → Eare labelled withCRITICAL_PATH_STARTANDCRITICAL_PATH_ENDrespectively. The sum of the critical paths is used when producing the final metric. -
For metrics labelled with
{ HTM="Yes"}, Both labelled events/states, and the existing configuration is used.
| In all cases the existing configuration outlined above is considered deprecated, and will be removed in a future release. |
Client Channel Label Support
The clientChannel label has been added to emitted payment metrics to represent the client payment initiation channel used for a payment. The value can be sourced from any client-specific PDS object. An example client channel mapping configuration is:
ipf.business-metrics-processor.payment-metrics.labels {
client-channel {
pdsType = ClientSpecificType
path = "instrMsg.cstmCrdTrfInitn.chanl"
}
}
For more information, see the client channel metrics processor documentation.