Install the In-App Payments SDK

Link to section

Step 1: Add the In-App Payments SDK dependency

  1. Add the Square SDK public repository in the build.gradle file for your project.

    repositories { google() maven { url 'https://sdk.squareup.com/public/android' } }
  2. Add a compile option to support Java version 1.8 in the build.gradle file for your :app module.

    android { ... compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } ... }
  3. Add the In-App Payments SDK dependency to the module build.gradle file.

    dependencies { implementation "com.squareup.sdk.in-app-payments:card-entry:REPLACE_WITH_LATEST_IAP_SDK_VERSION" }
  4. Update the ProGuard-rules.pr file in the solution application folder to apply rules to In-App Payment SDK classes.

    -keep class sqip.** { *; }
Link to section

Step 2: Configure the In-App Payments SDK

To configure the In-App Payments SDK, you must set the Square application ID for your application in AndroidManifest.xml. Open the AndroidManifest.xml file for your application Gradle module and add the following XML to set the application ID.

Important

To test an application in the Square Sandbox, set the Developer Dashboard to Sandbox Settings mode before completing the following instructions in this step:

  • Copy your application ID from the Credentials page.

    <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> <application ...> <meta-data android:name="sqip.SQUARE_APPLICATION_ID" android:value="REPLACE_WITH_YOUR_SQUARE_APPLICATION_ID"/> </application> </manifest>
Link to section

Step 3: Set application permissions

If AndroidManifest.xml does not already have application permissions set, add the following two permissions:

<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Link to section

See also

Now that the In-App Payments SDK is installed, follow one of these build guides to add it to your mobile application: