Documentation for a newer release is available. View Latest
Esta página no está disponible actualmente en Español. Si lo necesita, póngase en contacto con el servicio de asistencia de Icon (correo electrónico)

Handle Negative Creditor CT Payment Status Report TM01 after payment processing.story

Scenario: Handling CSM rejects after processing - Time out from the CSM


Steps
When the CSM sends a 'Customer Credit Transfer'
Then the Payment Service receives a 'Receive Payment Request'
When the Payment Service sends a 'Receive Payment 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>             |
Then the CSM receives a 'Payment Status Report' with values:
| FIToFIPmtStsRpt.txInfAndSts[0].stsRsnInf[0].rsn.cd                   | <cd>                |
| FIToFIPmtStsRpt.txInfAndSts[0].stsRsnInf[0].rsn.prtry                | <prtry>             |
| FIToFIPmtStsRpt.txInfAndSts[0].txSts                                 | <transactionStatus> |
| FIToFIPmtStsRpt.txInfAndSts[0].instgAgt.finInstnId.clrSysMmbId.mmbId | 318668              |
When the CSM sends a 'Payment Status Report' with values:
| FIToFIPmtStsRpt.txInfAndSts[0].txSts                                 | CANC   |
| FIToFIPmtStsRpt.txInfAndSts[0].stsRsnInf[0].rsn.cd                   | TM01   |
| FIToFIPmtStsRpt.txInfAndSts[0].clrSysRef                             | CNC002 |
| FIToFIPmtStsRpt.txInfAndSts[0].instdAgt.finInstnId.clrSysMmbId.mmbId | 318668 |
Then the Payment Service receives a 'Receive Payment Timeout' with values:
| payload.content.txInfAndSts[0].txSts                                 | CANC                                                      |
| payload.content.txInfAndSts[0].stsRsnInf[0].rsn.cd                   | TM01                                                      |
| payload.content.txInfAndSts[0].clrSysRef                             | CNC002                                                    |
| payload.content.txInfAndSts[0].instdAgt.finInstnId.clrSysMmbId.mmbId | 318668                                                    |
| processingContext.associationId                                      | #ReceivePaymentResponse.processingContext.associationId   |
| processingContext.unitOfWorkId                                       | #ReceivePaymentResponse.processingContext.unitOfWorkId    |
| processingContext.clientRequestId                                    | #ReceivePaymentResponse.processingContext.clientRequestId |
Tabla 1. Examples:
transactionStatus cd prtry

RJCT

AC01

NOT_SET

ACCP

NOT_SET

134

Example: {cd=AC01, transactionStatus=RJCT, prtry=NOT_SET}

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 CSM⦆ sends a Customer Credit Transfer

Then ⦅the Payment Service⦆ receives a Receive Payment Request

When the ⦅Payment Service⦆ sends a Receive Payment Response with values:
| payload.content.txInf*And*Sts[0].txSts | ⦅RJCT⦆ |
| payload.content.txInf*And*Sts[0].stsRsnInf[0].rsn.cd | ⦅AC01⦆ |
| payload.content.txInf*And*Sts[0].stsRsnInf[0].rsn.prtry | ⦅NOT_SET⦆ |

Then ⦅the CSM⦆ receives a Payment Status Report with values:
| FIToFIPmtStsRpt.txInf*And*Sts[0].stsRsnInf[0].rsn.cd | ⦅AC01⦆ |
| FIToFIPmtStsRpt.txInf*And*Sts[0].stsRsnInf[0].rsn.prtry | ⦅NOT_SET⦆ |
| FIToFIPmtStsRpt.txInf*And*Sts[0].txSts | ⦅RJCT⦆ |
| FIToFIPmtStsRpt.txInf*And*Sts[0].instgAgt.finInstnId.clrSysMmbId.mmbId | 318668 |

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 | TM01 |
| FIToFIPmtStsRpt.txInf*And*Sts[0].clrSysRef | CNC002 |
| FIToFIPmtStsRpt.txInf*And*Sts[0].instdAgt.finInstnId.clrSysMmbId.mmbId | 318668 |

Then ⦅the Payment Service⦆ receives a Receive Payment Timeout with values:
| payload.content.txInf*And*Sts[0].txSts | CANC |
| payload.content.txInf*And*Sts[0].stsRsnInf[0].rsn.cd | TM01 |
| payload.content.txInf*And*Sts[0].clrSysRef | CNC002 |
| payload.content.txInf*And*Sts[0].instdAgt.finInstnId.clrSysMmbId.mmbId | 318668 |
| processingContext.associationId | #ReceivePaymentResponse.processingContext.associationId |
| processingContext.unitOfWorkId | #ReceivePaymentResponse.processingContext.unitOfWorkId |
| processingContext.clientRequestId | #ReceivePaymentResponse.processingContext.clientRequestId |

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=ACCP, prtry=134}

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 CSM⦆ sends a Customer Credit Transfer

Then ⦅the Payment Service⦆ receives a Receive Payment Request

When the ⦅Payment Service⦆ sends a Receive Payment Response with values:
| payload.content.txInf*And*Sts[0].txSts | ⦅ACCP⦆ |
| payload.content.txInf*And*Sts[0].stsRsnInf[0].rsn.cd | ⦅NOT_SET⦆ |
| payload.content.txInf*And*Sts[0].stsRsnInf[0].rsn.prtry | ⦅134⦆ |

Then ⦅the CSM⦆ receives a Payment Status Report with values:
| 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].txSts | ⦅ACCP⦆ |
| FIToFIPmtStsRpt.txInf*And*Sts[0].instgAgt.finInstnId.clrSysMmbId.mmbId | 318668 |

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 | TM01 |
| FIToFIPmtStsRpt.txInf*And*Sts[0].clrSysRef | CNC002 |
| FIToFIPmtStsRpt.txInf*And*Sts[0].instdAgt.finInstnId.clrSysMmbId.mmbId | 318668 |

Then ⦅the Payment Service⦆ receives a Receive Payment Timeout with values:
| payload.content.txInf*And*Sts[0].txSts | CANC |
| payload.content.txInf*And*Sts[0].stsRsnInf[0].rsn.cd | TM01 |
| payload.content.txInf*And*Sts[0].clrSysRef | CNC002 |
| payload.content.txInf*And*Sts[0].instdAgt.finInstnId.clrSysMmbId.mmbId | 318668 |
| processingContext.associationId | #ReceivePaymentResponse.processingContext.associationId |
| processingContext.unitOfWorkId | #ReceivePaymentResponse.processingContext.unitOfWorkId |
| processingContext.clientRequestId | #ReceivePaymentResponse.processingContext.clientRequestId |

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()