SDK Integration

This section provides detailed information on how to integrate the Netcetera 3DS SDK.

Cocoapods Setup

Steps to include the SDK into the project:

  1. Install Cocoapods following the instructions on the Cocoapods website.
  2. In your Podfile add the 3DS SDK private spec repo as source, and add the ThreeDS SDK as dependency.
1
2
3
4
5
6
7
8
9
10
11
12
 
target 'test-project' do
  # Comment the next line if you're not using Swift
  use_frameworks!
 
  pod 'ThreeDS_SDK', '2.0.0'
 
  # For development you can use the 'universal' subspec to be able to run the app on simulator
  # pod 'ThreeDS_SDK/universal', '2.0.0'
end
  1. Add the credentials provided by Netcetera to the ~/.netrc file. If such file does not exist, it should be created.

Note: example <hostname> can be merchant-plug-in.extranet.netcetera.biz.

1
2
3
machine <hostname>
login <myUsername>
password <myPassword>
  1. To install the pods run pod install.

Manual Setup

  1. Extract the Netcetera iOS 3DS SDK zip archive that is part of the delivery. Inside there are two folders, iphoneos and universal.

    • iphoneos - contains the SDK that is built only for iOS devices and shall be used for builds in productions.
    • universal - contains the SDK that is built for both iOS devices and iOS simulators and can be used for development
  2. Add the ThreeDS_SDK.framework in your project In your project, add the framework (iphoneos or universal) in “Embedded Binaries”

License Setup

A license file containing a license key is distributed along with the SDK. In order to be able to use the Netcetera iOS 3DS SDK, the license key must be added in ConfigParameters which are passed upon Initialization of the ThreeDS2Service.

To define the license, use the ConfigParameters.addParameters(...) with the following arguments:

Argument Value
group nil
paramName "license-key"
paramValue The content of the license file.
1
2
let configParameters = ConfigParameters()
try configParameters.addParam(group:nil, paramName:"license-key", paramValue:"eyJhbGciOiJ...")

Dependencies

Several external dependencies are used by the Netcetera iOS 3DS SDK. These libraries are integrated inside the SDK. The full list of dependencies is:

Name Website License
ASN1Decoder https://github.com/filom/ASN1Decoder MIT license
GirdersSwift https://github.com/netceteragroup/GirdersSwift MIT license
KeychainAccess https://github.com/kishikawakatsumi/KeychainAccess MIT license
SwCrypt https://github.com/soyersoyer/SwCrypt MIT license
GMEllipticCurveCrypto https://github.com/ricmoo/GMEllipticCurveCryptо BSD 2-Clause “Simplified” License