---
page_source: https://juspay.io/in/docs/ec-headless/ios/base-sdk-integration/getting-sdk
page_title: 1. Getting SDK
---


## 1. Getting the SDK



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

1. [Installing Assets Plugin](https://docs.juspay.in/ec-headless/ios/base-sdk-integration/getting-sdk#1.1.-Installing-Assets-Plugin)
2. [Installing Express Checkout SDK](https://docs.juspay.in/ec-headless/ios/base-sdk-integration/getting-sdk#1.2.-Installing-Express-Checkout-SDK)

Following sections describe how to complete above steps


### 1.1. Installing Assets Plugin



Express Checkout 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.1a Add Post Install Script to Podfile


This Ruby Script will download all the latest assets required for proper functioning of your Express Checkout integration



#### Code Snippets: -

#### Swift Code Snippet:

```swift

  # Adding Hyper SDK dependecy
  # block:start:adding-hyper-sdk-pod

  pod 'HyperSDK', '2.1.23'
  # block:end:adding-hyper-sdk-pod
end


# Adding Hyper SDK dependecy
# block:start:adding-plugin-installation-script

post_install do |installer|
  fuse_path = "./Pods/HyperSDK/Fuse.rb"
  clean_assets = false # Pass true to re-download all the assets
  if File.exist?(fuse_path)
    if system("ruby", fuse_path.to_s, clean_assets.to_s)
    end
  end
 end
# block:end:adding-plugin-installation-script

```

#### ObjectiveC Code Snippet:

```objectivec

  # Adding Hyper SDK dependecy
  # block:start:adding-hyper-sdk-pod

  pod 'HyperSDK', '2.1.23'
  # block:end:adding-hyper-sdk-pod
end


# Adding Hyper SDK dependecy
# block:start:adding-plugin-installation-script

post_install do |installer|
  fuse_path = "./Pods/HyperSDK/Fuse.rb"
  clean_assets = false # Pass true to re-download all the assets
  if File.exist?(fuse_path)
    if system("ruby", fuse_path.to_s, clean_assets.to_s)
    end
  end
 end
# block:end:adding-plugin-installation-script

```



### Step 1.1b Add MerchantConfig.txt


The MerchantConfig.txt contains a clientId which helps the Assets plugin to download assets specific to your application

Create a .txt file named `MerchantConfig.txt` inside the app directory of your project. Add `clientId = your_client_id`to this file. Please note to add this to the folder where Podfile is present



#### Code Snippets: -

#### Swift Code Snippet:

```swift
clientId = <your_client_id>
```

#### ObjectiveC Code Snippet:

```objectivec
clientId = <your_client_id>
```



### 1.2. Installing Express Checkout SDK



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

To install Express Checkout SDK follow the below steps


### Step 1.2.a Add SDK dependency to Podfile


Hyper SDK is served via cocoa pods. In order to download and install the same to your application please add Hyper SDK pod to your pod file.



#### Code Snippets: -

#### Swift Code Snippet:

```swift

  # Adding Hyper SDK dependecy
  # block:start:adding-hyper-sdk-pod

  pod 'HyperSDK', '2.1.23'
  # block:end:adding-hyper-sdk-pod
end


# Adding Hyper SDK dependecy
# block:start:adding-plugin-installation-script

post_install do |installer|
  fuse_path = "./Pods/HyperSDK/Fuse.rb"
  clean_assets = false # Pass true to re-download all the assets
  if File.exist?(fuse_path)
    if system("ruby", fuse_path.to_s, clean_assets.to_s)
    end
  end
 end
# block:end:adding-plugin-installation-script

```

#### ObjectiveC Code Snippet:

```objectivec

  # Adding Hyper SDK dependecy
  # block:start:adding-hyper-sdk-pod

  pod 'HyperSDK', '2.1.23'
  # block:end:adding-hyper-sdk-pod
end


# Adding Hyper SDK dependecy
# block:start:adding-plugin-installation-script

post_install do |installer|
  fuse_path = "./Pods/HyperSDK/Fuse.rb"
  clean_assets = false # Pass true to re-download all the assets
  if File.exist?(fuse_path)
    if system("ruby", fuse_path.to_s, clean_assets.to_s)
    end
  end
 end
# block:end:adding-plugin-installation-script

```



### Step 1.2.b Install Podfile


Post adding all dependencies of Podfile, In terminal, run command the following commands:`pod repo update``pod install`

> **Note**
> **The Output of pod install should give below logs in addition to other logs.** [HyperSDK] Client ID - clientId shared by Juspay Team (It should not be internalPP)[HyperSDK] Downloading assets...[HyperSDK] XX file(s) downloaded/updated.[HyperSDK] Adding the required URL Schemes & Queries Schemes in plist files[HyperSDK] Plist file path: ./{Project Name}/Info.plist[HyperSDK] Done.



