Square payments can be processed across multiple channels, including online, in-app, and in-person. The Square developer platform includes server-side APIs that support online payments and mobile SDKs that support mobile payments on seller or buyer mobile devices.
An online payment is where the buyer is visiting a seller's web application and making a payment within that web application. An in-person payment is any payment made by a buyer while at a seller’s physical location and using the seller’s POS device such as an iPad or iPhone. An in-app payment is where the buyer pays using a seller’s application installed on their personal mobile device.
Square API support for credit card and card on file processing is currently limited to the countries specified in Supported Payment Methods by Country.
Online payments comprise a web client that accepts a buyer's payment card, digital wallet payments, Square gift cards, or bank transfer and a seller-hosted backend that processes the payment using the payment token generated by the web client. The payment is credited to the seller associated with the OAuth token used in the Square API call on the backend.
Use the Web Payments SDK in your web client to accept a payment card and the Payments API in your backend to process the payment. For more information, see Web Payments SDK Overview.
Use the In-App Payments SDK to accept in-app payments on a seller-created mobile application and installed on a buyer's Android or iOS device. Buyers use the application to check out purchases and enter payment card information. When the checkout is complete, the application sends a secure payment token to the seller backend for payment.
Square offers hardware devices to process in-person payments. The Square SDK and APIs connect your custom application to these devices.
If you have a custom application running on an Android device, iPhone, or iPad that you want to connect to the following Square hardware to process payments, use the Square Reader SDK or Point of Sale API:
Reader SDK. Use this SDK to embed the Square payment flow in your own mobile application payment UI. The flow uses a connected Square Reader to get the payment card. Note that the Reader SDK is not available outside the United States.
Point of Sale API. Use this API in scenarios where the Reader SDK cannot be used, including when:
Your point-of-sale (POS) application is a web page running in a mobile browser.
Some or all of the sellers using your POS application are based in a Square-supported country other than the United States.
The Terminal API lets your POS application process purchases using a seller's Square Terminal device. Square Terminal combines hardware and software and can be accessed from a third-party POS application running on a Windows, macOS, iOS, or Android device.