In-App Payments SDK

What It Does

Build with In-App Payments SDK to provide a secure, managed payments client on mobile devices.

React Native
In app payments sample animated

The Square In-App Payments SDK provides a secure, managed payments client for Android, iOS, Flutter, and React Native apps. Use the In-App Payments SDK to accept payment with credit cards and digital wallets (Apple Pay, Google Pay) with a fully customized payment screen that seamlessly matches the branding of the app.

The In-App Payments SDK is available for native development on iOS and Android and as an open-source plugin for Flutter and React Native.

Requirements and limitations

  • In-App Payments SDK requires a backend service to complete payment and issue refunds.
  • In-App Payments SDK for Android requires the following OS permissions:
    • ACCESS_NETWORK_STATE: to access information about networks
    • INTERNET: to open network sockets
  • In-App Payments SDK for iOS does not require explicit OS permissions.

In-App Payments SDK components

The In-App Payments SDK lets customers enter their payment information on an entry screen instead of using a Square Reader to tap, dip, or swipe for payment. The SDK collects payment information and generates a nonce (an encrypted payment token). Your application sends the nonce to your server, which uses the Transactions API to capture payment.

The following components make up an In-App Payments SDK payments solution:

  • Client side — Mobile app using the In-App Payments SDK. Captures payment information and returns a valid nonce.
  • Server side — Web service using Connect APIs. Accepts the nonce and sends charge requests to Square to process payment.

Build with the In-App Payments SDK

Android sample app

The style of the card entry experience looks great out of the box but can be customized to match the hosting app. The In-App Payments SDKs allow customization of fonts, colors and backgrounds.

Try the In-App Payments SDK Quick Start to see the SDK in action.

In-App Payments SDK Quick Start >

Contact Developer Support, join our Slack channel, or ask for help on Stack Overflow