Configuration values

FTM for Immediate Payments is an FTM-based application. It requires configuration data to be created in the FTM database.

General configuration

Table 1. Category: CORE
Key Configuration value
ACK_MSTR_REL_PT CAUSE
ACK_MSTR_REL_TXN CAUSE
ACK_REL_LOG_OPTION REQ_AND_MASTER
IN_FRAG_BAT_GUARD Y
IN_FRAG_PT_GUARD Y
MRI_ROWS_PER_INSERT_LIMIT 100
MRI_ROW_CACHE_LIMIT 1000
PROFILING_FLAGS MAPPERS=Y EVENTS=Y TRANSITIONS=Y ACTIONS=Y SQL=Y CUSTOM=Y PUBLISH=Y
PROFILING_LEVEL 0
PROFILING_MAX_SVC_TRACE_SIZE 10
Table 2. Other categories
Category Description
GUI This category contains the values that are used by FTM base to control aspects of the FTM Operations and Administration Console.

Bank and process configuration

Typically, these configuration values need to be changed to values that are appropriate for your environment.

Table 3. Category: IP_CONFIG
Key Configuration values Description
  TCH SCTInst  
EBA_CLEARING_BIC N/A EBACEBB This key can be set to the EBA clearing house BIC number and is used to set the instructing agent for messages from the CSM for SCTInst.
IP_AMOUNT_MAX_VALUE 25000 15000 Maximum amount allowed for outgoing payments.
IP_AMOUNT_MAX_VALUE_ONUS 25000 15000 Maximum amount allowed for on-us payments.
IP_AMOUNT_MIN_VALUE 1 0.01 Minimum required amount for outgoing payments.
IP_BANK_CODE 020010001 BBBBUS33 The bank code of the participant.
IP_BANK_PART_ID 02001000101 N/A The participant ID assigned by TCH.
IP_CSM_DATE_TZ America/New_York Europe/Paris The time zone to use for timestamps to the CSM. TCH doesn't allow UTC-formatted timestamps and always assumes that any timestamp is in Eastern Time (ET).
IP_CSM_TIMEOUT N/A 20 Used for SCTInst only and along with the VALUE table entry TIMEOUT_CHECK_TXNTYPES. When a payment of the correct subtype is received from the CSM, the payment times out and is rejected when the current time is after the acceptance date time plus the IP_CSM_TIMEOUT delay.
IP_RMT_NOTIF_ENRICH Y N/A Value used to enable enrichment of a notification message to receiving client, for an incoming remittance advice message. The enrichment is the inclusion of additional information about the sender, contained in the related transaction.
IP_SCHEME TCH EBA When this value is set to TCH, FTM for Immediate Payments implements the work flows according to the TCH rule books and specifications. When the value is set to EBA, FTM for Immediate Payments implements the work flows according to the SCTInst rule books and specifications.
IP_SERIAL_ID_3_CHAR RRR N/A This key represents the three-character string that is used to create TCH message identifiers. The key can be appended with the IBM® App Connect Enterprise Broker name (Integration node name) to distinguish between different systems. For example, production, development, and test systems.
IP_SERIAL_ID_4_CHAR RRRR N/A This key represents the four-character string that is used to create TCH instruction identifiers. The key can be appended with the IBM App Connect Enterprise Broker name (Integration node name) to distinguish between different systems. For example, production, development, and test systems.
IP_SUSPENSE_ACCOUNT_CUSTOMER_CREDIT NULL NULL If this key contains an account number, a suspense account credit entry is created in the message to accounting. This value defaults to NULL so no suspense account entry is created.
IP_SUSPENSE_ACCOUNT_CUSTOMER_DEBIT NULL NULL If this key contains an account number, a suspense account debit entry is created in the message to accounting. This value defaults to NULL so no suspense account entry is created.
IP_TCH_PART_ID 02211334401 N/A This key represents the TCH participant identifier.
PROCESS_CONFIG_CATEGORY IP_PROCESS_TWO_STEP_ACCNT IP_PROCESS_TWO_STEP_ACCNT This key defaults to IP_PROCESS_TWO_STEP_ACCNT, but can be set to IP_PROCESS_ONE_STEP_ACCNT, depending on whether two-step or one-step accounting is required. For more information about two-step and one-step accounting, see the Integration section.
PROCESS_CONFIG_CATEGORY_REQ_FOR_INFO IP_PROCESS_REQUEST_FOR_INFORMATION N/A This value defaults to IP_PROCESS_REQUEST_FOR_INFORMATION, which matches a VALUE table category that is used to define the incoming Request for Information precheck actions to be carried out (if any).
PROCESS_CONFIG_CATEGORY_REQ_FOR_PAY IP_PROCESS_REQUEST_FOR_PAYMENT   This value defaults to IP_PROCESS_REQUEST_FOR_PAYMENT. It matches a VALUE table category that is used to define the Request for Payment and the Request for Payment Cancellation precheck and postaccept actions to be carried out (if any).
PROCESS_CONFIG_CATEGORY_RET_OF_FUNDS IP_PROCESS_RETURN_OF_FUNDS IP_PROCESS_RETURN_OF_FUNDS This value defaults to IP_PROCESS_RETURN_OF_FUNDS, which matches a VALUE table category that is used to define the incoming Request for Return of Funds precheck actions to be carried out (if any).
PROCESS_CONFIG_CATEGORY_RET_OF_FUNDS_RESP     This value defaults to IP_PROCESS_RETURN_OF_FUNDS_RESPONSE, which matches a VALUE table category that defines the incoming Response to Request for Return of Funds precheck actions to be carried out (if any).
RCL_DUE_ALERT_TIME N/A 8 00:00 This value specifies the time period that an incoming recall request can be in an unresolved state before an alert is raised. The format is either dd HH:mm or HHH:mm.
ROF_DUE_ALERT_TIME 36:00 N/A This value specifies the time period that an incoming Request for Return of Funds can be in an unresolved state before an alert is raised. The format is either dd HH:mm or HHH:mm.

