Overview
Square offers a comprehensive ecosystem of hardware and software solutions for businesses, primarily focusing on payment processing and point-of-sale (POS) functionalities. Established in 2009, Square initially gained recognition for its mobile card readers, enabling small businesses and individuals to accept credit card payments via smartphones and tablets. Over time, the platform has expanded its product line to include a full range of business tools, supporting both in-person and online transactions.
The core of Square's offering revolves around its POS software, which can be operated on a mobile device, dedicated Square hardware, or a web browser. This software integrates with various business operations, including inventory management, customer relationship management (CRM), and sales reporting. For businesses requiring physical payment acceptance, Square provides a range of hardware options such as the Square Reader for tap, dip, or swipe payments; the Square Terminal, an all-in-one device for payments and receipts; and the Square Register, a complete countertop POS system.
Beyond payment acceptance, Square supports online sales through its Square Online platform, allowing businesses to create e-commerce websites and manage orders. The suite also includes tools for invoicing (Square Invoices), payroll management (Square Payroll), and access to business funding (Square Capital). This integrated approach aims to provide a single platform for managing multiple aspects of business operations, from sales to financial administration. Developers can extend Square's capabilities through a comprehensive set of APIs, enabling custom integrations for payments, orders, inventory, and more, as detailed in the Square developer documentation. Square's developer experience is supported by SDKs for languages like Node.js, Python, and Java, alongside a sandbox environment for testing integrations.
Key features
- Payment Processing: Facilitates credit and debit card transactions, mobile payments, and online payments with built-in fraud prevention. Supports various payment types including EMV chip, magstripe, and NFC (tap-to-pay) via Square hardware.
- Point-of-Sale (POS) System: Provides software for managing sales, inventory, and customer data. Available as a free app for iOS/Android devices and pre-installed on Square's dedicated hardware.
- Hardware Solutions: Offers a range of devices from portable card readers (Square Reader) to integrated countertop systems (Square Register) and all-in-one terminals (Square Terminal) for various business environments.
- Online Store Creation: Allows businesses to build and manage e-commerce websites through Square Online, integrating inventory and sales data with in-person operations.
- Invoicing: Enables businesses to send professional invoices, track payment statuses, and accept payments online directly through the Square platform.
- Inventory Management: Tools to track product stock, manage variations, receive low-stock alerts, and generate inventory reports across multiple sales channels.
- Customer Management: Stores customer contact information, purchase history, and feedback, enabling targeted marketing and loyalty programs.
- Team Management: Features for managing employee schedules, timecards, and payroll directly within the Square ecosystem.
- Financial Services: Includes Square Payroll for automated payroll processing and Square Capital for business loans based on sales performance.
- Developer APIs and SDKs: Offers APIs for custom integrations with payments, orders, inventory, and more, supported by SDKs for popular programming languages such as Node.js and Python.
Pricing
Square's pricing model primarily involves per-transaction fees, with varying rates depending on the transaction type. Hardware costs are separate and vary by device.
| Transaction Type | Fee Structure (as of May 2026) |
|---|---|
| In-person payments (tap, dip, swipe) | 2.6% + $0.10 per transaction |
| Online payments | 2.9% + $0.30 per transaction |
| Manually entered payments | 3.5% + $0.15 per transaction |
| Invoiced payments | 2.9% + $0.30 per transaction |
| Hardware | Varies by device (e.g., Square Reader, Square Terminal, Square Register) |
Further details on specific product pricing, including paid software plans for advanced POS features, can be found on the Square pricing page.
Common integrations
Square provides a robust set of APIs and SDKs, allowing integration with a variety of third-party platforms and custom applications:
- E-commerce Platforms: Integrations with platforms like WooCommerce via plugins, allowing for synchronized product data and order management.
- Accounting Software: Direct connections or third-party integrations with accounting systems such as QuickBooks and Xero for automated sales reconciliation.
- Marketing Tools: Integration with email marketing platforms and CRM systems to leverage customer data collected through Square POS.
- Loyalty Programs: Built-in loyalty features and integrations with external loyalty program providers.
- Delivery Services: Connectivity with food delivery platforms for restaurants using Square for Restaurants POS.
- Custom Applications: Developers can use Square's Payments API, Orders API, and Inventory API to build custom applications that interact with Square's ecosystem.
Alternatives
- Toast: A POS and restaurant management system specifically designed for the restaurant industry, offering integrated hardware, software, and payment processing.
- Shopify POS: An extension of the Shopify e-commerce platform, providing point-of-sale functionality for retailers to manage in-person and online sales in a unified system.
- Stripe Terminal: Offers developer-focused tools and hardware to build custom in-person payment experiences, often favored by businesses seeking highly customized payment flows.
- Clover: Provides a range of POS systems and payment processing solutions primarily for small to medium-sized businesses, available through various acquiring banks.
- Lightspeed POS: A cloud-based POS system known for its retail and restaurant-specific features, including advanced inventory management and analytics.
Getting started
To begin accepting payments using the Square APIs, you can use one of the available SDKs. The following example demonstrates how to create a payment using the Node.js SDK, targeting the Square Payments API. This example assumes you have a Square application ID, access token, and a pre-existing location ID.
const { Client, Environment } = require('square');
const client = new Client({
accessToken: 'YOUR_ACCESS_TOKEN',
environment: Environment.Sandbox, // Use Environment.Production for live transactions
});
const paymentsApi = client.paymentsApi;
async function createPayment() {
const idempotencyKey = require('crypto').randomUUID(); // Unique key to prevent duplicate payments
const requestBody = {
sourceId: 'cnbc_card_nonce_ok', // Replace with an actual card nonce or tokenized payment source
idempotencyKey: idempotencyKey,
amountMoney: {
amount: 100, // Amount in cents (e.g., $1.00)
currency: 'USD',
},
locationId: 'YOUR_LOCATION_ID',
// Optional: Add a note or customer ID
note: 'Order #12345',
};
try {
const { result } = await paymentsApi.createPayment(requestBody);
console.log('Payment created successfully:', result.payment.id);
console.log('Payment status:', result.payment.status);
} catch (error) {
console.error('Error creating payment:', error);
if (error.result && error.result.errors) {
error.result.errors.forEach(err => console.error(err.detail));
}
}
}
createPayment();
Before running this code, ensure you have installed the Square Node.js SDK by running npm install square. Replace YOUR_ACCESS_TOKEN and YOUR_LOCATION_ID with your actual credentials from the Square Developer Dashboard. For testing, you can use a test card nonce provided by Square's sandbox environment, as documented in the Square testing guide.