Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changes to support currency conversion #433

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
153 changes: 153 additions & 0 deletions docs/api/assets/diagrams/sequence/figure62.plantuml
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
/'*****
License
--------------
Copyright © 2017 Bill & Melinda Gates Foundation
The Mojaloop files are made available by the Bill & Melinda Gates Foundation under the Apache License, Version 2.0 (the "License") and you may not use these files except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, the Mojaloop files are distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Contributors
--------------
This is the official list of the Mojaloop project contributors for this file.
Names of the original copyright holders (individuals or organizations)
should be listed with a '*' in the first column. People who have
contributed from an organization can be listed under the organization
that actually holds the copyright for their contributions (see the
Gates Foundation organization for an example). Those individuals should have
their names indented and be marked with a '-'. Email address can be added
optionally within square brackets <email>.
* Gates Foundation

- Name Surname <[email protected]>
--------------
******'/

@startuml

' define actor image
sprite $actor [25x48/16] {
0000000000010000000000000
0000000006CAC910000000000
0000000095101292000000000
0000000651000119000000000
0000000B10000018400000000
0000001A10000016600000000
0000000B10000017510000000
000000083100001A210000000
0000000191000176110000000
000000003A866A61100000000
0000000000466211100000000
0003333333334443333310000
0088888888888888888892000
0821111111111111111118200
8311111111111111111111A00
A111111111111111111111A20
A111111111111111111111A20
A111111111111111111111A20
A111111111111111111111A20
A111111111111111111111A20
A111111111111111111111A20
A111111111111111111111A20
A111111111111111111111A20
A111551111111111138111A20
A111661111111111139111A20
A211661111111111139111A20
A211661111111111139111A20
A211661111161111139111A20
A2116611111A2111139111A20
A2116611111A2111139111A20
A2116611111A2111139111A20
A7669611111A211113A666B20
36669611111A211113A666610
00016611111A2111139111110
00006611111A2111139100000
00006611111A2111139100000
00006611111A2111139100000
00006611111A2111139100000
00006611111A2111139100000
00006611111A2111139100000
00006611111A2111139100000
00006611111A2111139100000
00006611111A2111139100000
00006611111A2111139100000
00006966666B7666679100000
0000266666666666664100000
0000000111111111111100000
0000000000000000000000000
}

' declaring skinparam
skinparam sequenceMessageAlign center
skinparam shadowing false
skinparam defaultFontName Verdana
skinparam monochrome true
skinparam SequenceLifeLineBackgroundColor WhiteSmoke
skinparam SequenceLifeLineBorderColor Black
skinparam ActorFontStyle Bold
skinparam ActorFontSize 20
skinparam ParticipantFontStyle Bold
skinparam ParticipantFontSize 20
skinparam ParticipantBackgroundColor WhiteSmoke
skinparam ArrowColor Black

skinparam actor {
Bordercolor none
Backgroundcolor none
shadowing false
}

skinparam participant {
shadowing true
}

hide footbox

' declare title
' title Example bulk transfer process

' Actor Keys:
' participant - FSP(Payer/Payee(s)) and Switch
' actor - Payer/Payee(s)

' declare actors
actor "<$actor>\nPayer\n" as Payer
participant "Payer\nFSP" as PayerFSP
participant "Optional\nSwitch" as Switch
participant "Payee\nFSP(s)" as PayeeFSP
actor "<$actor>\nPayees\n(multiple)" as Payee

' start flow
Payer -> PayerFSP: I would like to upload\na file of bulk transactions
activate PayerFSP
PayerFSP -> PayerFSP: Lookup in which FSP each\nPayee is located in, divide\nPayees into FSP separate files\n(process not shown here)
PayerFSP -> PayerFSP: Perform bulk quoting per\nPayee FSP\n(process not shown here)
Payer <- PayerFSP: Bulk has finished processing,\npresent fees
Payer -> PayerFSP: Execute my bulk
Loop #OldLace
hnote left of PayerFSP #OldLace
For each
created bulk
file per
Payee FSP
end hnote
PayerFSP -> PayerFSP: Reserve each individual\ntransfer from Payer\naccount to Payee FSP account
PayerFSP ->> Switch: **POST /bulkTransfers**\n(List of individual transfers\nincluding ILP packet and condition)
activate Switch
PayerFSP <<-- Switch: **HTTP 202** (Accepted)
Switch -> Switch: Reserve each individual\ntransfer from Payer FSP\nto Payee FSP
Switch ->> PayeeFSP: **POST /bulkTransfers**\n(List of individual transfers\nincluding ILP packet and condition)
activate PayeeFSP
Switch <<-- PayeeFSP: **HTTP 202** (Accepted)
PayeeFSP -> PayeeFSP: Perform each transfer from \nPayer FSP account to Payee \naccount, generate fulfilments
PayeeFSP -> Payee: Transaction notification\nfor each Payee
Switch <<- PayeeFSP: **PUT /bulkTransfers/**<i><ID></i>\n(List of fulfilments)
Switch -->> PayeeFSP: **HTTP 200** (OK)
deactivate PayeeFSP
Switch -> Switch: Commit each successful\ntransfer from Payer\nFSP to Payee FSP
PayerFSP <<- Switch: **PUT /bulkTransfers/**<i><ID></i>\n(List of fulfilments)
PayerFSP -->> Switch: **HTTP 200** (OK)
deactivate Switch
PayerFSP -> PayerFSP: Commit each successful\ntransfer from Payer account\nto Payee account
end Loop
Payer <- PayerFSP: Your bulk has been executed
deactivate PayerFSP
@enduml
Loading