Android Client-Side Encryption SDK

The Android Client-Side Encryption (CSE) SDK is designed to securely encrypt card data directly on the client side, specifically on Android devices. The encrypted data generated by the CSE can then be transferred to the Buckaroo API through your server.


Download SDK


Client Side Implementation

On the client side, you need to create a form where the consumer can enter their card details (such as card number, expiry date, CVC, and cardholder name). This data is then fed into the encrypt method. For cards that do not have a CVC code (like Maestro and Bancontact), you can provide an empty string for the CVC parameter. The SDK also includes validation functions to validate the consumer's input. You can find examples of how to use this SDK below.


Server Side Implementation

Once you have received the encrypted card data from the client, you can use it to create a Creditcard or Bancontact PayEncrypted (or AuthorizeEncrypted) request. Refer to the respective Creditcard or Bancontact documentation for details on making such requests. The process will continue as if the consumer entered their card data directly on our checkout page. Depending on the outcome, you will either receive a URL for 3DSecure authentication or a success/failure status for the transaction.


Next Steps

After conducting successful test transactions, you will need to complete the SAQ-A form from PCI. Once this is done, Buckaroo will enable Client-Side Encryption on your live channel.

By following this documentation, you can securely integrate client-side encryption for card data into your Android application, ensuring secure transactions through the Buckaroo API.


Examples

Encrypt card data example

This code example shows how the Encrypt method can be used for card data.

import nl.buckaroo.cse.CSE;

String encryptedData = CSE.encrypt("5386860000000000", "2020","12","123","A DE GROOT");
System.out.println("encryptedData: " + encryptedData);

Encrypt security code example

This code example shows how the Encrypt method can be used for just the security code.

import nl.buckaroo.cse.CSE;

String encryptedData = CSE.encrypt("123");
System.out.println("encryptedData: " + encryptedData);