Bookings & payments

Payment providers, Apple Pay, and Google Pay

Ways to take payment

Option Best for Good to know
Square Card payments, especially if you already use Square in your studio. Press Connect with Square and sign in. Payments in Square show which booking they belong to. Set up Square →
Stripe Card payments, Apple Pay, Google Pay and many currencies. Press Connect with Stripe and sign in. Before you go live, test a card whose bank asks for an extra security check. Set up Stripe →
None / manual Free events, cash at the door, free places, phone bookings and payment at the front desk. Add a note to the booking saying how and why, so your reports still make sense later.
  • You can connect one payment account at a time, Square or Stripe. To switch, open Settings → Payments and press Disconnect. This erases your saved details, so you can then connect the other one. To update your details with the same company, press Reconnect (shown if you connected by signing in), or edit them and save. You do not need to disconnect first.
  • A paid booking made online needs a successful card payment. The exceptions are pay on site, if you allow it, and bookings you make yourself in the admin with another way to pay.
  • Free events skip the payment step and can be marked as paid automatically.
  • If the amount a customer pays does not match the booking total, the payment is refused. This stops anyone changing the price on their screen.
  • If a card is charged but the booking then cannot be made, FullClass refunds the payment automatically where Square or Stripe allows it.
  • Each booking's page shows how it was paid. You see Square or Stripe, the payment ID, the card type and last four digits, and any refund. It also shows tax, add-ons, promo codes and gift cards used.

Test bookings before you go live

You can try your whole checkout without charging a real card. Connect your Stripe or Square account in test mode first. Then book on your own booking page the way a customer would. When you are happy, switch to your live details.

  1. Get test keys from Stripe or Square. For Stripe, these are the keys that start with pk_test_ and sk_test_ (see Stripe test mode). Square calls its test mode a "sandbox" (see Square sandbox).
  2. Paste them into Settings → Payments and click Save changes. The page says Connected in test mode. Every admin page shows a Test mode banner, and your booking page tells customers no real payment will be taken.
  3. Book a paid event on your booking page and pay with a test card. For Stripe, use 4242 4242 4242 4242. Also try 4000 0027 6000 3184, a card that asks for the extra bank check (called 3D Secure). For Square, use one of the sandbox test cards. Real cards are declined while you are in test mode.
  4. Find the booking in the admin and check the confirmation email arrives. Try anything else you sell the same way, such as a gift card, a promo code or a refund from the booking's page.
  • Emails are real. Confirmations and reminders are sent as usual, so book with your own email address, not a customer's.
  • Kept out of your takings. Anything sold in test mode stays out of your revenue reports and dashboard takings, even after you go live. Test bookings and customers still show in your lists and data export.
  • Leftover test bookings. You can cancel a test booking at any time. After you save your live details, canceling a test booking refunds nothing, even if you choose a refund. No real money was taken, and your live account has no record of the test payment.
  • Going live. Save your live Stripe or Square details under Settings → Payments. The test mode banner and the notice on your booking page go away. Make one small real booking and refund it, to check that both payments and refunds work.

Apple Pay and Google Pay

The booking widget can show Apple Pay and Google Pay buttons next to the card form when all three of these are true.

  1. You have connected Square or Stripe.
  2. The website where your widget appears has been registered for Apple Pay and Google Pay (see below).
  3. The customer's browser supports the wallet (Safari with Apple Wallet, or Chrome with Google Pay).

How registration works

A domain is a website address, like yourstudio.com. Each time your widget loads on a new domain, FullClass lists it under Settings → Payments → Wallet payment domains as Not registered. Click Register next to it, and FullClass registers it with Square or Stripe for you. Once it shows Registered, the wallet buttons appear when customers book.

You can also register a domain before your widget is on it. Type it into Add a domain manually on the same page.

Square and Stripe compared

Account What you need to do Removing a domain
Square Click Register. Square checks your website automatically. There is nothing to upload. Delete removes the website from your list in FullClass, but Square keeps it registered. To remove it from Square too, contact Square support.
Stripe First add the file /.well-known/apple-developer-merchantid-domain-association to your website. Stripe Apple Pay docs → have the file download link. Then click Register. Delete removes the website from your list and from Stripe.

Heads up. If your website is on a builder like Squarespace, Wix or Shopify, you may not be able to add a file at a /.well-known/ address. Then you cannot register that website for Apple Pay with Stripe. Square works with any website, because it checks the website itself.

What customers see

On a registered domain, the payment step has two tabs, Pay with card and Apple Pay / Google Pay. Card is picked first. The second tab shows the wallet button, and the customer pays with one tap.

Troubleshooting

  • Domain shows Action needed after I click Register. Read the reason shown under it. With Stripe, the usual cause is that the file above is missing from your website. With Square, the usual cause is Square details that are wrong or out of date, so check them or press Reconnect. Fix the problem, then click Re-register.
  • No wallet button shows for customers. Check that the domain shows Registered. Then check the customer's browser. Apple Pay needs Safari on a Mac, iPhone or iPad. Google Pay needs Chrome with Google Pay set up.
  • I see a domain I do not recognize. The list shows every website your widget loads on. That includes test and preview copies of your site, and other sites that show your widget. They stay unregistered unless you click Register. They wait in the Not registered yet group, below the registered ones. Click Dismiss to clear one now. One the widget has not loaded on for 30 days drops off by itself, and comes back if the widget loads there again.