STEP 1 Setup your development environment

DOCS

Last updated: Aug 15th, 5:51am

Before you begin developing your branded mobile wallet app, you must obtain the SDK and configure a development environment supporting its use.

SETUP STEPS:

  1. Install development tools
  2. Configure the SDK instance

1. Install development tools

  1. Download and install Java 8.

  2. Download and install Android Studio as your Integrated Development Environment (IDE) from Android Studio.

  3. Add the following third-party dependencies to your build.gradle file:

      1'com.google.android.gms:play-services-wallet:9.2.0'
      2'com.android.support:appcompat-v7:23.3.0'
      3'com.android.support:design:23.3.0'
      4'com.braintreepayments.api:braintree:2.+'
      5'com.android.support:support-v4:23.3.0'
      6'org.apache.httpcomponents:httpclient:4.0.1'

    2. Configure the SDK instance

    1. Define the environment variables for your development environment

    • HOST_IP - The host name or IP address where the mobile gateway resides, for example, "sandbox.paydiant.com"

    • HOST_URL - The mobile gateway path relative to the host. The URL suffix should always be /mobile appended to the HOST_IP value. For example, sandbox.paydiant.com/mobile.

    • PROTOCOL - The protocol to be used when calling the mobile gateway (for this version it is "https")

    • appSignature - A unique identifier of the app used to generate the HMAC during signing.

    • apiKey - The unique identifier of the application instance.

        1private static final String HOST_IP = "<hostname>";
        2private static final String HOST_URL = HOST_IP + "<URL Suffix>";
        3private static final String PROTOCOL = "<protocol>";
        4private ContextWrapper androidContextInstance;
        5private byte[] appSignature = new byte[]
        6{
        7 0x6d,
        8 0x79,
        9 0x2d,
        10 0x61,
        11 0x70,
        12 0x70
        13};
        14private byte[] apiKey = new byte[]
        15{
        16 1 a7c, 1 x6d, 0x4 p, 1 x31, 1 x5z, 1 x69
        17};
        18PaydiantApplicationConfig.getPaydiantApplicationConfig()
        19 .setupPaydiantApplicationConfig(HOST_URL, PROTOCOL, androidContextInstance,
        20 appSignature, apiKey);

      2. Overload the application context method to set optional configuration values

      paydiantSDKConfigProps

      Configure encryption and case-sensitivity settings for login password/passcode (PIN)/secret question responses (MFA) to match the corresponding Issuer onboarding settings if encryption will be handled by the SDK:

        1com.paydiant.android.config.PaydiantApplicationConfig.PASSWORD_ENCRYPTION_KEY("paydiant.mobile.sdk.password.hash.enable") Default = FALSE
        2com.paydiant.android.config.PaydiantApplicationConfig.PASSCODE_ENCRYPTION_KEY("paydiant.mobile.sdk.passcode.hash.enable") Default = FALSE
        3com.paydiant.android.config.PaydiantApplicationConfig.MFA_ANSWER_ENCRYPTION_KEY("paydiant.mobile.sdk.mfa.hash.enable") Defautlt = FALSE
        4com.paydiant.android.config.PaydiantApplicationConfig.MFA_CASE_SENSITIVITY_ENCRYPTION_KEY("paydiant.mobile.sdk.mfa.case.sensitivity.enable") Default = FALSE
          1sdkConfigProperties.put(com.paydiant.android.config.PaydiantApplicationConfig.PASSWORD_ENCRYPTION_KEY, false
          2com.paydiant.android.config.PaydiantApplicationConfig.PASSCODE_ENCRYPTION_KEY, false
          3com.paydiant.android.config.PaydiantApplicationConfig.MFA_ANSWER_ENCRYPTION_KEY, false
          4com.paydiant.android.config.PaydiantApplicationConfig.MFA_CASE_SENSITIVITY_KEY, false);

          customAppVersionName

          Set an alternative application version to override Paydiant’s default a.b.c.d.e versioning format. This custom value will supersede the default setting in the AndroidManifest.

          private String customAppVersionName = "5.10"

          3. Enable system logging

          Paydiant's default logging utility is automatically initialized by the SDK, but it does need to be explicitly added as a service to the AndroidManifest file in order for the SDK to invoke the initialization.

            1android:name="com.paydiant.android.ui.service.logging.PaydiantLoggingService"

            Refer to Paydiant's Android SDK Guide for instructions on implementing a custom logging utility, should your business objectives necessitate it.

            NEXT STEP 2: Provide wallet access