Documentation for a newer release is available. View Latest

Handle Negative Debtor CT Payment Status Report.story

Scenario: Handling Negative Inbound Payment Status Report


Steps
When the Payment Service sends a 'Clear And Settle Request'
Then the CSM receives a 'Customer Credit Transfer'
When the CSM sends a 'Payment Status Report' with values:
| FIToFIPmtStsRpt.txInfAndSts[0].txSts                                 | <transactionStatus> |
| FIToFIPmtStsRpt.txInfAndSts[0].stsRsnInf[0].rsn.cd                   | <cd>                |
| FIToFIPmtStsRpt.txInfAndSts[0].stsRsnInf[0].rsn.prtry                | <prtry>             |
| FIToFIPmtStsRpt.txInfAndSts[0].clrSysRef                             | <clrsysref>         |
Then the Payment Service receives a 'Clear And Settle Response' with values:
| payload.content.txInfAndSts[0].txSts                  | <transactionStatus> |
| payload.content.txInfAndSts[0].stsRsnInf[0].rsn.cd    | <cd>                |
| payload.content.txInfAndSts[0].stsRsnInf[0].rsn.prtry | <prtry>             |
| status                                                | REJECT              |
| payload.content.txInfAndSts[0].clrSysRef              | <clrsysref>         |
Examples:
transactionStatus cd prtry clrsysref

RJCT

NOT_SET

172

NOK002

RJCT

NOT_SET

134

NOK002

CANC

ED05

NOT_SET

CNC002

Example: {cd=NOT_SET, transactionStatus=RJCT, prtry=172, clrsysref=NOK002}

com.iconsolutions.ipf.payments.csm.sic5.application.bdd.testfw.Steps.parseMeta(java.lang.String)

com.iconsolutions.ipf.payments.csm.sic5.application.bdd.testfw.Steps.parseLegacy(java.lang.String)

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

Then ⦅the CSM⦆ receives a Customer Credit Transfer

When the ⦅CSM⦆ sends a Payment Status Report with values:
| FIToFIPmtStsRpt.txInf*And*Sts[0].txSts | ⦅RJCT⦆ |
| FIToFIPmtStsRpt.txInf*And*Sts[0].stsRsnInf[0].rsn.cd | ⦅NOT_SET⦆ |
| FIToFIPmtStsRpt.txInf*And*Sts[0].stsRsnInf[0].rsn.prtry | ⦅172⦆ |
| FIToFIPmtStsRpt.txInf*And*Sts[0].clrSysRef | ⦅NOK002⦆ |

Then ⦅the Payment Service⦆ receives a Clear And Settle Response with values:
| payload.content.txInf*And*Sts[0].txSts | ⦅RJCT⦆ |
| payload.content.txInf*And*Sts[0].stsRsnInf[0].rsn.cd | ⦅NOT_SET⦆ |
| payload.content.txInf*And*Sts[0].stsRsnInf[0].rsn.prtry | ⦅172⦆ |
| status | REJECT |
| payload.content.txInf*And*Sts[0].clrSysRef | ⦅NOK002⦆ |

com.iconsolutions.testfw.core.steps.BaseSteps.clearContext()

com.iconsolutions.testfw.core.steps.BaseSteps.clearContext()

com.iconsolutions.testfw.core.steps.BaseSteps.clearContext()

com.iconsolutions.testfw.core.steps.BaseSteps.clearContext()

com.iconsolutions.testfw.core.steps.BaseSteps.clearContext()

Example: {cd=NOT_SET, transactionStatus=RJCT, prtry=134, clrsysref=NOK002}

com.iconsolutions.ipf.payments.csm.sic5.application.bdd.testfw.Steps.parseMeta(java.lang.String)

com.iconsolutions.ipf.payments.csm.sic5.application.bdd.testfw.Steps.parseLegacy(java.lang.String)

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

Then ⦅the CSM⦆ receives a Customer Credit Transfer

When the ⦅CSM⦆ sends a Payment Status Report with values:
| FIToFIPmtStsRpt.txInf*And*Sts[0].txSts | ⦅RJCT⦆ |
| FIToFIPmtStsRpt.txInf*And*Sts[0].stsRsnInf[0].rsn.cd | ⦅NOT_SET⦆ |
| FIToFIPmtStsRpt.txInf*And*Sts[0].stsRsnInf[0].rsn.prtry | ⦅134⦆ |
| FIToFIPmtStsRpt.txInf*And*Sts[0].clrSysRef | ⦅NOK002⦆ |

Then ⦅the Payment Service⦆ receives a Clear And Settle Response with values:
| payload.content.txInf*And*Sts[0].txSts | ⦅RJCT⦆ |
| payload.content.txInf*And*Sts[0].stsRsnInf[0].rsn.cd | ⦅NOT_SET⦆ |
| payload.content.txInf*And*Sts[0].stsRsnInf[0].rsn.prtry | ⦅134⦆ |
| status | REJECT |
| payload.content.txInf*And*Sts[0].clrSysRef | ⦅NOK002⦆ |

com.iconsolutions.testfw.core.steps.BaseSteps.clearContext()

com.iconsolutions.testfw.core.steps.BaseSteps.clearContext()

com.iconsolutions.testfw.core.steps.BaseSteps.clearContext()

com.iconsolutions.testfw.core.steps.BaseSteps.clearContext()

com.iconsolutions.testfw.core.steps.BaseSteps.clearContext()

Example: {cd=ED05, transactionStatus=CANC, prtry=NOT_SET, clrsysref=CNC002}

com.iconsolutions.ipf.payments.csm.sic5.application.bdd.testfw.Steps.parseMeta(java.lang.String)

com.iconsolutions.ipf.payments.csm.sic5.application.bdd.testfw.Steps.parseLegacy(java.lang.String)

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

Then ⦅the CSM⦆ receives a Customer Credit Transfer

When the ⦅CSM⦆ sends a Payment Status Report with values:
| FIToFIPmtStsRpt.txInf*And*Sts[0].txSts | ⦅CANC⦆ |
| FIToFIPmtStsRpt.txInf*And*Sts[0].stsRsnInf[0].rsn.cd | ⦅ED05⦆ |
| FIToFIPmtStsRpt.txInf*And*Sts[0].stsRsnInf[0].rsn.prtry | ⦅NOT_SET⦆ |
| FIToFIPmtStsRpt.txInf*And*Sts[0].clrSysRef | ⦅CNC002⦆ |

Then ⦅the Payment Service⦆ receives a Clear And Settle Response with values:
| payload.content.txInf*And*Sts[0].txSts | ⦅CANC⦆ |
| payload.content.txInf*And*Sts[0].stsRsnInf[0].rsn.cd | ⦅ED05⦆ |
| payload.content.txInf*And*Sts[0].stsRsnInf[0].rsn.prtry | ⦅NOT_SET⦆ |
| status | REJECT |
| payload.content.txInf*And*Sts[0].clrSysRef | ⦅CNC002⦆ |

com.iconsolutions.testfw.core.steps.BaseSteps.clearContext()

com.iconsolutions.testfw.core.steps.BaseSteps.clearContext()

com.iconsolutions.testfw.core.steps.BaseSteps.clearContext()

com.iconsolutions.testfw.core.steps.BaseSteps.clearContext()

com.iconsolutions.testfw.core.steps.BaseSteps.clearContext()