UPDATE: As of February 14, 2024 a new version of the SDK is available. Documentation for the new version of the SDK (2.1.0) is available [here](🔗).
To get a copy of our SDK, please contact our partner team at [[email protected]](🔗) or directly reach out to your Integrated Partner Manager
Minimum Supported Android Version
Android 8.0 API 26
The SDK will not be compatible with apps using support libraries. Make sure you have migrated your app to AndroidX.
When utilizing the Android Stripe SDK, do not manually delete locations in the Stripe dashboard. Manual deletion of locations in the Stripe dashboard will interfere with functionality of the SDK.
# Import Libraries
Create folder named libs in base project directory
Copy provided aar into libs folder.
In your app level gradle file add all required dependencies.
To install the SDK, ensure the following dependencies are added to the dependencies block of your app's build.gradle file:
Additionally, our Android Stripe SDK currently relies on Java 8. Ensure the proper target version is also set in your app's build.gradle file:
Below is a full gradle example:
Our Android Stripe SDK requires various permissions for use.
The following permissions should be declared in AndroidManifest.xml:
The following permissions should be requested in code to use alongside our Shared ECP SDK:
ACCESS_FINE_LOCATION BLUETOOTH_CONNECT BLUETOOTH_SCAN
Before initializing and attempting to use our Shared ECPSdk, make sure the permissions listed below are requested in code.
Example below for requesting permissions in code.
You will also want to verify that your app user grants the permissions - the SDK will have issues functioning without the necessary permissions. One way to do this is to override the onRequestPermissionsResult method in your app and check the permission result. See sample code below (note: you will want to customize for your own individual app's needs):
The SDK needs to know where payments occur. If we can't determine the location of a device, payments may become disabled until location access is functioning again. Please ensure users of your app are always allowing location access.
## ECPApplicationSetupService (Required)
To ensure our SDK functions properly, your application needs to implement an Application subclass where ECPApplicationSetupService is utilized to inform the SDK of lifecycle events. In onCreate(), you will need to create a new ECPApplicationSetupService as shown below, then call performOnCreateSetup passing in this.
The subclass will help register activity lifecycle callbacks. See example below:
Example of Application name in AndroidManifest.xml: