BankConnect
The Android Client SDK helps user submits their bank statements via upload or net banking credentials in your Android application.
#
See in actionThe demo video below shows how a user submit a bank statement using net banking credentials:
The video below shows a user submit bank statement by uploading the PDF file:
#
RequirementsBank Connect Android SDK works on Android 5.0+ (API level 21+), on Java 8+ and AndroidX. In addition to the changes, enable desugaring to support older versions.
- Kotlin
- Groovy
#
Adding DependencyIn the project level build.gradle
file, add the repository URLs to all allprojects
block.
- Kotlin
- Groovy
Now add the dependency to module level build.gradle.kts
or build.gradle
file:
- Kotlin
- Groovy
NOTE
Following will be shared by FinBox team at the time of integration:
ACCESS_KEY
SECRET_KEY
BC_SDK_VERSION
COMMON_SDK_VERSION
LOGGER_SDK_VERSION
CLIENT_API_KEY
#
Integration WorkflowThe diagram below illustrates the integration workflow in a nutshell:
#
Sample ProjectWe have hosted a sample project on GitHub, you can check it out here:
#
Build Bank ConnectBuild the FinBoxBankConnect
object by passing apiKey
, linkId
, fromDate
, toDate
and bank
.
- Kotlin
- Java
Builder Property | Description | Required |
---|---|---|
apiKey | specifies the api_key | Yes |
linkId | specifies the link_id | Yes |
fromDate | specifies the starting period of the statement in dd/MM/yyyy format | No |
toDate | specifies the end period of the statement in dd/MM/yyyy format | No |
bank | pass the bank identifier to skip the bank selection screen and directly open a that bank's screen instead | No |
fromDate
and toDate
specify the period for which the statements will be fetched. For example, if you need the last 6 months of statements, fromDate
will be today's date - 6 months and toDate
will be today's date - 1 day. If not provided the default date range is 6 months from the current date. It should be in dd/MM/yyyy
format.
Once the above statement is added, a series of checks are done to make sure the SDK is implemented correctly. A RunTimeException
will be thrown while trying to build the project in case any of the checks are not completed.
Minimal Requirements for SDK to work:
apiKey
is is mandatorylinkId
is mandatory, and should be at least 8 characters long- In case
fromDate
/toDate
is provided, make sure they are of correct date format:dd/MM/yyyy
. - Make sure
fromDate
is always less thantoDate
- Make sure
toDate
is never today's date, the maximum possible value for it is today's date - 1 day Once all these conditions are met, the BankConnect object will build.
#
Show SDK ScreenStart BankActivity and listten for the result
- Kotlin
- Java
#
Parse ResultsOnce the user navigates through the banks and uploads the bank statement, the sdk automatically closes BankActivity
and returns FinboxOnSuccessPayload
.
FinboxOnSuccessPayload
contains linkId
and entityId
. A successful upload contains a unique entityId
.
- linkId - Unique id passed when building the Bank Connect object
- entityId - Unique id of a successful statement upload
- Kotlin
- Java
Webhook
To track detailed errors, and transaction process completion at the server-side, it is recommended to also integrate Webhook.
#
CustomizationBankActivity
inherits the themes and color from Material Dark Action Bar Theme. Most of the case, there would be less customization requried but if there is a mismatch in colors, you can customize it through your styles.xml
file.
The sdk Toolbar color uses
colorPrimary
. If your app toolbar color is different fromcolorPrimary
then change the color by updating the background colorBankConnectTheme
is the base theme of the sdk and it inheritsTheme.MaterialComponents.Light.DarkActionBar
. If your app doesn't inherit Dark Action Bar theme then you can change the sdk theme to inherit your app base theme.