On-us bank codes

Typically, these configuration values need to be changed to values that are appropriate for your environment.

The ONUS_BANK_CODE category is used to define bank codes that, for the purposes of outgoing payments, can be settled internally without interaction with the CSM. Typically, this category is an enumeration of all the BIC or routing numbers for the bank. If these numbers are defined, they are checked against the DEST_BANK_CODE of the outgoing credit transfer transactions. When the BIC or routing numbers match, the prechecks that match the values in the IP_OUTGOING_PRE_CHECK/ONUS key for the value table category IP_PROCESS_ONE_STEP_ACCNT or IP_PROCESS_TWO_STEP_ACCNT are done. This situation typically means that an on-us payment doesn't require a call to the sanction screening service or require a reservation of funds and the CSM interaction is avoided.

Add a new key entry for each bank code. The value can be any non-null value. A null value can be used to disable the bank code from the check.

Table 4. Category: ONUS_BANK_CODE
Key Configuration values
  TCH SCTInst
020010001 Y Y

Duplicate checks

The key values that are set for the category DUP_CHECK_TXNTYPES represent the list of transaction subtypes for messages that require a duplicate check. Deleting or setting one of the values to N, causes duplicates not to be checked for those transaction subtypes. The duplicate check is based on the transaction CID in the FTM database. The duplicate check is done during the validation process. For TCH messages with the duplicate flag set in the business application header, '_RPT' is appended to the transaction subtype. The duplicate check is usually not done for the TCH message because the new transaction subtype is probably not on the list of messages to check.

Table 5. Category: DUP_CHECK_TXNTYPES
Key Configuration values
  TCH SCTInst
