Square + commercetools integration

Custom build onlyLast verified 2026-09-11 · Reviewed by a person 2026-09-25

There is no Square connector in the commercetools Connect marketplace, so connecting them means building your own Organization Connector from commercetools' open-source payment-integration template and calling Square's Payments API from it. The merchant or its integrator maintains that connector; neither commercetools nor Square does.1

UAT-Ops testing: Square's sandbox was verified by UAT-Ops on 2026-09-11 with the directory's card flow (6 passed) → evidence on the Square hub. The commercetools integration itself has not been run.

Sources checked: 15 claims from 3 sites, listed at the foot of the page.

Connects through Custom Organization Connector on commercetools Connect, built from the commercetools payment-integration template (enabler plus processor), with the enabler wrapping Square's Web Payments SDK and the processor calling Square's Payments and Refunds APIs. Biggest gotcha: You own the connector, forever.

How it connects

Method
Custom Organization Connector on commercetools Connect, built from the commercetools payment-integration template (enabler plus processor), with the enabler wrapping Square's Web Payments SDK and the processor calling Square's Payments and Refunds APIs.1
Maintained by
The merchant or its integrator (no commercetools- or Square-maintained connector exists)1
Checkout modes
complete checkout, payment only2

What works on this platform

Pre-built integration capabilities

N/A — there is no maintained connector to verify; its capabilities depend on what a merchant builds.

Gateway capabilities potentially available to a custom implementation

These are not capabilities of a connector — there is no maintained connector here. They are what Square's own API supports, informational for anyone scoping a custom build.

CapabilitySourceNotes
Cards3Square supports this at the API level; whether a custom build exposes it depends on what gets implemented.
Apple Pay4Square supports this at the API level; whether a custom build exposes it depends on what gets implemented.
Google Pay4Square supports this at the API level; whether a custom build exposes it depends on what gets implemented.
ACH bank payments3Square supports this at the API level; whether a custom build exposes it depends on what gets implemented.
Buy now, pay later3Square supports this (afterpay, clearpay) at the API level; whether a custom build exposes it depends on what gets implemented.
3-D Secure5Square supports this at the API level; whether a custom build exposes it depends on what gets implemented.
Network tokens6Square supports this at the API level; whether a custom build exposes it depends on what gets implemented.
Saved cards (vault)4Square supports this at the API level; whether a custom build exposes it depends on what gets implemented.
Subscriptions7Square supports this at the API level; whether a custom build exposes it depends on what gets implemented.
Partial refunds8Square supports this at the API level; whether a custom build exposes it depends on what gets implemented.

Testing it

Register an application in the Square Developer Console to get a free Sandbox with its own access token and application ID, then put those into the Organization Connector's configuration values when you deploy it to a commercetools trial Project listed in privateProjects (deployments can take up to 15 minutes). Load the Web Payments SDK from sandbox.web.squarecdn.com and allowlist it in the storefront CSP. Pay with Square's Sandbox test values (for example token cnon:card-nonce-ok or Visa 4111 1111 1111 1111, CVV 111). Subscribe a Sandbox webhook to payment and refund events pointing at the processor's HTTPS URL, and allow Square's Sandbox webhook IPs. Assert that the commercetools Payment carries Authorization and Charge transactions in Success after capture, and that a refund first lands as a Pending Refund transaction and moves to Success when refund.updated reports COMPLETED.9

UAT-Ops runs integration flows like this against the real sandbox and keeps the evidence. Get one email when it opens.

Gotchas

You own the connector, forever

Square isn't listed among the commercetools payment connectors (Adyen, Braintree, Mollie, PayPal, Stripe and others are), so the only route is an Organization Connector built from the payment-integration template. No vendor certifies or maintains the custom connector for you. The template's newest listed GitHub release is v4.10.0 from July 2024, so check its dependencies before you fork. A privately published connector deploys only to the Projects named in privateProjects. Add your staging and production Projects before you expect the install to show up.

Source: docs.commercetools.com1

Authorizations expire after seven days

If the processor authorizes with autocomplete off and captures on shipment, Square cancels an uncaptured online card authorization after 7 days by default. You can shorten that window but not extend it. The commercetools Payment will still show a successful Authorization unless your processor listens for the cancellation and writes a CancelAuthorization transaction. Otherwise late shipments fail at capture with no warning in the Merchant Center.

Source: developer.squareup.com11

Refunds are asynchronous

Square refunds can stay PENDING for up to 14 days, and only COMPLETED payments can be refunded. Record the Refund transaction as Pending and move it to Success or Failure when refund.updated arrives at the processor. Webhooks retry for up to 24 hours, and Sandbox sends them from different IPs than production, so a firewall rule copied from staging can drop live events.

Source: developer.squareup.com8

CSP blocks the card form

The enabler loads Square's Web Payments SDK into your storefront. Unless your CSP allows web.squarecdn.com (or the sandbox host) in script-src, frame-src and connect-src, plus the pci-connect host, the card fields never render. The failure shows up only in the browser console.

Source: developer.squareup.com12

One currency per Square account

commercetools Projects often sell in several currencies, but Square charges in the seller location's currency. Each region needs its own Square account and credentials, which means one connector deployment configured per store and currency.

Source: developer.squareup.com13

Alternatives

Other gateways on commercetools

Square on other platforms

Sources

  1. https://docs.commercetools.com/checkout/connectors-and-applicationsofficial documentation · describes this integration · checked 2026-09-11
  2. https://docs.commercetools.com/connect/templates/payment-integrationofficial documentation · describes the platform · checked 2026-09-11
  3. https://developer.squareup.com/docs/devtools/sandbox/paymentsofficial documentation · checked 2026-09-11
  4. https://developer.squareup.com/docs/payments-api/overviewofficial 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/cards-api/overviewofficial documentation · checked 2026-09-11
  7. https://developer.squareup.com/docs/subscriptions-api/overviewofficial documentation · checked 2026-09-11
  8. https://developer.squareup.com/docs/payments-api/refund-paymentsofficial documentation · checked 2026-09-11
  9. https://github.com/commercetools/connect-payment-integration-templatecode repository · describes the connector · checked 2026-09-11
  10. https://developer.squareup.com/docs/devtools/sandbox/overviewofficial documentation · checked 2026-09-11
  11. https://developer.squareup.com/docs/payments-api/take-payments/card-payments/delayed-capture
  12. https://developer.squareup.com/docs/web-payments/content-security-policy
  13. https://developer.squareup.com/docs/international-development/payments

Last verified 2026-09-11 · Reviewed by a person 2026-09-25

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.