taler-withdraw.pml (900B)
1 @startuml 2 autonumber 3 4 Actor "Customer Browser" as Customer 5 Participant "Bank Site" as Bank 6 Participant "Taler Exchange" as Exchange 7 8 note over Customer, Bank: HTTPS 9 note over Customer, Exchange: HTTPS 10 note over Bank, Exchange: wire transfer 11 12 title Taler (Withdraw coins) 13 14 Customer->Bank: user authentication 15 Bank->Customer: send account portal 16 17 Customer->Customer: initiate withdrawal (specify amount and exchange) 18 19 Customer->Exchange: request coin denomination keys and wire transfer data 20 Exchange->Customer: send coin denomination keys and wire transfer data 21 22 Customer->Bank: execute withdrawal 23 24 opt 25 Bank->Customer: request transaction authorization 26 Customer->Bank: transaction authorization 27 end 28 29 Bank->Customer: withdrawal confirmation 30 Bank->Exchange: execute wire transfer 31 32 33 Customer->Exchange: withdraw request 34 Customer<-Exchange: signed blinded coins 35 Customer->Customer: unblind coins 36 37 @enduml