Point-of-sale icon

Card reader solution for Android

Integrate your POS app with the Adyen POS Mobile SDK for Android to make mobile payments using a card reader.

With our card reader solution you can accept mobile in-person payments using a card reader as the payment interface, and process these payments on the Adyen payments platform.

The card reader is paired with an Android mobile device through Bluetooth. On the Android mobile device, payment requests are initiated from a POS app. On the card reader, the customer can tap, insert, or swipe their card, or use a digital wallet like Apple Pay.

Integration effort

Integrating the Adyen POS Mobile SDK obviously requires front-end development tasks. However, when planning the work, take into account the following.

  • Back-end development tasks. You need to:

    • Implement a server-to-server call to set up a secure communications session between the SDK and the Adyen payments platform.
    • Integrate your POS app with Terminal API. You must support the PaymentRequest , and preferably also the ReversalRequest .

      How to integrate with Terminal API is described in other sections of our documentation.

  • Cross-platform frameworks: integration of our native SDK into a cross-platform app is possible, but complex at the moment. We are working to improve the integration experience in cross-platform frameworks.

Before you start

  • Ask our Support Team to configure your account for using the Adyen POS Mobile SDK for Android.
  • Backend integration: make sure your Android POS app is integrated with our Terminal API.
  • Make sure you have an API credential with an API key, the Checkout webservice role, and a client key.

    If your credential doesn't already have a client key, create one as follows:

    1. Log in to your Customer Area.
    2. Go to Developers > API credentials, and select the credential username for your integration, for example ws@Company.[YourCompanyAccount].
    3. Under Client settings > Authentication select the Client key tab.
    4. Select Generate client key.
    5. Select Save changes.

    The client key is part of the setup but you won't need to use it in your integration later. Therefore, you don't need to specify allowed origins, and you don't need to store the key in your system.

  • Order a test NYC1 card reader and a test card, and assign the reader to your store.
  • Note the requirements for end users:
    • The POS app, with the SDK integrated into it, installed on their Android mobile device (smartphone or tablet).
    • A mobile device with Android version 11 updated to the latest security patch. The minimum required security patch is the one for March 5th 2022.
    • An NYC1 card reader from Adyen.

How it works

This is how the solution's components work together, after your mobile device and the card reader have been paired:

  1. Your Android POS app creates a Terminal API payment request, or receives a Terminal API payment request from your backend.
  2. The POS app passes the payment request to the Adyen POS Mobile SDK.
  3. The SDK initiates the card reader to take the transaction.
  4. The customer completes the payment by tapping their card or mobile device on the card reader, or by inserting or swiping their card.
  5. The SDK passes the Terminal API payment response to the POS app.

Steps to build the solution

Sample app
Hit the ground running with our Android sample app.

To set up the card reader solution:

  1. Add the Adyen POS Mobile SDK to your project and implement a server-to-server authentication call.
  2. Add payment device management.
  3. Add code to handle transactions from your POS app using the SDK.
  4. Learn how to use the card reader.