Set up Square
Take card payments through Square in your booking widget and on your booking page. Customers pay by card, and Apple Pay and Google Pay work once you register your website. The money goes straight into your own Square account. FullClass never receives or holds it.
What you get
- Set up in one click by signing in to Square. There is nothing to copy or paste, and FullClass renews the connection for you.
- A card form inside your booking widget. Square provides it, so card numbers go straight to Square.
- Apple Pay and Google Pay on the websites you register. You do not need to add any file to your website.
- Refunds you can give from the booking's page in the admin.
- Optional syncing of refunds you make in Square, so the booking in FullClass™ updates too. This uses a webhook (see below).
What you need
- A Square account.
- The owner login for FullClass. Only the owner can open the payment settings.
- About 15 minutes to set up a test, plus a short test booking.
Connect with Square (the easy way)
With Connect with Square, you do not copy anything. FullClass fills in your Square details for you and sets Square as the way customers pay.
- Sign in to FullClass as the owner and open Settings → Payments.
- Under Choose how customers pay, pick Square. Then click Connect with Square.
- Sign in to Square and approve access. You come back to the Payments page, which says Square connected successfully.
- That is it. To stop taking Square payments later, click Disconnect on the same page.
Sandbox setup (recommended first)
The sandbox is Square's test mode. You can book and pay with test card numbers, and no real money moves. Test there first. When you are happy, swap in your live details, which Square calls "production".
Step 1. Get your Square details
- Sign in to developer.squareup.com. This is Square's site for connecting other apps, like FullClass.
- Open an existing application, or create a new one. An application here is just a named connection to your Square account.
-
Under Credentials, copy the
Application ID (the name of the connection) and the
Access token (the secret password for it). Sandbox IDs
start with
sandbox-. Production IDs start withsq0idp-. - Open Locations in the same app, or in your Square Dashboard. Copy the Location ID of the location that should receive the payments.
Step 2. Paste the details into FullClass
- Sign in to FullClass as the owner.
- Open Settings → Payments.
- Under Choose how customers pay, pick Square. If you see Connect with Square, open Enter credentials manually instead to reach the boxes.
- Paste the Application ID, Access token and Location ID.
- Click Save changes. (You can add the optional webhook key later, see below.)
Test a booking from start to finish
- Open your booking page, the way a customer would.
- Pick a paid event and fill in the booking form.
- Pay with a Square sandbox test card. Square lists them on its Square sandbox test cards page.
- Check that the booking appears in the admin, paid through Square, with a Square payment ID.
Apple Pay and Google Pay
Square checks your website itself, so there is no file to add to it. Open Settings → Payments → Wallet payment domains. Find each website where your widget appears and click Register.
For the full steps and fixes, see Apple Pay and Google Pay.
Go live
- On developer.squareup.com, switch to the Production tab.
-
Copy the production Application ID (it starts with
sq0idp-), the Access token and the Location ID. - Paste them into Settings → Payments in FullClass and click Save changes.
- Make one small real booking. Then refund it from the booking's page, to check that both payments and refunds work.
Webhook signature key (optional, recommended)
A webhook is a message Square sends to FullClass when something changes in Square. Without one, a refund you make inside Square (not from the FullClass admin) will not show on the booking. The webhook signature key is a secret that lets FullClass check each message really came from Square.
- On developer.squareup.com, open your app's Webhooks tab.
-
Add a webhook subscription that points at
https://your-fullclass-domain/webhooks/square. - Subscribe to refund events.
- Square makes a signature key. Copy it.
- Paste it into the Webhook signature key box on Settings → Payments in FullClass.
Refunds
- Refund from the booking's page in the admin. You can refund the full amount or part of it.
- If you also set up the webhook above, refunds you make in Square (for example from the Square Dashboard) update the booking automatically.
A refund from FullClass reaches Square as an amount of money, not as a return of the items sold. That is because Square does not let other apps return single items. If Square syncs to QuickBooks Online, the refund is booked against the Square sales item with no tax, whatever the original sale was. Ask your bookkeeper to correct these refunds as follows.
- Gift card refunds (a card with a money balance): move the amount from sales income to your gift card liability account, where the sale was recorded.
- Other refunds (bookings, class passes, private events): move the tax included in the refund from sales income to your sales tax payable account.
Each refund in QuickBooks Online carries the description of the original sale, such as Gift card purchase or the booking number. Use it to find them.
Gift cards in your books
A gift card sold through Square reaches Square as a sale with one item. That way your bookkeeping can tell it apart from class income.
- Gift card: a card with a money balance and no tax on it. Tax is charged later, when the card pays for a class.
- Class pass: a pass for a number of classes. It carries the tax you set for class passes in your gift card settings.
If Square syncs to QuickBooks Online, map the Gift card item to your gift card liability account, not to sales income. Then unused cards are not counted as income.
A refunded gift card does not follow that mapping. See Refunds for the correction to make.
Troubleshooting
- Card form doesn't appear
- Check that Square is picked under Choose how customers pay, and that all three details are saved. The Application ID decides test or live, so an Access token from the other tab will make the card check fail.
- The card check fails
- The Application ID and Access token must come from the same tab in Square (Sandbox or Production). You cannot mix them.
- Apple Pay button missing on a registered website
- Check the customer's browser. Apple Pay needs Safari on a Mac, iPhone or iPad. Google Pay needs Chrome with a payment card set up. Also check that the website shows Registered under Wallet payment domains.
- A refund made in Square didn't update the booking
- You need a webhook subscription in Square and a saved signature key in FullClass. See Webhook signature key.
See also Troubleshooting → Payment fails.