Skip to content

Instantly share code, notes, and snippets.

@pinedamg
Created June 13, 2024 13:13
Show Gist options
  • Save pinedamg/83fe8e981a9d4c73f2edd5057bd3e520 to your computer and use it in GitHub Desktop.
Save pinedamg/83fe8e981a9d4c73f2edd5057bd3e520 to your computer and use it in GitHub Desktop.
test.drawio[object Object]
@startuml
title UI Diagram Sequence
actor User
participant iPad
participant "Charge Screen"
participant "Checkout Controller"
participant "Checkout Service"
participant "VivoPay Screen"
participant "Hardware Functions"
participant "VivoPay Device"
participant "Zeamster Gateway"
User -> iPad: Initiates Payment
opt Frontend Actions
iPad -> "Charge Screen": payWithVivoTerminal
note left of "Charge Screen": an AngularJS call to load the Charge Screen
"Charge Screen" -> "Checkout Controller": payWithVivoTerminal
"Checkout Controller" -> "Checkout Service": payWithVivoTerminalStart
"Checkout Service" -> "VivoPay Screen": terminal-ble
note left of "VivoPay Screen": Load Modal with AngularJS
"VivoPay Screen" -> "Checkout Controller": payWithVivo
end
"Checkout Controller" -> "Checkout Controller": scanDevices
"Checkout Controller" -> "Checkout Controller": scanVivoTerminal
"Checkout Controller" -> "Hardware Functions": scanVivoTerminal
opt Out of our control
"Hardware Functions" -> "VivoPay Device": vin65://beginVivoIOSScan
"VivoPay Device" -> "Hardware Functions": deviceConnected
end
"Hardware Functions" -> "Hardware Functions": chipTransaction
"Hardware Functions" -> "Checkout Controller": chipTransaction
"Checkout Controller" -> "Checkout Controller": payWithVivoTerminalInit
"Checkout Controller" -> "Checkout Service": payWithVivoTerminalInit
note over "Checkout Service": Initialize the Tender and log history
"Checkout Service" -> "Checkout Service": callBack
"Checkout Service" -> "Checkout Controller": payWithVivoTerminalInit
"Checkout Controller" -> "Checkout Controller": processVivoTerminal
note over "Checkout Controller": Collect data to be sent through VivoPay Device
"Checkout Controller" -> "Hardware Functions": processVivoTerminal
opt Out of our control
"Hardware Functions" -> iPad: vin65://beginVivoIOSChip
iPad -> "VivoPay Device": createTransaction
"VivoPay Device" -> iPad: returnTransaction
iPad -> "Hardware Functions": vivoTerminalCompleted
end
"Hardware Functions" -> "Hardware Functions": handleVivoPayResponse
alt Zeamster response success
"Hardware
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment