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

#828: Add Transaction Requests Service page and sequence diagram #193

Merged
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
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Transaction Requests Service

## Sequence Diagram

{% uml src="mojaloop-technical-overview/transaction-requests-service/assets/diagrams/sequence/seq-trs-1.0.0.plantuml" %}
{% enduml %}
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
/'*****
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]>

* Henk Kodde <[email protected]>
--------------
******'/

@startuml transactionRequests

' 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 How to use the /transactionRequests service

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

' declare actors
participant "Payer\nFSP" as payerfsp
participant "Optional\nSwitch" as Switch
participant "Payee\nFSP" as payeefsp
actor "<$actor>\nPayee" as Payee

' start flow
payeefsp <- Payee: I would like to receive\nfunds from +123456789
activate payeefsp
payeefsp <- payeefsp: Lookup +123456789\n(process not shown here)
Switch <<- payeefsp: **POST /transactionRequest/**\n(Payee information,\ntransaction details)
oderayi marked this conversation as resolved.
Show resolved Hide resolved
activate Switch
Switch -->> payeefsp: **HTTP 202** (Accepted)
payerfsp <<- Switch: **POST /transactionRequests/**\n(Payee information,\ntransaction details)
activate payerfsp
payerfsp -->> Switch: **HTTP 202** (Accepted)
payeefsp -> payeefsp: Perform optional validation
payerfsp ->> Switch: **PUT /transactionRequests/**<i><ID></i>\n(Received status)
payerfsp <<-- Switch: **HTTP 200** (OK)
deactivate payerfsp
Switch ->> payeefsp: **PUT /transactionRequests/**<i><ID></i>\n(Received status)
Switch <<-- payeefsp: **HTTP 200** (OK)
deactivate Switch
payeefsp -> payeefsp: Wait for either quote and\ntransfer, or rejected\ntransaction request by Payer
payeefsp <[hidden]- payeefsp
deactivate payeefsp
@enduml
Loading