Square payments can be processed across multiple channels, including online, in-person, and in-app. 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 one 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 one 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 Card, 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 In-App Payments SDK to accept in-application 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 Android and iOS devices that you want to connect to Square hardware (such as, Square Reader for magstripe, Square Reader for contactless and chip, and Square Stand for contactless and chip) 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 application payment UI using a Square Reader. Reader SDK is not available outside the United States.
Point of Sale API. Use this API in scenarios where 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.