14
|
Commonwealth Bank
Albert POS Integration Guide
Sequences
ID
Sequence
Description
1
Register Albert
Registers itself as available with (for example): IP address, location, terminal
ID, features available. It would also need to establish a long running
connection with the terminal for two-way messaging.
2
Launch Payment Page
Request a payment by launching a web page or iFrame.
3
Request an Albert
The POS requests an Albert that may be based on: Location, terminal ID,
store, features etc. The web page will establish a long running connection
with the service using technology such as Long Polling, WebSockets and/or
a combination of webhooks.
4
Albert Assigned
Pairing complete.
5
Payment Request
The web page sends a message to the MOM over the established
connection. The format of this message is left to the POS vendor to decide.
It can be extended to support any command recognised by the POS client
such as "display advert", "display menu" etc.
6
Payment Request
The payment request is routed to the correct terminal. At this point the
message can be verified, audit logged, augmented and finally routed.
7
Payment Request
The POS Client uses the SDK to make a payment request to the
CommBank Payment app.
8
Payment Response
Once the payment finishes, a response is sent back to the POS Client.
9
Payment Response
The POS Client sends a message back to the POS over the established
connection to the MOM. The format of this message is left to the POS
vendor’s discretion.
10
Payment Response
The payment response is routed to the correct web page. This could
be done using a long running connection or webhooks. At this point the
message can be verified, audit logged, augmented and finally routed.
11
Done
Web page indicates payment made. The iFrame closes and order/payment
is complete.
Pros
A web based POS can talk to an Albert.
Cons
Complicated.
Many moving parts.
Implementation Considerations
There are multiple points of failure.
Securing the connections and traffic.
Network outages and connection retries.
Payment app failures.
Timeouts from a payment taking too long.
A failure causing the POS to never receive a Payment Response.