Overview
Square is a financial services and digital payments company launched in 2009, offering a comprehensive ecosystem for businesses to manage sales, payments, and operations. Its primary focus is on providing solutions that cater to both in-person and online transactions, making it suitable for small to medium-sized businesses across various sectors. Square's core offerings include its Point of Sale (POS) software, payment processing services, and hardware devices such as card readers and registers.
The platform is designed to simplify payment acceptance, inventory management, customer relationship management, and employee management. Businesses can use Square to accept credit and debit card payments via mobile devices, dedicated terminals, or through online stores. For developers, Square provides a range of APIs and SDKs that allow for integration of its payment, POS, and other business functions into custom applications. This extensibility supports businesses requiring tailored solutions beyond Square's off-the-shelf products, such as integrating payments into existing e-commerce platforms or building specialized loyalty programs.
Square supports various business models, from mobile vendors using a Square Reader to retail stores employing a full POS system, and online businesses leveraging the Square Online Store or its E-commerce API. The platform handles security and compliance aspects, including adherence to PCI DSS Level 1 standards for payment card data. Additionally, Square provides tools for invoicing, appointment scheduling, and payroll, aiming to offer an integrated solution that reduces the need for multiple disparate business tools. The developer experience is characterized by detailed documentation and support for multiple programming languages, facilitating the development of custom integrations.
Key features
- Payment Processing: Facilitates acceptance of credit and debit cards, mobile payments (e.g., Apple Pay, Google Pay), and gift cards, both in-person and online.
- Point of Sale (POS) Software: Free POS software for iOS, Android, and Square hardware, managing sales, refunds, discounts, and inventory.
- Online Store: Tools to build and manage an e-commerce website, integrating directly with Square's payment and inventory systems.
- Invoicing: Create, send, and track professional invoices directly from the Square dashboard or mobile app.
- Virtual Terminal: Allows businesses to accept card payments over the phone or computer without hardware by manually entering card details.
- Hardware Solutions: A range of proprietary hardware including Square Readers for mobile devices, Square Terminal for portable all-in-one processing, and Square Register for counter-top POS systems.
- Developer APIs: APIs for payments, orders, customers, catalog, labor, and more, enabling custom integrations into existing business systems or new applications.
- Reporting & Analytics: Detailed sales reports, transaction histories, and business analytics accessible through the Square Dashboard.
- PCI DSS Compliance: Handles payment security and compliance with PCI DSS Level 1, reducing the burden on businesses.
- Inventory Management: Track stock levels, manage variations, and receive low-stock alerts across multiple locations.
Pricing
Square's pricing model is primarily transaction-based, with no monthly fees for standard payment processing services. Specific rates apply to different transaction types. Hardware devices are purchased separately.
| Transaction Type | Processing Fee |
|---|---|
| In-person (tap, dip, swipe) | 2.6% + 10¢ per transaction |
| Online (e.g., Square Online Store, Invoices, E-commerce API) | 2.9% + 30¢ per transaction |
| Keyed-in (Virtual Terminal, invoices manually entered) | 3.5% + 15¢ per transaction |
| Custom pricing | Available for eligible businesses processing over $250,000 annually |
As of May 2026. For detailed and up-to-date pricing information, refer to the official Square pricing page.
Common integrations
Square offers a variety of integrations through its APIs, enabling businesses to connect with other platforms and services. Developers can utilize Square's SDKs to build custom applications or connect to existing solutions.
- E-commerce Platforms: Integrate Square Payments with platforms like WooCommerce, BigCommerce, or custom-built online stores using the E-commerce API.
- Accounting Software: Sync sales data with accounting systems such as QuickBooks Online or Xero to streamline financial reconciliation.
- Customer Relationship Management (CRM): Connect customer data from Square with CRM platforms to enhance marketing and customer service efforts.
- Inventory Management Systems: Integrate with specialized inventory software to manage stock across multiple channels and locations using the Catalog API.
- Third-Party Apps via App Marketplace: Square's App Marketplace features various integrations for marketing, analytics, team management, and more.
Alternatives
For businesses seeking alternatives to Square, several platforms offer similar payment processing and business management capabilities:
- Stripe: A developer-focused platform offering highly customizable APIs for online and in-app payments, subscriptions, and financial services.
- PayPal Zettle: Provides mobile point-of-sale solutions and card readers, integrated with the broader PayPal ecosystem for both in-person and online sales.
- Shopify Payments: Integrated payment processing solution primarily for e-commerce businesses using the Shopify platform, also supporting in-person sales via Shopify POS.
- Adyen: A global payments platform offering a unified commerce solution for large enterprises, supporting online, in-app, and in-store payments across various channels.
Getting started
To begin accepting payments using Square's APIs, developers typically need to create a Square account and obtain API credentials. The following Node.js example demonstrates how to create a payment using the Square Payments API with the official Node.js SDK:
const { Client, Environment } = require('square');
const client = new Client({
environment: Environment.Sandbox, // Use Environment.Production for live transactions
accessToken: process.env.SQUARE_ACCESS_TOKEN, // Your Square access token
});
const paymentsApi = client.paymentsApi;
async function createPayment() {
const idempotencyKey = require('crypto').randomUUID(); // Unique key for idempotent requests
const requestBody = {
sourceId: 'cnon:card-nonce-ok',
amountMoney: {
amount: 100, // 1 USD (100 cents)
currency: 'USD',
},
idempotencyKey: idempotencyKey,
// You can add customerId, buyerEmailAddress, or note fields here
};
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.result);
}
}
createPayment();
This example utilizes a test card nonce (cnon:card-nonce-ok) for sandbox testing. In a production environment, you would obtain a real card nonce from the Square Web Payments SDK or In-App Payments SDK after a customer enters their payment details. For comprehensive instructions and more examples, refer to the Square Payments API documentation.