...
Date: | Author: | Version: | Changes: | Completed | Ext. | Int. | Is in Core |
---|---|---|---|---|---|---|---|
20 July 2023 | CMI | 1.0 | Doc. created | No | |||
21 July 2023 | CMI | 1.0.1 | Added nordea documentation | No | |||
11 August 2023 | CMI | 1.0.2 | Added EngineStartupCheck documentation | No | |||
31 August 2023 | CMI | 1.0.3 | Added documentation for EngineItemErrorHandler. Moved debtor name and address line from mandatory to optional parameter configuration. Added END_TO_END_ID to NORDEA_PAYOUT_ITEM table. | No | |||
19 March 2024 | AG | 1.1 | Added documentation of changes introduced with ALKA-1345 and ALKA-1347 | Yes | |||
27 March 2024 | AG | 1.2 | Added RESPONSE_STATUS state diagrams for NORDEA_PAYOUT_SOURCE and NORDEA_PAYOUT_ITEM based on changes introduced with ALKA-1336. | Yes |
Terms and definitions:
Terms/definitions: | Meaning: |
---|---|
TBD | To be determined |
N/A | Not applicable |
...
Below can be found technical details regarding the implementation of Nordea Payout. The project is split into four modules:
State Diagrams
NordeaPayoutSource - Response Status
...
NordeaPayoutItem - Response Status
...
Nordea Core
This module includes two new tables and required entity classes, as well as utility classes for cross-engine functionality. It also includes a custom implementation of AccountPaymentDateForBillingGroupRefundRequestProvider
that is used to set the Payment Date on the Account Payment created when a Payout Request is approved.
NORDEA_PAYOUT_SOURCE
Table containing information about a batch of account payments. Primarily used to track the header information for the Nordea payment file.
Column | Notes |
---|---|
ID | Standard rator ID. |
MESSAGE_ID | Generated when a new source is created, used as messageId in the nordea payment file. |
FILE_NAME | The name of the file on the file system, created when the file is created, and updated on the source. |
STATUS_ID | The status of the batch. 0=new, 1=ready, 2=send, 3=resend, 4=error. Notes: 0=new is used when the batch is created. Once the source has been filled out with relevant information and is ready to be picked up by the MessageHandlerEngine, the status is updated to 1=ready. Status 3=resend is used if file validation fails and the file needs to be recreated. |
CREATE_DATE | The date the source was created. |
SEND_DATE | Will be updated with the date when the Nordea payment file is created. |
RESPONSE_STATUS | The result from nordea's validation, set when we receive a response. This can be either ACTC or RJCT for acknowledgement response, or one of ACCP, ACWC, PART PDNG, or RJCT for the status report. |
RESPONSE_MESSAGE | if the file is rejected, the StatusReasonInformation will be added here if provided in the response. |
BATCH_SIZE | The total number of account payments included in this batch. Calculated in PaymentHandlerEngine as each account payment is being processed. Used as NumberOfTransactions in the nordea payment file. |
BATCH_SUM | The sum of values of all items included in this batch. Calculated in PaymentHandlerEngine as each account payment is being processed. Used as ControlSum in the nordea payment file |
State Diagram - NORDEA_PAYOUT_SOURCE.RESPONSE_STATUS
NORDEA_PAYOUT_SOURCE.RESPONSE_STATUS
is updated by NordeaResponseHandler based on Group Status or Payment Information Status received in PAIN.002 response files from Nordea:
Drawio | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Nordea Core
This module includes two new tables and required entity classes, as well as utility classes for cross-engine functionality. It also includes a custom implementation of AccountPaymentDateForBillingGroupRefundRequestProvider
that is used to set the Payment Date on the Account Payment created when a Payout Request is approved.
|
NORDEA_PAYOUT_
...
ITEM
Table containing information about a batch of account payments. Primarily each individual payment, used to track the header information PaymentInformation for the Nordea nordea payment file.
Column | Notes |
---|---|
ID | Standard rator |
ID |
Generated when a new source is created, used as messageId in the nordea payment file.
FILE_NAME
The name of the file on the file system, created when the file is created, and updated on the source.
. | |
ACCOUNT_PAYMENT_ID | The |
CREATE_DATE
The date the source was created.
SEND_DATE
Will be updated with the date when the Nordea payment file is created.
RESPONSE_STATUS
The result from nordea's validation, set when we receive a response. This can be either ACTC or RJCT for acknowledgement response, or one of ACCP, ACWC, PART PDNG, or RJCT for the status report.
RESPONSE_MESSAGE
ID of the account payment this item represents. | |
INSTRUCTION_ID | Generated when the payout item is created. Maps to the InstrId in the nordea payment file. |
END_TO_END_ID | Generated when the payout item is created. Maps to the EndToEndId in the nordea payment file. |
AMOUNT | The amount on the account payment. Used in the payment information of the nordea payment file. Note that this value will be positive in the payout item. |
RESPONSE_STATUS | The response code from Nordea validation. Possible values: ACCP, ACWC, PDNG, RJCT |
RESPONSE_MESSAGE | If payment is rejected, the StatusReasonInformation will be |
inserted here if provided in the response |
SOURCE_ |
The total number of account payments included in this batch. Calculated in PaymentHandlerEngine as each account payment is being processed. Used as NumberOfTransactions in the nordea payment file.
BATCH_SUM
The sum of values of all items included in this batch. Calculated in PaymentHandlerEngine as each account payment is being processed. Used as ControlSum in the nordea payment file
NORDEA_PAYOUT_ITEM
Table containing information about each individual payment, used to track PaymentInformation for the nordea payment file.
Column | Notes | |
---|---|---|
ID | Standard rator ID. | |
ACCOUNT_PAYMENT_ID | The ID of the account payment this item represents. | |
INSTRUCTION_ID | Generated when the payout item is created. Maps to the InstrId in the nordea payment file. | |
END_TO_END_ID | Generated when the payout item is created. Maps to the EndToEndId in the nordea payment file. | |
AMOUNT | The amount on the account payment. Used in the payment information of the nordea payment file. Note that this value will be positive in the payout item. | |
RESPONSE_STATUS | The response code from Nordea validation. Possible values: ACCP, ACWC, PDNG, RJCT | |
RESPONSE_MESSAGE | If payment is rejected, the StatusReasonInformation will be inserted here if provided in the response | |
SOURCE_ID | The ID of the source object this item belongs toID | The ID of the source object this item belongs to |
State Diagram - NORDEA_PAYOUT_ITEM.RESPONSE_STATUS
NORDEA_PAYOUT_ITEM.RESPONSE_STATUS
is updated by NordeaResponseHandler based on Transaction Status received for the individual payout transactions in the PAIN.002 response files. The corresponding AccountPayment is also captured, rejected, or withdrawn in conjunction with this change in state.
Drawio | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
NextBankingDayAsPaymentDateForNordeaPayoutRequestProvider
...