Payment Info (/settings/payment-info) is where you connect Teddy to Square — Square is the payment processor Teddy actually uses to charge cards, process refunds, and manage payment terminals. (The separate Card Processing sidebar item is a "Coming Soon" placeholder and not a working feature yet — Payment Info is where the real payment processing lives.)
The page title inside is "Square Payment Integration." Its subtitle says: "Connect your Square account to process payments directly from Teddy."
At the top of the page:
Integration (default) — the connection status, merchant info, linked locations, and payment terminals
Payments — a historical view of payments processed through the integration
The Integration tab is the one you'll actually configure. The Payments tab is for looking up past transactions.
The connection flow uses Square's OAuth — meaning you never enter your Square password or credentials in Teddy. Instead, Teddy redirects you to Square's own login page, you sign in there, and Square sends you back with an authorization token.
Important privacy note: Teddy never sees or stores your Square password. All authentication happens on Square's side.
The general flow is:
Open /settings/payment-info in Teddy
Tap the Connect Square button (shown when no connection exists yet)
Teddy opens a Square login page in a new tab
Sign in with your Square merchant credentials on Square's page
Square asks you to authorize the specific permissions Teddy needs
Tap Allow
Square redirects you back to Teddy with a connection confirmation
Once connected, the Integration tab shows the full connection status.
When Square is connected, you'll see a big Square Connected indicator and several fields:
Merchant ID — your unique Square merchant ID (e.g., S60JT6W7MNDNC)
Connected: — the date and time the integration was first authorized (e.g., February 20, 2026 at 09:10 AM)
Locations: N — how many Square locations are linked. A location is a physical business address registered with Square. Each location has:
Location name
Physical address (city, zip)
Capabilities list (e.g., CREDIT CARD PROCESSING, AUTOMATIC TRANSFERS)
A Link Device button for pairing payment terminals
Payment Terminals: N — how many Square terminal devices are paired. Each terminal card shows:
Terminal name and device type (e.g., TERMINAL_API)
Which location it's assigned to
A short pairing Code
A PAIRED indicator
Below the locations and terminals, Teddy shows the full list of permissions you granted Square. These are technical scope names like:
MERCHANT PROFILE READ / MERCHANT PROFILE WRITE
PAYMENTS READ / PAYMENTS WRITE / PAYMENTS WRITE ADDITIONAL RECIPIENTS
BANK ACCOUNTS READ
SETTLEMENTS READ
ORDERS READ / ORDERS WRITE
ITEMS READ
CUSTOMERS READ / CUSTOMERS WRITE
DEVICE CREDENTIAL MANAGEMENT
DEVICES READ
INVENTORY READ / INVENTORY WRITE
INVOICES READ / INVOICES WRITE
CASH DRAWER READ
You don't need to understand each one. The short version: Teddy has read/write access to your Square merchant profile, payments, orders, customers, and payment terminals, which is what's needed to take payments and issue refunds from inside Teddy.
If you have a physical Square terminal device (like a Square Terminal or Square Register), you'll want to pair it with Teddy so it can accept card payments for appointments.
Find the Link Device button next to the relevant location in the Integration tab
Teddy generates a pairing code
On your physical terminal, enter the code through Square's pairing flow
The terminal registers with Teddy and appears in the Payment Terminals list with a PAIRED status
Once paired, that terminal is selectable when you're charging a client from an appointment or the Charge flow inside Teddy.
This split is worth understanding:
Square handles:
The actual card reading and transaction processing
PCI compliance (you never touch raw card data)
Deposits to your bank account
Square-side refunds and chargebacks
Payment terminal hardware
Teddy handles:
Associating a charge with a specific appointment and client
Remembering which Square terminal is at which location
Surfacing the Charge Now button on the appointment detail panel
Recording revenue in the Reports Overview
In other words, Teddy is a thin coordination layer over Square. If payment processing ever feels broken, the first question is almost always "is Square itself still working?" — check your Square dashboard directly.
At the bottom of the Integration tab is a Disconnect Square button. Tap it to revoke the OAuth connection.
Consequences of disconnecting:
Teddy loses the ability to charge cards or issue refunds from inside the app
The Charge Now button on appointments stops working
Paired terminals become unusable through Teddy (they still work directly through Square)
Past transaction records stay intact — disconnecting doesn't delete history
Disconnect if you're switching Square accounts (for example, changing legal business entities) or if you're migrating away from Square entirely.
Teddy never stores your Square password. OAuth means your credentials live only on Square's side.
Card data is never touched by Teddy. Cards go directly to Square's PCI-compliant infrastructure.
Your clients' saved cards are stored by Square, not Teddy. When you "save a card on file" for a client, you're actually creating a customer record in Square with a tokenized card reference.
Deposits go to whatever bank account is linked on the Square side. Change that in the Square dashboard, not in Teddy.
OAuth tokens can occasionally expire or get revoked (for example, if Square detects unusual activity). If you notice that Charge Now suddenly isn't working:
Go to /settings/payment-info
Check if the Integration tab still shows "Square Connected"
If it shows a disconnected state, reconnect by going through the OAuth flow again
If it shows connected but charges still fail, check the Square dashboard directly for any holds or issues
Tip: Do a test charge with Square for $1 immediately after connecting, then refund it. Five minutes of verification here saves hours of "why won't this charge go through" during a real appointment six weeks from now.