Square integrations by platform

Sandbox run evidence

UAT-Ops ran the directory's canonical card flow against Square's sandbox on 2026-09-11: 6 passed. Every request went to the real sandbox through the workbench's ordinary execution path. Keys, object ids, request and response bodies were removed before publication; the status word in the last column is the provider's own.

StepRequestHTTPLatencyResultProvider status
create customerPOST v2/customers200279 msPass
authorizePOST v2/payments200553 msPassstatus=approved
capturePOST v2/payments/:payment_id/complete200186 msPassstatus=completed
partial refundPOST v2/refunds200974 msPassstatus=pending
authorize for voidPOST v2/payments200510 msPassstatus=approved
voidPOST v2/payments/:payment_id/cancel200182 msPassstatus=canceled

Platform pages

About Square

Square is a payment processor and commerce platform best known for its card readers and point-of-sale software for small businesses. Behind the hardware sits a REST API (the Payments, Refunds, Cards, Customers, Orders, Subscriptions and related APIs) that developers use to take card, wallet, Afterpay/Clearpay and ACH payments from their own websites and apps, with the merchant's money settling into a Square account rather than a separately contracted acquirer.

Square processes payments for sellers in eight countries: the United States, Canada, the United Kingdom, Australia, Japan, Ireland, France and Spain. Each seller location has one currency, and a payment must be made in that currency; a business taking money in several currencies needs a Square account per region. Payment method coverage also varies by country: ACH and Cash App Pay are US-only, and Afterpay/Clearpay is offered in the US, Canada, Australia and the UK.

For integrators the notable mechanics are: every CreatePayment request needs an idempotency key; the API is versioned by release date through a Square-Version header, pinned per application; webhook deliveries are signed with HMAC-SHA256 against the subscription's key; and cards are tokenized in the browser by the Web Payments SDK before the server charges the token.

The Sandbox is provisioned automatically with any application registered in the Developer Console, is free, and can host up to ten extra test accounts, each simulating a seller in a supported country. It has fixed test tokens and card numbers rather than real cards, and a refund raised through the API returns as PENDING before completing.

What we checked

  • A Sandbox is created automatically when an application is registered in the Developer Console; Sandbox use is free with unlimited API calls, and Sandbox requests go to connect.squareupsandbox.com rather than connect.squareup.com.1
  • Developers can create up to 10 Sandbox test accounts beyond the default one, each in any country where Square processes payments, and simulated payments follow that country's banking rules.1
  • In the Sandbox Square Dashboard, refunds can be viewed but not issued, receipts are not generated, and subscriptions cannot be viewed or edited.1
  • Sandbox test values include the payment token cnon:card-nonce-ok for a successful card payment, tokens for rejected CVV, postal code, expiration and declines, test card numbers such as Visa 4111 1111 1111 1111 with CVV 111, and tokens for ACH (bnon:bank-nonce-ok), Afterpay/Clearpay (wnon:afterpay-or-clearpay-ok) and Cash App Pay (wnon:cash-app-ok).2
  • A Sandbox ACH payment starts as PENDING and moves to COMPLETED after one minute, whereas production ACH can take two to three business days and is US-only.3
  • A RefundPayment response can carry status PENDING while Square processes it; most refunds complete within hours and card refunds can stay PENDING for up to 14 days. Partial refunds against one Payment are supported, up to 20 refunds per payment and only within one year of the original payment.4
  • CreatePayment requires an idempotency_key (max length 45) and a source_id, and the amount_money currency must match the currency of the business taking the payment. An optional verification_token from the buyer-verification step carries the 3-D Secure result.5
  • Square API operations accept a unique idempotency key string so an accidental duplicate call does not create a second payment or record.6
  • Square API versions are named by release date (YYYY-MM-DD) and selected per request with the Square-Version header; when the header is omitted the application's default version from the Developer Console applies, responses echo the version used, and releases are typically monthly.7
  • Webhook subscriptions are configured in the Developer Console or through the Webhook Subscriptions API with a notification URL and a list of event types; undelivered events are retried with exponential backoff for up to 24 hours, and Sandbox webhooks originate from different IP addresses than production.8
  • Each webhook notification carries an x-square-hmacsha256-signature header, an HMAC-SHA256 over the notification URL plus raw request body using the subscription's signature key from the Developer Console; the official SDKs ship a WebhooksHelper that verifies it.9
  • Square publishes the OpenAPI/Swagger specification of its API (api.json) in the official square/connect-api-specification GitHub repository, which is also the source for generating the official SDKs.10
  • The official Square Node.js/TypeScript SDK supports Node 18+ and is generated programmatically; the API version can be overridden per request with a version option.11
  • The Payments API accepts card, gift card, Apple Pay, Google Pay, Cash App Pay, Afterpay/Clearpay and ACH bank transfer sources, supports authorize-then-complete delayed capture, and can charge cards on file.12
  • The Web Payments SDK tokenizes cards, Apple Pay, Google Pay, Cash App Pay, Afterpay/Clearpay, ACH and gift cards in the browser into single-use tokens that the Payments API accepts as source_id; in the EU, a payment without buyer verification fails with CARD_DECLINED_VERIFICATION_REQUIRED when authentication is required.13
  • Square directs developers operating in the EEA, the UK and Japan to implement Strong Customer Authentication through its buyer-verification step, which uses 3-D Secure.14
  • The Cards API stores credit and debit cards on file for later payments, runs a zero-amount verification when a card is saved, requires buyer permission before saving, and Square manages network tokenization for Visa, Mastercard and American Express automatically.15
  • The Subscriptions API charges a stored payment method on a recurring schedule from catalog subscription plans, supports phases such as free trials, and does not support ACH because bank accounts cannot be stored and charged later.16
  • Square APIs process payments for sellers in eight countries: the United States, Canada, the United Kingdom, Australia, Japan, Ireland, France and Spain; sellers elsewhere can only record external and cash payments.17
  • Apple Pay and Google Pay are available in all eight supported countries; Afterpay in the US, Canada and Australia and Clearpay in the UK; ACH and Cash App Pay only in the US; Ireland, France and Spain have cards and wallets only.18
  • Payments are processed in the seller location's currency, read from the Locations API; a Square account operates in one currency, so collecting in several currencies means a separate Square account per region.19
  • Square's developer pricing page lists Web Payments SDK and Payments API card-not-present payments at 2.9% + 30 cents in the US (2.8% + 30 cents Canada, 1.4% + 25p UK cards), US in-person at 2.6% + 15 cents, ACH at 1% with a $1 minimum and $5 maximum, Afterpay at 6% + 30 cents, and a 1.5% surcharge for cards issued outside the seller's country.20
  • Square's US fee article lists eCommerce API payments at 2.9% + 30 cents on every plan, manually keyed and card-on-file payments at 3.5% + 15 cents, and invoices at 3.3% + 30 cents on the free plan.21

