Skip to main content
Square is one of the processors on Ringup’s hosted connect page (reached from the generic Connect button, see Payment providers). When a merchant picks Square, one click authorizes via OAuth and Ringup settles on their Square account from then on. You embed nothing Square-specific, and you never touch card data or the merchant’s password.

What happens

1

The merchant opens your Connect button

It lands on Ringup’s hosted connect page, where Square is listed.
2

They pick Square and approve

Square’s own authorization screen opens; they approve and return to a confirmation page.
3

They're live immediately

The merchant can take payments the moment they connect, with nothing else for you to do. Ringup fires merchant.connected (carrying merchant_id) so you can reflect it in your own UI if you like.

What the merchant grants

Square requests only what Ringup needs to recognize callers and settle on the merchant’s account:
MERCHANT_PROFILE_READ
Read the business profile (name, locations).
PAYMENTS_WRITE
Take payments on the merchant’s account.
PAYMENTS_WRITE_SHARED_ONFILE
Charge a caller’s saved card across the merchants on your app (the recognition primitive).
ORDERS_WRITE
Attach payment to the order.
CUSTOMERS_READ, CUSTOMERS_WRITE
Recognize the caller and keep their card on file.
Square redirects back to Ringup, which exchanges the code for the merchant’s token on the server. The client secret never touches your dashboard or the button, and no card data ever passes through your systems.

Next steps

All payment providers

The generic Connect button and the hosted page.

Webhooks

Handle merchant.connected and payment events.