---
page_title: 1. Getting SDK
product: Hypercheckout
platform: Android
page_source: https://juspay.io/in/docs/hyper-checkout/android/base-sdk-integration/getting-sdk
llms_txt: https://juspay.io/in/docs/llms.txt
product_llms_txt: https://juspay.io/in/docs/hyper-checkout/llms.txt
---


# 1. Getting the SDK 



In order to use Hypercheckout, the very first step is to install the Hypercheckout SDK into your application and add proper configurations. This has two steps to it:

1. [Installing Assets Plugin](https://docs.juspay.in/hyper-checkout/android/base-sdk-integration/getting-sdk#1.1.-Installing-Assets-Plugin)
2. [Installing Hypercheckout SDK](https://docs.juspay.in/hyper-checkout/android/base-sdk-integration/getting-sdk#1.2.-Installing-Hypercheckout-SDK)

Following sections describe how to complete above steps


### 1.1. Installing Assets Plugin



Hypercheckout SDK depends on certain assets to function. These are available over the air and are supposed to be present while building the SDK. The Assets Plugin is a build time dependency that downloads all required assets and ensures the availability of the latest assets at build time.

To install Assets Plugin follow the below steps


### Step 1.1.a. Add Assets Plugin maven url


The maven URL specifies from where the assets plugin should be downloaded. This is supposed to present inside the `buildscript` of your application



#### Code Snippets: -

#### Java Code Snippet:

```java
maven { url "https://maven.juspay.in/jp-build-packages/hyper-sdk/" }
```

#### Kotlin Code Snippet:

```kotlin
maven { url "https://maven.juspay.in/jp-build-packages/hyper-sdk/" }
```



### Step 1.1.b. Add Assets plugin classpath


Adding classpath to buildscript dependencies helps build tool load the assets plugin. This also resides inside `buildscript`.



#### Code Snippets: -

#### Java Code Snippet:

```java
classpath 'in.juspay:hypersdk.plugin:2.0.6'
```

#### Kotlin Code Snippet:

```kotlin
classpath 'in.juspay:hypersdk.plugin:2.0.6'
```



### Step 1.1c. Apply Assets plugin


This step will ensure that assets plugin is used as a plugin inside your application build cycle. Ensure you apply the plugin inside your `app/build.gradle`



#### Code Snippets: -

#### Java Code Snippet:

```java
id 'hypersdk.plugin'
```

#### Kotlin Code Snippet:

```kotlin
id 'hypersdk.plugin'
```



### 1.2. Installing Hypercheckout SDK



For using the services provided by Hypercheckout SDK, client needs to implement certain APIs exposed by the SDK. These APIs are available through the Hypercheckout SDK. It is a build time dependency which exposes certain classes for use across your application.

To install Hypercheckout SDK follow the below steps


### Step 1.2.a Add SDK maven url


The maven url specifies from where the SDK dependency should be downloaded. It should be present inside the `allProjects/repositories` section of your project build.gradle

> **Warning**
> Make sure it is added to project dependency section. **(eg: build.gradle (Project:ProjectName))** 





#### Code Snippets: -

#### Java Code Snippet:

```java
maven {
            url "https://maven.juspay.in/jp-build-packages/hyper-sdk/"
        }
```

#### Kotlin Code Snippet:

```kotlin
maven {
            url "https://maven.juspay.in/jp-build-packages/hyper-sdk/"
        }
```



### Step 1.2.b Add SDK implementation


To inject SDK as dependency in your application, include it in your `application build.gradle` dependencies



#### Code Snippets: -

#### Java Code Snippet:

```java
hyperSdkPlugin {
    clientId = "<CLIENT_ID>"
    sdkVersion = "2.1.20"
}
```

#### Kotlin Code Snippet:

```kotlin
hyperSdkPlugin {
    clientId = "<CLIENT_ID>"
    sdkVersion = "2.1.20"
}
```


**After adding Assets Plugin and Hyper SDK to your project, please ensure you do a gradle sync and clean build** 

---

## Complete Code Reference

The following code files are referenced in the steps above:

### build.gradle

```
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        google()
        mavenCentral()
        // block:start:assets-plugin-maven-url
        maven { url "https://maven.juspay.in/jp-build-packages/hyper-sdk/" }
        // block:end:assets-plugin-maven-url
    }
    dependencies {
        classpath "com.android.tools.build:gradle:7.0.0"

        // block:start:assets-class-path
        classpath 'in.juspay:hypersdk.plugin:2.0.6'
        // block:end:assets-class-path

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
        //block:start:hyper-sdk-maven-url
        maven {
            url "https://maven.juspay.in/jp-build-packages/hyper-sdk/"
        }
        //block:end:hyper-sdk-maven-url
    }
}


task clean(type: Delete) {
    delete rootProject.buildDir
}

```

### build.gradle

```
plugins {
    id 'com.android.application'
    // block:start:apply-plugin
    id 'hypersdk.plugin'
    // block:end:apply-plugin
}

android {
    compileSdk 31

    defaultConfig {
        applicationId "in.juspay.devtools"
        minSdk 21
        targetSdk 31
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {

    implementation 'androidx.appcompat:appcompat:1.4.1'
    implementation 'com.google.android.material:material:1.5.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
    implementation 'com.google.android.material:material:1.1.0'
    implementation("com.squareup.okhttp3:okhttp:4.9.3")
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
}

//block:start:add-sdk-implementation
hyperSdkPlugin {
    clientId = "<CLIENT_ID>"
    sdkVersion = "2.1.20"
}
//block:end:add-sdk-implementation


```

### build.gradle

```
plugins {
    id 'com.android.application'
    id 'org.jetbrains.kotlin.android'
    
    // Applying HyperAssets plugin
    // block:start:apply-plugin
    id 'hypersdk.plugin'
    // block:end:apply-plugin
}

android {
    compileSdk 31

    defaultConfig {
        applicationId "in.juspay.devtools"
        minSdk 21
        targetSdk 31
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    implementation 'androidx.appcompat:appcompat:1.4.1'
    implementation 'com.google.android.material:material:1.5.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
    implementation 'com.google.android.material:material:1.1.0'
    implementation("com.squareup.okhttp3:okhttp:4.9.3")
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'

}

// Adding HyperSDK implementation
//block:start:add-sdk-implementation
hyperSdkPlugin {
    clientId = "<CLIENT_ID>"
    sdkVersion = "2.1.20"
}
//block:end:add-sdk-implementation

```

### build.gradle

```
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        google()
        mavenCentral()
        // Adding the maven url for Assets plugin
        // block:start:assets-plugin-maven-url
        maven { url "https://maven.juspay.in/jp-build-packages/hyper-sdk/" }
        // block:end:assets-plugin-maven-url
    }
    dependencies {
        classpath "com.android.tools.build:gradle:7.0.0"
        classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.30'

        // Adding the class path for Assets plugin
        // block:start:assets-class-path
        classpath 'in.juspay:hypersdk.plugin:2.0.6'
        // block:end:assets-class-path

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()

        // Adding the build package
        //block:start:hyper-sdk-maven-url
        maven {
            url "https://maven.juspay.in/jp-build-packages/hyper-sdk/"
        }
        //block:end:hyper-sdk-maven-url
    }
}


task clean(type: Delete) {
    delete rootProject.buildDir
}

```


---

## See Also

- [Webhooks](https://juspay.io/in/docs/hyper-checkout/android/base-sdk-integration/webhooks)
- [2. Initialize SDK](https://juspay.io/in/docs/hyper-checkout/android/base-sdk-integration/initiating-sdk)