IP_FROM_CDTR_PACK Y N/A
IP_FROM_CDTR_RFI Y N/A
IP_FROM_CSM_INSTR Y Y
IP_FROM_CSM_INSTR_FI Y N/A
IP_FROM_CSM_PACK Y N/A
IP_FROM_CSM_RFI Y N/A
IP_FROM_CSM_RFIR Y N/A
IP_FROM_DBTR_INSTR Y Y
IP_FROM_DBTR_INSTR_FI Y N/A
IP_FROM_DBTR_RFIR Y N/A
IP_FROM_DBTR_RFPR Y N/A
IP_FROM_CDTR_RFP Y N/A
IP_FROM_CDTR_RFP_CANCEL Y N/A
IP_FROM_CSM_RET Y N/A
IP_FROM_CSM_ROI Y N/A
IP_FROM_DBTR_RCL Y N/A
IP_FROM_CSM_RFPR Y N/A

Repeat transaction value checks

The key values that are set for the category REPEAT_CHECK_TXNTYPES represent the repeat transaction subtypes of messages that need to be checked. For the messages with these repeat transaction subtypes, certain fields in the repeat message must be checked against the same values of the original message. If an entry isn't found for the transaction subtype, the value check isn't done for the repeat transaction. If an entry is found, the list of comma-separated values in the entry are checked against the values in the object selector for the original transaction. If entries are added for more subtypes, a matching entry must exist in the object selector for that subtype. If a value in the repeat message doesn't match one in the original, the message is rejected.

Table 6. Category: REPEAT_CHECK_TXNTYPES
Key Configuration values
  TCH SCTInst
IP_FROM_CSM_INSTR_RPT ACCOUNT,AMOUNT,DEST_ACCOUNT N/A
IP_FROM_CSM_INSTR_FI_RPT ACCOUNT,AMOUNT,DEST_ACCOUNT N/A

Auxiliary status

Typically, you can use the defaults for these configuration values.

The values set here represent the failed, hold, and passed auxiliary status values for transactions that are used during service and use case processing.

Table 7. Category: AUXSTATUS_TXN_PAYMENT
Key Configuration values
  TCH SCTInst
IP_ACC_RESERVE_FUNDS_REQUEST_F Funds Reservation Failed N/A
IP_ACC_RESERVE_FUNDS_REQUEST_P Funds Reservation Passed N/A
IP_FRAUD_REQUEST_F Fraud Failed Fraud Failed
IP_FRAUD_REQUEST_H Fraud Hold Fraud Hold
IP_FRAUD_REQUEST_P Fraud Passed Fraud Passed
IP_SANCTION_REQUEST_F Sanction Failed Sanction Failed
IP_SANCTION_REQUEST_H Sanction Hold Sanction Hold
IP_SANCTION_REQUEST_P Sanction Passed Sanction Passed
TIMEOUT_H Timeout Timeout

Timeouts

Typically, you can use the defaults for these configuration values.

The key values for this category represent transaction status values. The configuration values represent the timeout interval, in seconds, after which transactions in that status time out. When no entry is provided for one of the wait states, the wait is not retried for that state.

Table 8. Category: IP_OBJ_STATUS_TIMEOUT
Key Configuration values
  TCH SCTInst
S_WaitInPreChecks 5 NULL
S_WaitOutPreChecks 5 5
S_WaitPreSubmit 5 5
S_WaitingCSMPayResponse 25 25
S_WaitingCSMPayResponseTimeout 180 35
S_WaitingCSMResponse 25 N/A
S_WaitingRepeatResponse 20 N/A
S_WaitingCSMStatusResponse 20,5,60 20
S_WaitInRFPPreChecks 5 N/A
S_WaitOutRFPPreChecks 5 N/A
S_Connected 360 N/A
S_Disconnected 360 N/A
S_CorrelatingRMT 3 N/A
S_WaitingRFPResponse 0 N/A
S_WaitingIncomingRFPResponse 0 N/A
The timeout interval can be configured as either a repeating, fixed interval or as a variable, increasing interval. The variable interval can be used when retry handling is implemented. The formats for specifying the timeout interval are shown in the following list.
  1. A single integer value that is the number of seconds to wait before the timeout.
  2. Two or three comma-separated integer values. The following list shows the formats of the timeout interval when variable, increasing intervals are used.
    • TxnTimeoutDelay,TimeoutIncreaseRate
    • TxnTimeoutDelay,TimeoutIncreaseRate,MaxTimeoutDelay
