In-App Payments SDK

What It Does

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

React Native
In-App Payments SDK


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
Permalink Get a link to this section

  • In-App Payments SDK requires a backend service to complete payment and issue refunds.

  • Using In-App Payments SDK to process digital goods, services, or subscriptions may not be allowed by some application distribution platforms.

  • 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.

  • Using the In-App Payments SDK with Apple Pay and Google Pay is only supported for US-based Square merchants.

In-App Payments SDK components
Permalink Get a link to this section

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 Payments 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.

Did you know?

If you already have an online payment solution that uses the Square payment form, you can leverage your existing server side component to complete a payment with your in-app payment experience.

Trio of screenshots from 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.

Did you know?

In-App Payments SDK is supported in the v2 Sandbox.

Try it out!

Try the quick start to see the In-App Payments SDK in action