...

Integrate
with CabCard.

Give your customers the benefits of a Bluetooth integration with CabCard's payment terminals.

Our simple, developer-friendly tools and support makes it easy.

Stockholm-icons / General / Settings-1 Created with Sketch.

Built for developers

Straightforward library to make your integration as quick and easy as possible.

Stockholm-icons / Layout / Layout-arrange Created with Sketch.

Light-touch integration

Our terminals communicate with our payment services using a SIM. Your app just needs to initiate the transaction.

Stockholm-icons / Code / Code Created with Sketch.

Handy documentation

The documentation is easy to use and covers all functionality, so you won't need to guess how things work.

Let's Get Started

Download our Android library, example application and documentation. Then get integrating!

1. Download the library

Our compiled library for Android supports Android SDK >= 19 (Android 4.4 and later)
Download .aar file (v0.2.1)

2. Grab the docs

The basic functions you'll need are laid out in this PDF:
Download PDF

3. Basic usage

Import Dependency

The .aar file must be added to the Android Project manually. Follow these instructions if you're not sure.

Create CabCard Instance

import services.cabcard.CabCard;
import services.cabcard.connectors.BluetoothLEConnector;
import services.cabcard.CabCardEventListener;

...

BluetoothLeConnector bc = ...
CabCardEventListener l = ...

CabCard cc = new CabCard(bc, l);

cc.testConnection();
cc.startTransaction(255); // 2.55 GBP
cc.getLastReceipt();
                

Cleanup

It's good practice to call CabCard.release() in your Activity's onDestroy method. This closes the Bluetooth connection properly:

CabCard cc = new CabCard(bc, l);

...

@Override
protected void onDestroy() {
  super.onDestroy();

  if (cc != null) {
    cc.release();
  }
}
                

A note about Bluetooth firmware

Using the CabCard Bluetooth Android library with Bluetooth firmware version 8.13D and below is not officially supported, due to known issues. Although all terminals deployed after March 2020 are shipped with version 8.13D or later, devices shipped earlier than this date may have earlier firmware issues. Therefore, it's strongly encouraged to check the firmware version and update it to version 8.13D within your application.

BluetoothLeConnector bc = ...
FirmwareCheckCompleteCallback callbac = ...

//connect and pair with `bc` device
CabCard.updateFirmwareIfNecessary(context, bc, callback)
                

It may be necessary for users to complete a bluetooth master reset on the CabCard terminal in order to update the firmware. This can be performed as follows:

  1. Open the menu on the CabCard terminal by pressing both the yellow and the button together
  2. Choose Settings, then Bluetooth, and select the option "Master Reset"
  3. Turn the device off using the power button
  4. With the device turned off, try updating the firmware again.

4. Check out the example application

Our example application demonstrates the full functionality of the Android library.
Download .zip file

5. Request a development device

If you're not already in touch with CabCard, please say hi to tell us more about your integration plans and to request a development device. Please provide some information about your company and your integration use-case.
Get in touch

Need help? We're here for you.

Our developer support will help you get your integration up and running quickly and painlessly.

Contact developer support