Square payments can be processed across multiple channels, including in-person, online, and in-app. The Square developer platform includes server-side APIs that support online payments and mobile SDKs that support mobile payments on a merchant or buyer mobile device.
Online payments comprise a web frontend that accepts a buyer’s payment card and a merchant-hosted backend that processes the payment using the payment token generated by the web frontend.
Use the payment form in your frontend to accept a payment card and the Payments API in your backend to process the payment. For more information, see the overview of Square payments in your website.
Use the In-App Payments SDK to accept in-app payments on a mobile app created by a merchant and installed on a buyer’s Android or iOS device. Buyers uses the app to check out their purchases and enter payment card information. On checkout completion, the app sends a secure payment token to the merchant backend for payment.
Square offers hardware devices to process in-person payments. The SDK and APIs offered by Square connect your custom app to these devices.
If you have a custom app running on Android and iOS devices that you want to connect to Square hardware ( Reader for magstripe, Reader for contactless and chip, and Square stand) to process payments, you can use the following API and SDK:
Reader SDK. Use this mobile SDK to embed the Square payment flow in your own mobile app payment UI using a Square Reader. Reader SDK is not available outside the United States.
Point of Sale (POS) API. Use this API in scenarios where Reader SDK cannot be used, including when:
Your POS app is a web page running in a mobile browser.
Some or all of the sellers using your POS app are based in a Square-supported country other than the United States.
Terminal API lets your POS app process purchases using a seller’s Square Terminal device. Square Terminal combines hardware and software and can be accessed from a third-party POS app running on a Windows, Mac OS, iOS, or Android device.