Handle Invalid Return Request received.story
+disableXsdValidation+:true
Scenario: Handling invalid payment return
When the ⦅Recall Service⦆ sends a Send Recall To Csm Request
Then the ⦅CSM⦆ receives a Payment Cancellation Request
And ⦅Recall Service⦆ receives a Technical Response with values:
| status | SUCCESS |
And ⦅Recall Service⦆ receives a Send Recall To Csm Response
When ⦅the CSM⦆ sends an invalid Payment Return
Then ⦅CSM⦆ receives a Payment Status Report using predicate:
| FIToFIPmtStsRpt.OrgnlGrpInf*And*Sts.GrpSts | RJCT |
| FIToFIPmtStsRpt.GrpHdr.InstgAgt.FinInstnId.BIC | ICSLGBL1 |
| FIToFIPmtStsRpt.GrpHdr.InstdAgt.FinInstnId.BIC | IPSTFRPP |
| FIToFIPmtStsRpt.OrgnlGrpInf*And*Sts.StsRsnInf.Rsn.Cd | FF01 |
| FIToFIPmtStsRpt.OrgnlGrpInf*And*Sts.StsRsnInf.Orgtr.Nm | #PaymentReturn_headers.NETWORK_MESSAGE_ID |
| FIToFIPmtStsRpt.OrgnlGrpInf*And*Sts.OrgnlMsgNmId | pacs.004 |
| FIToFIPmtStsRpt.TxInf*And*Sts | NOT_SET |
Then ⦅the Payment Service⦆ receives a System Event using predicate:
| level | ERROR |
| processingContext.associationId.value | NOTAVAILABLE |
| name | InvalidMessageReceived |
| payload.csm | RT1 |
| payload.description | Invalid Positive Recall Response Received |
| payload.rawMessage | prettyPrint(#PaymentReturn) |
| type | FUNCTIONAL |