CheckoutX - The smartphone as a payment terminal

Accept payments |

CheckoutX is the fastest way forward for you to implement our SoftPOS and handheld payment terminals. No SDK, just trigger the payment from your POS and send it to any handheld Android device, even the phone. After launching, you can implement our SDK into your own app without any stress.

What is CheckoutX?

CheckoutX is our pre-built checkout app solution designed to be integrated with your current systems enabling you to accept payments. With CheckoutX, you can turn NFC-enabled Android devices into terminals for processing contactless card payments. This feature extends your payment capabilities to include contactless payments, without additional hardware terminals.

CheckoutX also runs as a pre-built app on all our payment terminals (SurfTouch, SurfPrint). You can also download and install the CheckoutX app from Google Play Store on supported Android devices.

How to integrate

CheckoutX can be integrated in two ways, either as a TTP (Tap-to-Phone) solution on supported Android devices or handheld COTS devices such as Zebra, or via Surfboard's payment terminals. For the TTP solution, the CheckoutX app can be downloaded and installed on your Android device. Alternatively, if you choose to use Surfboard's payment terminals, they come pre-installed with the CheckoutX app. The integration path that you choose will depend on your specific requirements.

Key capabilities

First of all, you need an integration capable of initiating API calls to Surfboard. After that, you can enjoy these features:

  • Multiple payment methods
  • Processing contactless payments
  • Display digital receipts
  • Brand customization options - Logo personalization

The checkout solution for handheld devices is also delivered as an SDK, without the need for the pre-built CheckoutX. However, CheckoutX lets you ship and go to market with your merchants in a much faster way.

Works with your existing devices too

Have you already invested in Zebra devices or Android smartphones for the store, and do not want to purchase new hardware? Then we have great news for you. CheckoutX is compatible with all COTS devices that have an NFC chip, such as Zebra handheld computers.

So instead of investing in new hardware, you can focus on sales on the floor and meet the customers where they are. Checkouts have never been faster and more optimized to bring out the best experience, like the CheckoutX experience.

CheckoutX: Compatible devices

Any Android smartphone

A true SoftPOS solution, with no need for any extra hardware. Just plug and play

Zebra devices

Convert the handheld computer into a fully functioning payment terminal


Our small Android payment terminal with touchscreen and a barcode scanner


Our handheld terminal with printer attached, perfect for table service

Everything starts with an order

Here is an overview of how CheckoutX works:

  1. Your merchant creates an order using the Orders API.
  2. You initiate a new payment using the Payments API.
  3. The CheckoutX shows an idle screen that waits for you to initiate the payment.
  4. When the payment is initiated by the merchant from your system, the CheckoutX app will switch to process a card payment. When the customer taps the card and enters PIN, CheckoutX reads the card details for processing. We then process the payment and return the payment status along with the receipt details from CheckoutX to your system.
  5. During the payment, merchants can also check for payment status if you implement the Check Payment Status API.
//Create new order
import axios from "axios"
const data = JSON.stringify(     
  	"terminal$id": "813bee989f08500405",
  	"type": "purchase",
  	"orderLines": [
  			"id": "1234",
  			"name": "Bucket hat",
  			"quantity": 1,
  			"itemAmount": {
  				"total": 2000,
  				"currency": "SEK",
  				"tax": [ { "amount": 500, "percentage": 25, "type": "vat" } ]
  	"totalOrderAmount": {
  		"total": 2000, "currency": "SEK", "tax": [ { "amount": 500, "percentage": 25, "type": "vat" } ]
const response = await axios({ 
  url: "YOUR_API_URL/orders",
  port: 3005,
  method: "POST",
  headers: {
    "Content-Type": "application/json",


Ready to check out that CheckoutX?

If you are interested in exploring our cloud-based payment solutions and the CheckoutX for handheld payments, please get in touch with us and we'll schedule a call.