The following list has a description of the values that you specify for the variable, increasing interval.
TxnTimeoutDelay
The interval, in seconds, between the timeouts.
TimeoutIncreaseRate
The rate at which the timeout interval increases. The formula to determine how the increase rate affects the timeout interval is:
Timeout interval = TxnTimeoutDelay + (FLOOR(Timeout counter / TimeoutIncreaseRate) * TxnTimeoutDelay)
The floor function returns the largest integer value that is less than or equal to the calculated value.
MaxTimeoutDelay
The maximum timeout interval to be used for this configuration.
For example, 10,5,60 specifies an initial timeout interval of 10 seconds, an increase rate of 5 seconds, and a maximum timeout interval of 60 seconds. The resulting timeout intervals are shown in the following table.
Table 9. Increasing timeout example
Timeout counter Timeout interval (seconds)
1 10
2 10
5 20
10 30
15 40
20 50
25 60
30 60
100 60

If a credit transfer payment object subtype matches the key value for the TIMEOUT_CHECK_TXNTYPES category, the validation action checks whether the Acceptance Date time of the transaction timed out. The Acceptance Date time is the TXN_TIMESTAMP TXN_PAYMENT database entry. The validation checks by using the configuration value for the IP_CSM_TIMEOUT key in the IP_CONFIG category as the timeout delay. If the transaction timed out, the validation event is raised and an error record is logged. By default, the key is set to IP_FROM_CSM_INSTR for the SCTInst scheme, which means that incoming credit transfer payments are checked.

Table 10. Category: TIMEOUT_CHECK_TXNTYPES
Key Configuration values
  TCH SCTInst
IP_FROM_CSM_INSTR N/A Y

Limit repeat request to CSM

For various reasons, messages that are sent to the CSM might time out. When a message times out, the default processing is to resend the message after the timeout interval elapses. The timeout behavior is modeled in the FSM for a specific wait state. It uses the IP_OBJ_STATUS_TIMEOUT category, where the key is the name of the waiting status. The timeout interval can be defined as a repeating, fixed interval or as a variable, increasing interval. For more information, see Timeouts.

The following table shows the message subtypes that support limit repeat requests.
Table 11. Message subtypes that support limit repeat requests
Subtype Description
IP_FROM_CDTR_PACK Outgoing payment acknowledgment.
IP_FROM_CDTR_RFI Outgoing request for information.
IP_FROM_CSM_INSTR Incoming payment transaction.
IP_FROM_DBTR_INSTR Outgoing payment transaction.
IP_FROM_DBTR_RFIR Outgoing response to a request for information.
IP_FROM_DBTR_RFPR Outgoing response to a request for payment.
IP_FROM_CDTR_RFP Outgoing request for payment.
IP_FROM_CDTR_RET Outgoing payment return.
IP_FROM_DBTR_RCL Outgoing request for return of funds.
IP_FROM_CDTR_ROI_xxxx Outgoing response to request for return of funds. The values that can be used for xxxx are shown in the following list:
  • ACCEPT
  • REJECT
  • ACCEPT_REJECT
IP_FROM_SNDR_RMT Outgoing remittance advice.

When limit repeat requests are configured, you can use the MAX_REPEAT_VALUE category to restrict the number of times a request is submitted to the CSM. For this category, the key is the message subtype and the configuration value is an integer that specifies the maximum number of retries to be attempted. When the subtype is not configured or has a null value, the requests to the CSM are re-sent until the service becomes available or operator intervention resolves the problem.

Table 12. MAX_REPEAT_VALUE example values
Subtype MAX_REPEAT_VALUE
IP_FROM_CDTR_PACK 3
IP_FROM_CDTR_RFI 3
IP_FROM_CSM_INSTR 3
IP_FROM_DBTR_INSTR 3
IP_FROM_DBTR_RFIR 3

After a timeout, a pending status message can be sent to the channel application to indicate that the process is awaiting completion. The key and configuration value entries in the REPEAT_SEND_PENDING category are used to configure sending pending status messages.

