Overview
Square In-App Payments SDK provides a secure, managed payments client for Android, iOS, Flutter, and React Native applications. Use In-App Payments SDK to accept payment cards such as credit cards and digital wallets (Apple Pay, Google Pay, and Secure Remote Commerce) with a fully customized payment screen that seamlessly matches the branding of the application. For more information, see How It Works.
Note
In-App Payments SDK only produces the one-time use secure payment card token (nonce). To complete a payment, send the nonce to your backend Payments API and call the CreatePayment endpoint with the nonce as source_id.
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 payments and issue refunds.
Using In-App Payments SDK to process digital goods, services, or subscriptions might 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.
Payment source support varies by country. For more information, see Supported Payment Methods by Country.
In-App Payments SDK components
In-App Payments SDK lets buyers enter their payment information on an entry screen instead of using a Square Reader to tap, dip, or swipe for payment. The SDK collects the 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 the payment.
The following components make up an In-App Payments SDK payments solution:
Client side. A mobile application using In-App Payments SDK, which captures payment information and returns a valid nonce.
Server side. A backend using the Square Payments API , which accepts the nonce and sends create payment requests to Square.
Did you know?
If you already have an online payment solution that uses the Square payment form to generate a nonce and send it to your backend, you can use that same backend to complete a payment with your in-app payment application.
The style of the card entry experience looks great out of the box but can be customized to match the hosting application. 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 Square Sandbox.