Banking example - Web-Shop payment using iDEAL

The customer want to buy something in a web-shop. The total amount to pay is shown and the customer is send has several choices on how to pay. In this case a iDEAL (a direct banking payment method) is chosen. The customer enter a valid password. The balance check passed and the the money is transferred to the web-shop owner. When the money is successful transfered, invoice is created and the order is being shipped. The other payment method involve (simple) communication to the bank cloud. The diagram becomes more complex if e.g. the customer does not have enough balance and needs to pay differently. This is just one of many (millions) permutations. Use the choices on the right to make different diagrams or even different starting points (e.g. Internet Banking, Merchant or Web-Shop).

The generated MSG-Flow

WebShop Customer Aggregator Web-Intf Acc-Srv Acc-DB
| | | | | |
|-----show-amount
Info for show-amount
No link information between msg and prot for show-amount
---->| | | | |
|<---customer-agrees
Info for customer-agrees
No link information between msg and prot for customer-agrees
--| | | | |
|---------------amount-to-pay
Info for amount-to-pay
message amount-to-payThe amount to be paid
section AggregatorMessages mainly used for interaction with the Aggregator.
protocol HumanUsed to describe human readable messages.
-------------->| | | |
| | |----fund-transfer
Info for fund-transfer
No link information between msg and prot for fund-transfer
src_accchecking
dst_accwebshop
---->| | |
| |<-------------rsp-display-login
Info for rsp-display-login
No link information between msg and prot for rsp-display-login
src_accchecking
dst_accwebshop
-------------| | |
| |--------------post-key-usr-pwd
Info for post-key-usr-pwd
No link information between msg and prot for post-key-usr-pwd
src_accchecking
dst_accwebshop
------------->| | |
| | | |--verify-login
Info for verify-login
No link information between msg and prot for verify-login
src_accchecking
dst_accwebshop
-->| |
| | | | |---get-login-details
Info for get-login-details
No link information between msg and prot for get-login-details
src_accchecking
dst_accwebshop
-->|
| | | | |<-----login-details
Info for login-details
No link information between msg and prot for login-details
src_accchecking
dst_accwebshop
----|
| | | |<-login-response
Info for login-response
No link information between msg and prot for login-response
resultvalid
src_accchecking
dst_accwebshop
-| |
| |<-------------rsp-valid-customer
Info for rsp-valid-customer
No link information between msg and prot for rsp-valid-customer
resultvalid
src_accchecking
dst_accwebshop
------------| | |
| |---------------post-transfer
Info for post-transfer
No link information between msg and prot for post-transfer
resultvalid
actiontransfer
src_accchecking
dst_accwebshop
--------------->| | |
| | | |----transfer
Info for transfer
No link information between msg and prot for transfer
resultvalid
actiontransfer
src_accchecking
dst_accwebshop
---->| |
| | | | |------get-balance
Info for get-balance
No link information between msg and prot for get-balance
resultvalid
actiontransfer
src_accchecking
dst_accwebshop
----->|
| | | | |<-----balance-info
Info for balance-info
No link information between msg and prot for balance-info
resultvalid
actiontransfer
src_accchecking
dst_accwebshop
-----|
| | | | |-upd-checking-balance
Info for upd-checking-balance
No link information between msg and prot for upd-checking-balance
resultvalid
actiontransfer
src_accchecking
dst_accwebshop
->|
| | | | |--upd-webshop-balance
Info for upd-webshop-balance
No link information between msg and prot for upd-webshop-balance
resultvalid
cloudno
actiontransfer
src_accchecking
dst_accwebshop
->|
| | | | |----commit-changes
Info for commit-changes
No link information between msg and prot for commit-changes
resultvalid
cloudno
actiontransfer
src_accchecking
dst_accwebshop
---->|
| | | | |<---changes-committed
Info for changes-committed
No link information between msg and prot for changes-committed
resultvalid
cloudno
actiontransfer
src_accchecking
dst_accwebshop
--|
| | | |<---transferred
Info for transferred
No link information between msg and prot for transferred
resultvalid
cloudno
actiontransfer
src_accchecking
dst_accwebshop
--| |
| |<--------------rsp-transferred
Info for rsp-transferred
No link information between msg and prot for rsp-transferred
resultvalid
cloudno
actiontransfer
src_accchecking
dst_accwebshop
--------------| | |
| +-transferred
Info for transferred
No link information between act and comp for transferred
| | | |
| | |<-transfer-successful
Info for transfer-successful
No link information between msg and prot for transfer-successful
resultvalid
cloudno
actiontransfer
src_accchecking
dst_accwebshop
-| | |
|<------------payment-successful
Info for payment-successful
No link information between msg and prot for payment-successful
resultvalid
cloudno
actiontransfer
src_accchecking
dst_accwebshop
------------| | | |
+-process-order
Info for process-order
No link information between act and comp for process-order
| | | | |
|----send-invoice
Info for send-invoice
No link information between msg and prot for send-invoice
resultvalid
cloudno
actiontransfer
src_accchecking
dst_accwebshop
---->| | | | |
| +-order-paid
Info for order-paid
No link information between act and comp for order-paid
| | | |
| +-waits-for-goods
Info for waits-for-goods
No link information between act and comp for waits-for-goods
| | | |
|-----ship-goods
Info for ship-goods
No link information between msg and prot for ship-goods
resultvalid
cloudno
actiontransfer
src_accchecking
dst_accwebshop
----->| | | | |
| +-happy-customer
Info for happy-customer
No link information between act and comp for happy-customer
| | | |

You can and paste the above flow representation in a text file or in your favourite text editor using a monospace font. Ofcourse you will loose the context sensitive output and the links towards additional information.

Decission table

The decission table shows which decissions have been made so far and which to make. The header contains the choice number and the entity making the choice. The choices are shown from left (latest) to right (earlier) which make it handier to follow or adapts. All choices you could have choisen on a specific level are displayed. You can click on the description to make a different choice.

WebShop-flows : The webshop starts any action.

Additional Generated Information

Below is the graphical representaion rendered using PlantUML Try it yourself online

Cannot render UML

You can the following url to refer to the graph. Or copy as to have it embeded in usable HTML code.

Be aware that changes/improvements will not be reflected in the graph.
The plain text, which can be used by some editors, is given below. Use it if you want to make edit in you favorite editor. It does not contain links as they are not supported by some editors. You can copy the text and paste it e.g. into WebSequenceDiagrams, SequenceDiagram or SwimLanes. You can also copy it for and paste it into PlantUML.