Example - Taking payments

The following describes a Zettle integration scenario and steps to understand what type of app to build, and how to test it.


You are a partner integrator that has recently decided to extend your point of sale (POS) system with a few more payment methods. Your POS system runs on Android, and your POS users are located in the UK. When searching, you found out that Zettle supports both in-person and contactless payment methods, including PayPal QRC. You then decided to try the Zettle payment SDK.

Step 1: Learn what you can build with Zettle

You start by checking which markets Zettle supports, and how you can build with it.

You learn the following:

  • UK is a supported market so you can take payments with Zettle SDKs. See markets supported by Zettle.

  • Your developers located outside of supported markets can still work with the integration. They can test card and QRC payments using a demo account. See create credentials for an SDK app.

    Note: You can also use a Zettle merchant account for testing. However, developers located outside of supported markets will not be able to test card payments with a merchant account. This is because card transactions require a Zettle card reader, and this is only available in supported markets.

  • You can use your own custom login for POS users instead of the default Zettle login. To do this you need to set up the OAuth authorisation flow with a proof key for code exchange (PKCE).

  • Your POS users must have a valid Zettle merchant account.

Step 2: Decide on type of app to build

As you have decided to extend the POS with a more payment methods, the app will be a payment solution. With the POS running on Android, the app to build is an SDK app that provides in-app payments functionality.

The team of developers that will build the app has previous experience from SDKs and REST APIs. They have knowledge of Kotlin and Java, and will be able to work with the Zettle Android SDK which is written in Kotlin.

Now you want to explore the Android SDK to ensure it is technically feasible to integrate.

Step 3: Try it out

The Android SDK has an example app where you can try out the payment functionality.

Do the following:

  1. Sign up for a developer account.
  2. Create credentials for an SDK at Zettle Developer Portal. When done you will receive a demo account.
  3. You can also use a merchant account for testing, see create a Zettle merchant account.
  4. Test the Android SDK.

Next step