NAV Navbar
Notes

Introduction

The best place to start is by checking out the Overview page. The Payment Flow Wireframes page has a more thorough description of the payment process.

This document (v4) replaces the previous Integration Kit (v3). The new version takes a more lightweight and flexible approach to payment integration using a HTTP/REST based API that enables integrations from any language, hardware and OS variants.

When integrating you may communicate using HTTP directly with the REST Web API or use one of the supplied client libraries (currently only .NET). Class documentation for the .NET client library can be found here. The .NET client library is available as an unlisted NuGet package.

Overview

What is Aston Club?

Aston Club is a mobile payment solution that enables patrons to pay for food, beverages, and other items using their Aston Club account and a mobile phone (iOS/Android). Payments can be made by the user either opening a tab or table at the venue (for legacy integrations), or as a one-off spot-payment at the end of the transaction. Other features included bill splitting, tab sharing, merchant promotions and perks.

To use Aston Club the user must first create an account with Aston Club and link one or more credit cards to their account. When a user pays for a tab or bill their linked credit card is charged for the amount. Once a day funds are collected and distributed to each venue minus a processing fee charged by Aston Club.

How Do User's Interact with Aston Club?

The following is an example flow for how the spot payment experience is intended to work in a typical environment: - A user has a bill (check) that they need to pay. They check-in using their mobile phone, and tell the staff member that they wish to pay using Aston Club. The staff member selects "Pay with Aston Club" on the POS terminal. - The POS terminal displays a list of available customers with Aston Club on a window with photos. - The staff member selects the person by name, photo, or number, then confirms to initiate the payment. - The POS terminal sends a request to Aston Club for the payment and displays the screen "Waiting for confirmation...". - Depending on the amount, the user's phone alerts them with with a notification prompt. The user selects OK to confirm the payment. Note: small amounts do not require confirmation. - Aston Club responds back to the POS with a success message. The "Waiting for confirmation..." screen is removed and the bill is marked as paid on the POS.

For a better overview on the payment process, check out Payment Flow Wireframes.

What's New in v4?

Taking into account feedback from previous integrations, v4 has been considerably reworked and is now even simpler.

Spot payments (also called one-time payments) is the only payment flow (see use cases), and the old and complex WebSockets API has been deprecated and replaced with a much more straight forward HTTP REST based API allowing partners the choice of a simpler integration directly with Aston Club's servers.

The .NET client library has been rewritten to utilise the API directly, removing the need for any client services to be installed.

How Do I Integrate my POS with Aston Club?

  1. Contact Aston Club to get a sandbox merchant created and a sandbox API token.
  2. Build a UI screen that lists and enables an operator to select a customer. Customer details can be retrieved from the API. The wireframes show examples of how this screen can be presented, though the actual implementation will vary depending on specifics or limitations of each POS.
    • The required elements to show are 1) check-in number, and 2) customer name. Other elements such as photo make life easier for the operator, though these may not always be able to be displayed.
    • Note: customer scrolling (or paging) of the list will be required. Filtering by number also really helps.
  3. Add a tender/payment type that will enable charging Aston Club.
  4. Implement the following payment flow: Tender with Aston Club (Button) -> Show Customer Selection (Screen) -> Confirm OK to charge customer X $Y? (Dialog) -> Charge Customer and show Processing Charge on screen (Dialog).
  5. Add a process to refund a check. Important: refunded transactions cannot be reversed.

The reason for the 2-step transaction process is to reduce the risk of 'unknown' states with transactions caused by connection drop outs and other interruptions. The first step will actually 'pre-authorize' the funds on a customer's card. This ensures the customer has enough money on their card and reserves the fund.

Some more notes:

When using the sandbox there are a number of tools to assist with the integration.

Payment Flow Wireframes

The following wireframes demonstrate the ideal experience for interaction with Aston Club from the POS. The wireframes demonstrate the experience on a touchscreen interface.

We recognise that every system is different and in some cases providing this exact experience may not be possible. Please feel free to chat with us about alternatives and variations to the overall flow.

The merchant staff member (operator) adds items to a check to be paid. Alongside existing tender methods (cash, EFTPOS, etc) there is an option to tender using Aston Club.

1

The customer list is retrieved from the API and presented to the operator as a selection of tiles.

2

The operator has the change to confirm the charge before continuing.

1

The charge request is submitted to Aston Club POS API.

Long running process - For large amounts this may require customer approval - the customer is prompted on their phone to confirm or reject the request. This means the response may take up to 30 seconds for a response to be received. A cancel button at this stage may be desirable. Please note: the ability for customers to accept/reject a transaction is a planned feature. All that needs to be implemented to support this future feature is ensure error responses are handled correctly and HTTP requests have a timeout period greater than 30 seconds.

1

Assuming the customer approved the request and had sufficient funds, a success response will be received and the operator notified.

1

If the customer rejected, did not respond in time, or had insufficient funds, an error will be returned.

The contents (message) of this error should be displayed to the operator.

1

The recommended format for the user cards is as follows:

1

The recommended layout for the customer selection screen is as follows:

When the POS has a keyboard available (search box, 6 cards on screen, page controls):

1

When the POS has no keyboard available (numeric filter, 6 cards on screen, page controls):

1

POS API v4

Unlike previous versions (which used a complex protocol over WebSockets) that required client services to be installed on-site for each merchant, v4 has been redesigned from the ground up using HTTP REST standards.

The intent of this is to allow partners direct integration with our API and servers, thus simplifying rollout procedures, support requirements, and opening up integrations to other platforms and operating systems (eg: Windows CE, iOS, Android, Linux/*nix).

For more information on the API please see the detailed API documentation.

Client libraries will be made available to simplify usage on a per-demand basis.

Tools

Web Customer Application

The following web application can be used to mimic the functionality of the customer's mobile (iOS/Android) application. You can use this tool while developing to check-in as a customer and see the results of a charge.

NOTE: merchant search doesn't work with this tool, but you can easily use the browser's search function to find your venue in the list

NOTE: there are known issues with Internet Explorer with this tool

Web POS Application

The following web application can be used to mimic the functionality of a simple POS terminal using the POS API.

Hint: You can use this tool to explore how the POS API is used to view and charge customers.

NOTE: there are known issues with Internet Explorer with this tool

Client Libraries

Client libraries are simply a wrapper to make interacting with the POS API even easier.

At present, the only client library available is for .NET.

A javascript library is coming soon.

NOTE: documentation for this library is limited at present. If you are having trouble understanding how to use this library please send us an email.

Client Library for .NET

PM> Install-Package AstonClub.Integration.Client -Version {VERSION}

NuGet package is available here. Please ensure you are using a v4.xx version library.

If you are unable to use NuGet, please contact us an we will send the library to you as a .zip file.

Class documentation for v4 can be found here.