Outgoing payment potential duplicate check

Check that multiple "similar" trades are not executed within a specified timeframe.

There is already a mechanism to check for duplication of requests due to technical issues, where the same message, with identical identifiers is submitted multiple times. This check for "potential duplicates", is intended to prevent cases where multiple instances of the same logical payload are submitted as discrete requests. These messages will appear as distinct requests, but will contain the same, or similar, creditor and debtor account details. This processing will be restricted to a specific set of transaction sub-types, and will apply to a fixed timeframe, for credit transfers of the same, or similar amounts.

Usage

To enable this service, the action A_DoCheckForPotentialDuplicate must be configured as one of the pre-check actions for an corresponding FSM.

Configuration

The configuration value entries for this action are grouped under the POTENTIAL_DUPLICATE_CHECK category.
Table 1. config values for POTENTIAL_DUPLICATE_CHECK
Key Description
TXN_SUBTYPES The transaction sub-types to be considered for this check must be configured as a comma-delimited list. This configuration value MUST be provided - failure to do so will result in an exception.
DATE_RANGE The date range indicates the number of days prior to today, to look for potential duplicates. If this value is not specified, the default value of zero is applied. This means that only transactions within the last day will be considered.
AMOUNT_TOLERANCE Transactions matching the DATE_RANGE will also be filtered by the amount or value. The default tolerance of 0 means that only an exact match will be considered a potential duplicate.
STATUS_SCHEME The status scheme permits configuration of the error reporting mechanism, with the default value "ExternalStatusReason", applied unless an alternative is configured.
STATUS_CODE In conjunction with the status scheme above, the status code provides the configuration for error messages. The default value "NARR", (narrative) is applied if not alternative is found.