Table 13. REPEAT_SEND_PENDING example values
Subtype REPEAT_SEND_PENDING
IP_FROM_DBTR_INSTR NARR/No response from CSM for outgoing payment
IP_FROM_DBTR_RFIR CUSTOM/No response from CSM for RFIR

The key and configuration value entries provide the status code and optional description fields that are used to route the pending status message back to the channel. The format of the configuration value entry is <CODE>[/<DESCRIPTION>]. A pending status message has a <StatusCode> element, which has a value of PDNG, and a <StatusReason> element. The <StatusReason> element has <ReasonCode> and <Reason> as its child elements. The <ReasonCode> element has the code part of the configuration value entry as its value. The <Reason> element is optional and has the description part of the configuration value entry as its value.

The mandatory <CODE> from the configuration value entry is mapped based on its length. If it has 1 - 4 characters, the CodeIssuer="ExternalStatusReason" attribute is used for the <StatusCode> element. This attribute causes the ISF to be mapped to the StsRsnInf.Rsn.Cd element in the pacs.002 message. A longer code, such as CUSTOM, is mapped to the StsRsnInf.Rsn.Prtry element of the pacs.002 message.

The following example shows the ISF fragment for a REPEAT_SEND_PENDING entry that has a value of NARR/No response from CSM for IP_FROM_DBTR_INSTR.
<TransactionStatus>
   <StatusReason>
      <Reason>No response from CSM for IP_FROM_DBTR_INSTR</Reason>
      <ReasonCode CodeIssuer="ExternalStatusReason">NARR</ReasonCode>
   </StatusReason>
   <StatusCode CodeIssuer="ExternalStatusReason">PDNG</StatusCode>
</TransactionStatus>
This ISF is then mapped to the pacs.002 status message as shown in the following example.
<TxSts>PDNG</TxSts>
<StsRsnInf>
   <Rsn>
      <Cd>NARR</Cd>
   </Rsn>
   <AddtlInf>No response from CSM for IP_FROM_DBTR_INSTR</AddtlInf>
</StsRsnInf>

Accounting process models

These key values define the different stages of the one-step and two-step accounting process.

The value entries represent what services and actions to call for each step in the configurable part of an FSM. The following list describes the format of the value entries.
  • Any of the key values that end with /RETURN or /RETURN_ONUS represent the different stages that are defined for payment returns.
  • Entries that are contained within parentheses and separated by a comma are done in parallel.
  • Entries that are not in parentheses are done sequentially.
  • Entries with the letter O in square brackets are optional. If the call receives a response of fail or rejected, the accounting processing can continue.
  • Entries with the letter M in square brackets or that do not have an entry in square bracket after them are mandatory. The call must receive a response of pass or accepted for the accounting process to continue.

In addition to the predefined service names, the list can contain any custom action that you define. You must adhere to a few simple rules when it is called.

Table 14. Category: IP_PROCESS_ONE_STEP_ACCNT
Key Configuration values
  TCH SCTInst
