mojaloop / mojaloop-specification

This repo contains the specification document set of the Open API for FSP Interoperability

Home Page:https://docs.mojaloop.io/api

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Solution Proposal: Notify Payee FSP in case of failure to commit on a Switch

elnyry-sam-k opened this issue · comments

commented

[103] -- [Notify Payee FSP in case of failure to commit on a Switch]


Open API for FSP Interoperability -- Solution Proposal

Table of Contents

1. Preface

___

This section contains basic information regarding the solution proposal.

1.1 Solution Proposal Information

Change Request ID 103
Change Request Name Notify Payee FSP in case of failure to commit on a Switch
Prepared By Sam Kummary, ModusBox
Solution Proposal Status In review [x] / Approved [ ] / Rejected [ ]
Approved/Rejected Date

1.2 Document Version Information

Version Date Author Change Description
1.0 2021-12-14 Sam Kummary Initial version of the solution proposal. Sent out for review.

2. Change Request

___

2.1 Background

This issue is about handling error cases that happen during processing of PUT /transfers/{ID} calls. Specifically, about how a Switch should deal with a scenario when a validation error occurs during processing of a PUT /transfers/{ID} call.

Here's the change request: #103 for further details of the requirement / problem statement.

It was agreed by the CCB to adopt the approach below (as can be seen in the comments of the above change request)

A new method of notification with HTTP PATCH on /transfers/{ID}/error will be introduced, when there is an internal validation error (not schema validation) in the PUT /transfers/{ID} sent from the Payee FSP, both when RESERVED and COMMITTED is used as transferState.

To avoid major changes with minor versions, here's the adopted approach:

  • Version 1.2 of the API supports sending PATCH /transfers/{ID}/error from the Switch in case the Payee FSP is using PUT /transfers/{ID} with COMMITTED and the commit failed in the Switch.
  • No change for PUT /transfers/{ID} with RESERVED as the Payee FSP is expecting a PATCH /transfers/{ID} with either COMMITTED or ABORTED in version 1.1.
  • Version 2.0 of the API adds same possibility of sending PATCH /transfers/{ID}/error from the Switch in case the Payee FSP is using PUT /transfers/{ID} with RESERVED and there is an error.

3. Proposed Solution

___

Pull request: #109 shows the changes proposed

4. Other Considered Solutions

___

One of the alternatives considered was proposed for 2.0 as a breaking change.

Version 2.0 of the API adds the same possibility of sending PATCH /transfers/{ID}/error from the Switch in case the Payee FSP is using PUT /transfers/{ID} with RESERVED and there is an error.

@elnyry-sam-k, I think this one can be closed?

commented

Yes @henrka , thanks!

Closed as discussed above.