
10
|
Commonwealth Bank
Albert POS Integration Guide
Components
Component
Description
POS app
The POS app resides on a separate machine and can run any technology stack such as
Windows or Linux. Connectivity is assumed to be via WiFi. Connecting via 3G would be
harder as the POS would have to allow connections from the internet.
POS Client
The POS Client is an app or service that runs on Albert that may or may not have an
interface. This is responsible for sending and receiving requests to and from the Publish/
Subscribe Queue. It's also responsible for registering itself as an available Payment Terminal
with the Publish/Subscribe Queue as well as two-way messaging. It uses the Albert SDK
by Wincor to launch the CommBank Standard Payment app. This client would also have
to maintain a long running connection/socket/web socket with the Publish/Subscribe
Queue to allow two-way communication (e.g. socket.io). As Albert doesn't allow incoming
connections this connection needs to remain in place and needs to be initiated by Albert.
CommBank
Standard
Payment app
A black box that handles all the payment processing. It is launched using the SDK and
returns a response to the calling app.
Publish/Subscribe
Queue
Provides a way for an Albert to register itself as a payment terminal and a POS to request
a payment terminal. It also acts as a message broker between the POS and Albert. It's
ideally suited to handling multiple POS and multiple Alberts and possibly across multiple
merchants. It will also need to provide management of open sockets to Albert and to the
POS as well as web services to register the devices. This box could well be broken down
further into sub components such as socket server and web service.
POS app
Publish Subscribe
Queue
POS Client
CommBank
Standard
Payment app
POS Terminal
2. Request an Albert
3. Albert Assigned
4. Payment Request
5. Payment Request
9. Payment Response
MOM
8. Payment Response
1. Register Albert
7. Payment Response
6. Payment Request
Albert Terminal
POS owned and developed
CommBank owned and developed
KEY