IP_INCOMING_POST_ACCEPT NotifyChannel NotifyChannel
IP_INCOMING_POST_ACCEPT/ACWP_FAIL    
IP_INCOMING_POST_ACCEPT/ACWP_OK (AccountCredit, NotifyChannel) (AccountCredit, NotifyChannel)
IP_INCOMING_POST_ACCEPT/FI NotifyChannel N/A
IP_INCOMING_POST_ACCEPT/RETURN   A_DoNotifyChannelReturn
IP_INCOMING_PRE_ACCEPT AccountCredit AccountCredit
IP_INCOMING_PRE_ACCEPT/ACWP AccountInq AccountInq
IP_INCOMING_PRE_ACCEPT/FI AccountCredit N/A
IP_INCOMING_PRE_ACCEPT/RETURN   AccountCredit
IP_INCOMING_PRE_CHECK Sanction[O] Sanction[O]
IP_INCOMING_PRE_CHECK/FI Sanction N/A
IP_INCOMING_PRE_CHECK/RETURN   Sanction[O]
IP_OUTGOING_POST_SUBMIT    
IP_OUTGOING_POST_SUBMIT/FI   N/A
IP_OUTGOING_PRE_CHECK (Sanction[O], Fraud[O]) (Sanction[O], Fraud[O])
IP_OUTGOING_PRE_CHECK/FI (Sanction, Fraud) N/A
IP_OUTGOING_PRE_CHECK/ONUS Fraud Fraud
IP_OUTGOING_PRE_CHECK/RETURN   (Sanction[O], Fraud[O])
IP_OUTGOING_PRE_CHECK/RETURN_ONUS   Fraud
IP_OUTGOING_PRE_SUBMIT AccountDebit AccountDebit
IP_OUTGOING_PRE_SUBMIT/FI AccountDebit N/A
IP_OUTGOING_PRE_SUBMIT/RETURN   AccountDebit
Table 15. Category: IP_PROCESS_TWO_STEP_ACCNT
Key Configuration values
  TCH SCTInst
IP_INCOMING_POST_ACCEPT (AccountCredit, NotifyChannel) (AccountCredit, NotifyChannel)
IP_INCOMING_POST_ACCEPT/ACWP_FAIL    
IP_INCOMING_POST_ACCEPT/ACWP_OK (AccountCredit, NotifyChannel) (AccountCredit, NotifyChannel)
IP_INCOMING_POST_ACCEPT/FI (AccountCredit, NotifyChannel) N/A
IP_INCOMING_POST_ACCEPT/RETURN   (AccountCredit, A_DoNotifyChannelReturn)
IP_INCOMING_PRE_ACCEPT    
IP_INCOMING_PRE_ACCEPT/ACWP    
IP_INCOMING_PRE_ACCEPT/FI   N/A
IP_INCOMING_PRE_ACCEPT/RETURN    
IP_INCOMING_PRE_CHECK (Sanction[O], AccountInq) (Sanction[O], AccountInq)
IP_INCOMING_PRE_CHECK/FI (Sanction, AccountInq) N/A
IP_INCOMING_PRE_CHECK/RETURN   (Sanction[O], AccountInq)
IP_OUTGOING_POST_SUBMIT AccountDebit AccountDebit
IP_OUTGOING_POST_SUBMIT/FI AccountDebit N/A
IP_OUTGOING_POST_SUBMIT/RETURN   AccountDebit
IP_OUTGOING_PRE_CHECK (Sanction[O], Fraud[O], ReserveFunds) (Sanction[O], Fraud[O], ReserveFunds)
IP_OUTGOING_PRE_CHECK/FI (Sanction, Fraud, ReserveFunds) N/A
IP_OUTGOING_PRE_CHECK/ONUS Fraud Fraud
IP_OUTGOING_PRE_CHECK/RETURN   (Sanction[O], Fraud[O])
IP_OUTGOING_PRE_CHECK/RETURN_ONUS   Fraud
IP_OUTGOING_PRE_SUBMIT    
IP_OUTGOING_PRE_SUBMIT/FI   N/A
IP_OUTGOING_PRE_SUBMIT/RETURN    
The following predefined names map to the following actions:
Table 16. Predefined names and corresponding actions
Friendly Name Action
Fraud A_DoSendToFraudCheck
Sanction A_DoSendToSanctScreen
AccountInq A_DoSendAccountInquiry
AccountCredit A_DoSendToAccounting
AccountDebit A_DoSendDebitToAccounting
ReserveFunds A_DoFundsReservation
NotifyChannel A_DoNotifyChannel

Routing

Typically, you can use the defaults for these configuration values.

Standard FTM routing mechanisms are used. The value table category ROLE_FOR_TXN_TYPE is used to define a Service Participant role for each outbound transaction type. When an outbound transaction is being created, the generic routing algorithm locates the outbound channel from the Service Participant whose role matches that defined for the TRANSACTION.SUBTYPE.

Map configuration

Typically, you can use the defaults for these configuration values.

