Documentation for a newer release is available. View Latest

Handle Status Request with Send Outcome Enabled.story

Meta
+sendOutcomeEnabled+:

Scenario: Handling status request with Send Outcome Enabled


Steps
When the Payment Service sends a 'Clear And Settle Request'
Then the CSM receives a 'Customer Credit Transfer'
When the Payment Service sends a 'Status Request'
Then the CSM receives a 'Payment Status Request' with values:
| FIToFIPmtStsReq.OrgnlGrpInf.OrgnlMsgNmId | pacs.008.001.02 |
When CSM sends a 'Send Outcome' with values:
| HEADER.IPG_SEND_OUTCOME        | <Result>        |
| HEADER.IPG_SEND_FAILURE_REASON | <FailureReason> |
Then Payment Service receives a  'Technical Response' with values:
| status | <Result>        |
| reason | <FailureReason> |
When the CSM sends a 'Payment Status Report' with values:
| fIToFIPmtStsRpt.orgnlGrpInfAndSts.orgnlMsgId   | #StatusRequest.payload.content.grpHdr.msgId |
| fIToFIPmtStsRpt.orgnlGrpInfAndSts.orgnlMsgNmId | pacs.028.001.001                            |
Then the Payment Service receives a 'Status Request Response'
Examples:
Result FailureReason

SUCCESS

NOT_SET

FAILURE

technical-response-failure

Example: {Result=SUCCESS, FailureReason=NOT_SET, sendOutcomeEnabled=}

When the ⦅Payment Service⦆ sends a Clear And Settle Request

Then the ⦅CSM⦆ receives a Customer Credit Transfer

When the ⦅Payment Service⦆ sends a Status Request

Then ⦅the CSM⦆ receives a Payment Status Request with values:
| FIToFIPmtStsReq.OrgnlGrpInf.OrgnlMsgNmId | pacs.008.001.02 |

When ⦅CSM⦆ sends a Send Outcome with values:
| HEADER.IPG_SEND_OUTCOME | ⦅SUCCESS⦆ |
| HEADER.IPG_SEND_FAILURE_REASON | ⦅NOT_SET⦆ |

Then ⦅Payment Service⦆ receives a Technical Response with values:
| status | ⦅SUCCESS⦆ |
| reason | ⦅NOT_SET⦆ |

When the ⦅CSM⦆ sends a Payment Status Report with values:
| fIToFIPmtStsRpt.orgnlGrpInf*And*Sts.orgnlMsgId | #StatusRequest.payload.content.grpHdr.msgId |
| fIToFIPmtStsRpt.orgnlGrpInf*And*Sts.orgnlMsgNmId | pacs.028.001.001 |

Then the ⦅Payment Service⦆ receives a Status Request Response

Example: {Result=FAILURE, FailureReason=technical-response-failure, sendOutcomeEnabled=}

When the ⦅Payment Service⦆ sends a Clear And Settle Request

Then the ⦅CSM⦆ receives a Customer Credit Transfer

When the ⦅Payment Service⦆ sends a Status Request

Then ⦅the CSM⦆ receives a Payment Status Request with values:
| FIToFIPmtStsReq.OrgnlGrpInf.OrgnlMsgNmId | pacs.008.001.02 |

When ⦅CSM⦆ sends a Send Outcome with values:
| HEADER.IPG_SEND_OUTCOME | ⦅FAILURE⦆ |
| HEADER.IPG_SEND_FAILURE_REASON | ⦅technical-response-failure⦆ |

Then ⦅Payment Service⦆ receives a Technical Response with values:
| status | ⦅FAILURE⦆ |
| reason | ⦅technical-response-failure⦆ |

When the ⦅CSM⦆ sends a Payment Status Report with values:
| fIToFIPmtStsRpt.orgnlGrpInf*And*Sts.orgnlMsgId | #StatusRequest.payload.content.grpHdr.msgId |
| fIToFIPmtStsRpt.orgnlGrpInf*And*Sts.orgnlMsgNmId | pacs.028.001.001 |

Then the ⦅Payment Service⦆ receives a Status Request Response