Sources

  1. https://developer.squareup.com/docs/devtools/sandbox/overviewofficial documentation · checked 2026-09-11
  2. https://developer.squareup.com/docs/devtools/sandbox/paymentsofficial documentation · checked 2026-09-11
  3. https://developer.squareup.com/docs/payments-api/take-payments/ach-paymentsofficial documentation · checked 2026-09-11
  4. https://developer.squareup.com/docs/payments-api/refund-paymentsofficial documentation · checked 2026-09-11
  5. https://developer.squareup.com/reference/square/payments-api/create-paymentofficial documentation · checked 2026-09-11
  6. https://developer.squareup.com/docs/build-basics/common-api-patterns/idempotencyofficial documentation · checked 2026-09-11
  7. https://developer.squareup.com/docs/build-basics/versioning-overviewofficial documentation · checked 2026-09-11
  8. https://developer.squareup.com/docs/webhooks/overviewofficial documentation · checked 2026-09-11
  9. https://developer.squareup.com/docs/webhooks/step3validateofficial documentation · checked 2026-09-11
  10. https://github.com/square/connect-api-specificationcode repository · checked 2026-09-11
  11. https://github.com/square/square-nodejs-sdkcode repository · checked 2026-09-11
  12. https://developer.squareup.com/docs/payments-api/overviewofficial documentation · checked 2026-09-11
  13. https://developer.squareup.com/docs/web-payments/overviewofficial documentation · checked 2026-09-11
  14. https://developer.squareup.com/docs/sca-overviewofficial documentation · checked 2026-09-11
  15. https://developer.squareup.com/docs/cards-api/overviewofficial documentation · checked 2026-09-11
  16. https://developer.squareup.com/docs/subscriptions-api/overviewofficial documentation · checked 2026-09-11
  17. https://developer.squareup.com/docs/international-developmentofficial documentation · checked 2026-09-11
  18. https://developer.squareup.com/docs/payment-card-support-by-countryofficial documentation · checked 2026-09-11
  19. https://developer.squareup.com/docs/international-development/paymentsofficial documentation · checked 2026-09-11
  20. https://developer.squareup.com/docs/payments-pricingvendor pricing page · checked 2026-09-11
  21. https://squareup.com/help/us/en/article/5068-what-are-square-s-feesvendor pricing page · checked 2026-09-11

Last verified 2026-09-13 · Reviewed by a person 2026-09-14

Integration capabilities, requirements, pricing, availability, and vendor policies may change over time. UAT-Ops documents information based on the authoritative sources and testing available at the time of review.

Where newer information, testing, or vendor documentation materially changes a published claim, UAT-Ops may revise the page to reflect the most current verified information. Readers should confirm time-sensitive requirements with the relevant vendor before making production or purchasing decisions.