These entries are used to define message-specific mapping configuration for a channel or mapper that can process multiple message types. Essentially, it allows a common or channel map to be used and have the configuration entries control key attributes such as the mapper, transaction, or message types.

<msgTypeCfg>
   <class>PACS008</class>
   <subType>IP_TO_CSM_INSTR</subType>
   <extendedCfg>
      <name>MASTER_FLAG</name>
      <value>N</value>
   </extendedCfg>
   <pt>
      <class>PACS008</class>
      <subType>IP_TO_CSM_INSTR</subType>
   </pt>
   <mapName>ISFToPacs008Mapper</mapName>
   <type>pacs.008.001.06</type>
</msgTypeCfg>

Finite state machine (FSM)

Typically, you can use the defaults for these configuration values. Changing them might cause the FTM for Immediate Payments FSMs to fail.

Table 17. Other categories
Category Description
E_FILTER_ALIAS This category is a shortcut that is enabled by FTM base. You can use it to shorten the event filters in FSMs. The FSM transition uses the category, key format to identify the correct event filter configuration value to use.
O_SEL_ALIAS This category is a shortcut that is enabled by FTM base. You can use it to shorten the object selector overrides in FSMs. The FSM transition uses the category, key format to identify the correct object selector override configuration value to use.
TXN_CLASS_ALIAS This category is a shortcut that is enabled by FTM base. You can use it to shorten the OBJ_CLASS list that is used in the FSM object and override selectors. The $ValueTxtList macro uses the category and value pair entries to return a list of OBJ_CLASS (TXN_CLASS) values to use.
TXN_TYPE_ALIAS This category is a shortcut that is enabled by FTM base. You can use it to shorten the transaction SUBTYPE list that is used in the FSM object and override selectors. The $ValueTxtList macro uses the category and value pair entries to return a list of SUBTYPE (TXN_TYPE) values to use.
TXN_STATE_ALIAS Used to denote a list of states and state types. For example, VALIDATING, FAILED. Used by the validating step for credit transfers.
REJECTION_EVENT_FOR_TXN_TYPES This category is used when a response message is received from the CSM and is correlated. If the response message is a reject, this value and the request transaction subtype are used as the key to return a rejection event. This event is raised to trigger the rejection path of the FSM.
COMPLETION_EVENT_FOR_TXN_TYPES This category is used when a response message is received from the CSM and is correlated. The request transaction subtype and the response transaction subtype are used as the key to return a completion event. This event is raised to trigger an FSM transition path.

These configuration values are used to set the OBJ_CLASS of the status message that is sent back to the CSM in the Incoming Credit Transfer use case. The current scheme is used as the key to look up the configuration value to return and use as the OBJ_CLASS. This category is used to configure whether to wait for a response to the status message or not. Use the OUT_TXN_NOWAIT value when you want to wait for a response. Use the OUT_TXN_NOWAIT_COMPLETE value when you don't need to wait for a response from the CSM. Currently, the EPC key is unused.

Table 18. Category: IP_TO_CSM_PSTAT_CLASS
Key Configuration values
  TCH SCTInst
TCH OUT_TXN_NOWAIT N/A
EBA N/A OUT_TXN_NOWAIT
EPC OUT_TXN_NOWAIT_COMPLETE OUT_TXN_NOWAIT_COMPLETE
The IP_CSM_INCOMING_SUBTYPE category is no longer used for TCH. For SCTInst, the category and key combination, returns the key value to be used for a subtype for status messages in response to status investigations.
Table 19. Category: IP_CSM_INCOMING_SUBTYPE
Key Configuration values
  TCH SCTInst
IP_TO_CSM_PSTAT TCH EBA
The IP_CSM_OUTGOING_SUBTYPE category and key pair returns the key value to be used for the subtype for the payment transaction to the CSM.
Table 20. Category: IP_CSM_OUTGOING_SUBTYPE
Key Configuration values
  TCH SCTInst
