/cardscan-android

Primary LanguageKotlinOtherNOASSERTION

Overview

This repository contains the open source code for Bouncer products (e.g. CardScan). See the individual sub modules for more information on each.

CardScan is a relatively small library that provides fast and accurate payment card scanning.

CardScan is the foundation for CardVerify enterprise libraries, which validate the authenticity of payment cards as they are scanned.

Lint Instrumentation Tests Unit Tests Release GitHub release

demo

Contents

Requirements

  • Android API level 21 or higher
  • AndroidX compatibility
  • Kotlin coroutine compatibility

Note: Your app does not have to be written in kotlin to integrate this library, but must be able to depend on kotlin functionality.

Demo

This repository contains a demonstration app for the CardScan product. To build and install this library follow the following steps:

  1. Clone the repository from github

    git clone --recursive https://github.com/getbouncer/cardscan-demo-android
  2. Build the library using gradle or android studio. a. Using android studio, open the directory cardscan-demo-android. Install the app on your device or an emulator by clicking the play button in the top right of android studio.

    build_android_studio

    b. Using gradle, build the demo app by executing the following command:

    ./gradlew demo:assembleRelease

    This will create a release APK in the cardscan-demo/build/outputs/apk directory. Copy this file to your device and install it.

Integration

See the integration documentation in the Bouncer Docs.

Provisioning an API key

CardScan requires a valid API key to run. To provision an API key, visit the Bouncer API console.

Name and expiration extraction support (BETA)

To test name and/or expiration extraction, please first provision an API key, then reach out to support@getbouncer.com with details about your use case and estimated volumes.

Before launching the CardScan flow, make sure to call the CardScanActivity.warmup() function with your API key and set initializeNameAndExpiryExtraction to true

CardScanActivity.warmup(this, API_KEY, true)

Customizing

CardScan is built to be customized to fit your UI.

Basic modifications

To modify text, colors, or padding of the default UI, see the customization documentation.

Extensive modifications

To modify arrangement or UI functionality, CardScan can be used as a library for your custom implementation. See the example single-activity demo app.

Developing

See the development docs for details on developing for CardScan.

Authors

Adam Wushensky, Sam King, and Zain ul Abi Din

License

This library is available under paid and free licenses. See the LICENSE file for the full license text.

Quick summary

In short, this library will remain free forever for non-commercial applications, but use by commercial applications is limited to 90 days, after which time a licensing agreement is required. We're also adding some legal liability protections.

After this period commercial applications need to convert to a licensing agreement to continue to use this library.

More detailed summary

What's allowed under the license:

  • Free use for any app for 90 days (for demos, evaluations, hackathons, etc).
  • Contributions (contributors must agree to the Contributor License Agreement)
  • Any modifications as needed to work in your app

What's not allowed under the license:

  • Commercial applications using the license for longer than 90 days without a license agreement.
  • Using us now in a commercial app today? No worries! Just email license@getbouncer.com and we’ll get you set up.
  • Redistribution under a different license
  • Removing attribution
  • Modifying logos
  • Indemnification: using this free software is ‘at your own risk’, so you can’t sue Bouncer Technologies, Inc. for problems caused by this library

Questions? Concerns? Please email us at license@getbouncer.com or ask us on slack.