Skip to main content
In the News
Advanced8 min readMay 9, 2026

The Complete Setup for Taking Payments and Bookings Online

By Brant Hindman

The Complete Setup for Taking Payments and Bookings Online

The complete setup for taking payments and bookings online needs three things wired together: a website people can find, a scheduler that syncs with Google Calendar, and a payment account. Each client gets their own Stripe account plus a self-hosted booking system with no per-seat fees.

When a new client comes to us, we need three things working before anything else matters: a website people can find, a way for those people to book an appointment, and a way to collect payment. The website is the easy part. The payment and booking infrastructure is where the complexity hides.

For payments, each client gets their own Stripe account connected through our platform. Their payments, products, and invoices live in their own dashboard. They own their payment data. We manage the infrastructure so they do not have to think about it.

For booking, we use a self-hosted scheduling platform with no per-seat fees. The system provisions an account, creates the right event types, sets availability to match business hours, and syncs with Google Calendar so the booking page only shows genuinely available time slots.

The Google Calendar integration is where we almost lost a weekend. The API credentials must use a specific format: a JSON object wrapped in a particular key structure. Pass it in the wrong format and the integration silently fails for every user on the system. Not just the new one. Every existing user too.

We also learned that restarting the service does not re-read configuration changes. You must fully stop and restart the environment. This cost us hours of debugging. The lesson: when changing credentials, always do a full restart and verify the integration works before moving on.

The complete stack (payments + booking + calendar sync + client portal) now deploys in a single session through our automated workflow. What used to require a team coordinating across four platforms is now one coordinated pipeline. Your website, booking, and payments all live together.

online paymentsonline bookingStripeCal.comsmall business websitewebsite setup

What are the three things a website needs before anything else?

A website people can find, a way for those people to book an appointment, and a way to collect payment. The website is the easy part; the payment and booking infrastructure is where the complexity hides.

Who owns the payment data in this setup?

Each client gets their own Stripe account connected through the platform, so their payments, products, and invoices live in their own dashboard. They own their payment data while the platform manages the infrastructure.

What almost broke the Google Calendar integration?

The API credentials must use a specific format: a JSON object wrapped in a particular key structure. Pass it in the wrong format and the integration silently fails for every user on the system, not just the new one but every existing user too.

Why did restarting the service not fix the credential change?

Restarting the service does not re-read configuration changes. You must fully stop and restart the environment, so when changing credentials always do a full restart and verify the integration works before moving on.

Want to see these systems in action?

Start with a conversation. We will walk through how these workflows apply to your business.

Get your AI Roadmap