IP_TO_CSM_INSTR TCH_PAYMENT EBA_PAYMENT
The INTERIM_ACK_TXN_TYPES category is used to distinguish the transaction subtypes that require a second acknowledgment.
Table 21. Category: INTERIM_ACK_TXN_TYPES
Key Configuration values
  TCH SCTInst
IP_SANCTION_RESPONSE_PENDING Y Y
IP_FRAUD_RESPONSE_PENDING Y Y

Status codes

The key values that are set for the IP_STATUS_CODES category represent ISF status code values for non-CSM status messages that need to be substituted to a more appropriate code value. These value entries can be added to or deleted as necessary. Non-CSM status messages are status messages to channel interfaces.

Table 22. Category: IP_STATUS_CODES
Key Configuration values
  TCH SCTInst
ACTC ACCP Not set
ACWP ACSP Not set
RCVD ACCP Not set

Outgoing batch throttling

Outgoing batch throttling can be configured with a mode and a capacity. The mode is the algorithm that is used to control the order in which outgoing batch payments are released to the precheck phase. The capacity is the maximum number of batched payments that can be in the precheck phase at one time. In addition, throttling supports a timeout property. If the timeout expires, the throttle is reset and more batched payments are released. The timeout period restarts each time payments are released, which prevents the throttle from becoming stuck.
Category Key Value
IP_CONFIG BATCH_THROTTLE_MODE The available values for this key are shown in the following list:
  • FIFO
  • ROUND_ROBIN
  • SMALLEST_FIRST
  • LARGEST_FIRST
  • BALANCED
  • QUICKEST
IP_CONFIG BATCH_THROTTLE_RELEASE_CAPACITY A positive integer
IP_OBJ_STATUS_TIMEOUT S_Throttling A positive integer

Retry configuration

The FTM for Digital Payments retry API can be used for outgoing payments to support the automatic retry of payments that failed one of its configured precheck services, or are rejected by TCH RTP or the receiving financial institution (FI). This capability might be especially useful when the reason for the rejection is due to a timeout or technical error at the external system.

The decision on whether to retry or not is made by Digital Payments Business Rules. Business Rules determines, based on the reason code, whether to retry, how many times to retry, and how long to delay before a retry is attempted.

By default, the retry function is disabled. If the retry function is enabled and a negative response is received from a precheck service, or by the TCH RTP system, the Business Rules retry configuration web service is called to determine whether an automatic retry needs to be done. If no retry is to be done, the outgoing payment process continues normally, doing an accounting debit reversal operation (if necessary) before it ends with a failed status. If so, the outgoing payment process calls the accounting service to do a reversal of any previous accounting step to clean up the failed payment. Then, after it pauses for the specified period, the process resumes from the beginning of the precheck steps. It repeats all the precheck services except A_RegisterDPRequest, and, if successful, submits a new payment, with new IDs, to the TCH RTP system.
Note: A retry is not attempted if more than one error occurred during precheck, or if A_RegisterDPRequest returned an error.
The retry specific configuration is located under the PFS_RETRY_WORKFLOW category. By default, it is disabled. To enable retry, the entries with values NO_OUT_TXN_TYPE and NO_RETRY_TXN_TYPE need to be changed to remove the "NO_" prefix.
Table 23. Category: PFS_RETRY_WORKFLOW
Key Default value Description
INVOKE_QUEUE FXR.IP.INVOKE.PFS.WS The queue name of (internal) message flow that calls Business Rules web service. This value should not have to be edited.
IP_ACC_DEBITREVERSAL_REQUEST NO_OUT_TXN_TYPE To enable retry, change the value of this key to OUT_TXN_TYPE.
IP_FROM_CDTR_ACWPRET NO_RETRY_TXN_TYPE To enable retry, change the value of this key to RETRY_TXN_TYPE.
IP_FROM_CDTR_RET
IP_FROM_DBTR_INSTR
IP_FROM_DBTR_INSTR_FI
WS_TIMEOUT 60 The maximum time to wait for a response from the Business Rulesweb service.
WS_URL http://localhost:7080/businessrules/workflow/retryconfig The URL of Business Rules web service