Handle Inbound Clear And Settle Response Format Reject.story
Scenario: Handling clear and settle responses that indicate invalid original message
When the CSM sends a 'Customer Credit Transfer' Then the Payment Service receives a 'Receive Payment Request' When Payment Service sends a 'Receive Payment Response' Then CSM receives a 'Payment Status Report' When the CSM sends a 'Rejected With Grpsts' 'Payment Status Report' with values: | fIToFIPmtStsRpt.orgnlGrpInfAndSts.stsRsnInf.rsn.cd | <ReasonCode> | | fIToFIPmtStsRpt.orgnlGrpInfAndSts.stsRsnInf.rsn.prtry | <ReasonProprietary> | Then the Payment Service receives a 'System Event' using predicate: | level | ERROR | | processingContext.associationId.value | NOTAVAILABLE | | name | OutgoingMessageTechnicalIssue | | payload.reasonCode | <ExpectedReasonCode> | | type | FUNCTIONAL |
| ReasonCode | ReasonProprietary | ExpectedReasonCode |
|---|---|---|
FF01 |
NOT_SET |
FF01 |
NOT_SET |
TECH |
TECH |
Example: {ReasonCode=FF01, ReasonProprietary=NOT_SET, ExpectedReasonCode=FF01}
When the ⦅CSM⦆ sends a Customer Credit Transfer
Then the ⦅Payment Service⦆ receives a Receive Payment Request
When ⦅Payment Service⦆ sends a Receive Payment Response
Then ⦅CSM⦆ receives a Payment Status Report
When the ⦅CSM⦆ sends a Rejected With Grpsts Payment Status Report with values:
| fIToFIPmtStsRpt.orgnlGrpInf*And*Sts.stsRsnInf.rsn.cd | ⦅FF01⦆ |
| fIToFIPmtStsRpt.orgnlGrpInf*And*Sts.stsRsnInf.rsn.prtry | ⦅NOT_SET⦆ |
Then ⦅the Payment Service⦆ receives a System Event using predicate:
| level | ERROR |
| processingContext.associationId.value | NOTAVAILABLE |
| name | OutgoingMessageTechnicalIssue |
| payload.reasonCode | ⦅FF01⦆ |
| type | FUNCTIONAL |
Example: {ReasonCode=NOT_SET, ReasonProprietary=TECH, ExpectedReasonCode=TECH}
When the ⦅CSM⦆ sends a Customer Credit Transfer
Then the ⦅Payment Service⦆ receives a Receive Payment Request
When ⦅Payment Service⦆ sends a Receive Payment Response
Then ⦅CSM⦆ receives a Payment Status Report
When the ⦅CSM⦆ sends a Rejected With Grpsts Payment Status Report with values:
| fIToFIPmtStsRpt.orgnlGrpInf*And*Sts.stsRsnInf.rsn.cd | ⦅NOT_SET⦆ |
| fIToFIPmtStsRpt.orgnlGrpInf*And*Sts.stsRsnInf.rsn.prtry | ⦅TECH⦆ |
Then ⦅the Payment Service⦆ receives a System Event using predicate:
| level | ERROR |
| processingContext.associationId.value | NOTAVAILABLE |
| name | OutgoingMessageTechnicalIssue |
| payload.reasonCode | ⦅TECH⦆ |
| type | FUNCTIONAL |