Connect your Payment Services
Connect Stripe or PayPal to your TidyCal account to accept payments for bookings. Payment processing is available on all plans, including the Free Plan.
Payment Services Overview
TidyCal supports two payment processors. You can connect both and choose which one to use for each booking type individually.
| Processor | Connection Method | Fees |
|---|---|---|
| Stripe (Recommended) | OAuth (secure authorization) | Stripe's standard processing fees (2.9% + $0.30). A 1% TidyCal platform fee is added to the client's total at checkout (OAuth connections only). |
| PayPal | Email address | Standard PayPal fees |
Plan availability: All plans (Free, Individual, Agency, and Pro) can accept payments for bookings.

Prerequisites
- A Stripe account (for Stripe payments)
- A PayPal account with a valid email address (for PayPal payments)
Connect with Stripe
Stripe is the recommended payment processor for TidyCal. The connection uses a secure OAuth flow through Stripe's authorization process.
Managed payouts (where TidyCal handles Stripe onboarding) are available in the US, Canada, UK, EU, and Switzerland. For other countries, connect your own Stripe account using the standard OAuth method.
Setup Steps
- In the sidebar, click Integrations (near the bottom, below Notifications).
- On the Integrations page, scroll to the Payments section (or open it directly at
tidycal.com/integrations/payments). - Click the "Connect with Stripe" button.
- You will be redirected to Stripe's authorization page.
- Authorize TidyCal to connect with your Stripe account (or create a new Stripe account).
- Once complete, you will be redirected back to TidyCal.
- You will see "Stripe account connected" with a green checkmark.
Tip: Your payments history lives on a separate page at tidycal.com/dashboard/payments. That page no longer has a sidebar link, so open it directly. If you have not yet connected a provider, it shows a Connect payment provider button that brings you back to Integrations → Payments.
Note: As of March 2026, new booking types default to Stripe as the payment processor. If you have both Stripe and PayPal connected, you can choose which processor to use per booking type in the Pricing & Subscriptions tab.
Stripe Fees
When you connect Stripe via OAuth, Stripe's standard processing fees are deducted from each payment. TidyCal's 1% platform fee is not taken out of your earnings — it is added to the client's total at checkout and shown to them as a separate Platform fee line item, so you receive the full price you set.
- Stripe processing fee: 2.9% + $0.30 per transaction (standard Stripe rate, deducted from your payment)
- TidyCal platform fee: 1% of the booking price, added on top of your price and paid by the client
Which plans pay it. The platform fee depends on your plan, and lifetime plans additionally choose who covers it:
| Plan | Platform fee | Choose who covers it |
|---|---|---|
| Free Plan | 1% | No — the control is shown but locked |
| Individual Lifetime | 1% | Yes |
| Agency Lifetime | 1% | Yes |
| Pro | None | n/a — there is no fee to assign |
On Individual Lifetime and Agency Lifetime, Settings → Bookings has a Platform fee card with an I'll cover the platform fee toggle. Leave it off and the fee is added to your client's total; switch it on and your client pays only the price you set while the fee comes out of your payout. If you hold Pro and a lifetime plan at the same time, Pro applies and no fee is charged. See TidyCal Settings for the control.
The TidyCal platform fee applies only to payments taken through a Stripe connection made via OAuth. Regardless of plan, the following carry no platform fee:
- PayPal payments — PayPal carries no TidyCal fee at all.
- Legacy Stripe API key connections — an API key connection has no platform relationship with TidyCal, so no fee can be added to it. These connections stop working on October 1, 2026 — see Legacy Stripe API Keys below.
- Cancellation and no-show fees — these are charged in full with no platform fee added.
- Accounts in countries where Stripe does not permit platform fees — Stripe blocks platform fees on connected accounts in a small number of countries. TidyCal detects this the first time it happens and stops adding the fee to your payments from then on. Your client is not affected and sees no error: the payment is retried automatically without the fee and completes normally.
What the fee applies to. On a Stripe OAuth connection the 1% fee is added to one-off paid bookings, recurring and package sessions, subscription charges, and Digital Storefront sales — including store products attached to a booking type.
Discounts are applied first. The fee is calculated on the amount your client actually pays, not on your list price. If a coupon brings a $100 booking down to $50, the platform fee is $0.50, not $1.00.
Disconnecting Stripe
To disconnect your Stripe account:
- In the sidebar, click Integrations, then scroll to the Payments section.
- Click the "Disconnect Stripe" button (red outline button).
Disconnecting removes the payment connection but does not affect past transactions processed through Stripe. Any booking types using Stripe will no longer collect payments until you reconnect.
Legacy Stripe API Keys
Action needed: API key connections stop working on October 1, 2026. If you connected Stripe by entering your own API keys, TidyCal is moving that connection over to Stripe Connect. Updating takes about a minute and keeps your paid bookings, subscriptions and payouts exactly as they are.
On Integrations → Payments, the Stripe card shows "Stripe connected via API keys — action needed" with the message "We're moving Stripe accounts over to Stripe Connect, so API key connections stop working on October 1, 2026." A warning banner also appears across the top of TidyCal until you update. "Remind me later" snoozes that banner for seven days, and stops snoozing it in the final week before the cutoff.
Update by September 30 and your TidyCal fees are waived through October 31, 2026. Reconnect before the deadline and no platform fee is charged on your payments until the waiver expires. Reconnecting after September 30 still migrates your account — it just does not earn the waiver.
To update your connection:
- In the sidebar, click Integrations, then scroll to the Payments section.
- Click "Update connection".
- Sign in to Stripe and authorize TidyCal.
Choose the same Stripe account you use today so nothing changes for your existing bookers. You can also click "Disconnect" to remove the legacy connection first, but that stops your booking types collecting payments until you reconnect.
Note: New Stripe connections can only be made via OAuth. API key entry is no longer available for new users.
Until you update, a legacy connection carries no platform fee. Because an API key connection has no platform relationship with TidyCal, the 1% platform fee cannot be added to payments taken through it. After you update, the fee applies as normal — unless you reconnected by September 30, in which case it is waived through October 31, 2026.
Connect PayPal
PayPal requires only your PayPal email address. No OAuth setup needed.
Setup Steps
- In the sidebar, click Integrations.
- On the Integrations page, scroll to the Payments section (or open it directly at
tidycal.com/integrations/payments). - Under PayPal, enter your email in the "PayPal email:" field.
- Click "Save PayPal email".
- You will see a confirmation message: "PayPal email updated."
Clients will be able to pay via PayPal checkout (PayPal account or guest credit card) when you enable paid bookings.
Removing PayPal
To disconnect PayPal, clear the email field and click "Save PayPal email" with an empty value. The PayPal connection will be removed.
Enable Payments on a Booking Type

After connecting a payment processor, you need to enable payments on each booking type individually:
- Go to Booking types
- Edit the booking type you want to charge for
- Go to the Pricing & Subscriptions tab and select Per booking
- Enter the price for the booking
- Select your preferred payment processor (Stripe or PayPal)
- Click "Update" (or "Create" if setting up a new booking type)
Note: You can use different payment processors for different booking types. For example, use Stripe for one booking type and PayPal for another.
If you have not connected the selected processor, you will see a warning: "Required: Connect your Stripe account." or "Required: Connect your PayPal account."
Currency Settings
The currency for payments is set in Settings → Preferences using a searchable dropdown. The selected currency applies to all booking types. TidyCal supports all currencies available through Stripe and PayPal.
What Your Client Sees

When a client selects a time for a paid booking type, they are prompted to complete payment via your connected provider. The booking is only confirmed after payment succeeds.
Where the platform fee applies, the checkout summary itemises the charge: your price, then a Platform fee line with a ? icon your client can hover for a short explanation, then the total they pay. The fee line is only shown when a fee is actually being charged.
Viewing Payment History
Open tidycal.com/dashboard/payments directly to view your payments history — this page no longer has a sidebar link. The page shows every completed and pending payment as a card, sorted by date.
Two card types appear in the same list:
- One-time booking payments — check icon (paid) or clock icon (pending), booking amount, attendee name, booking type title, Paid or Pending status, payment date, and an external-link icon to view the payment in Stripe or PayPal.
- Subscription renewals — repeat icon, renewal amount, subscriber name, subscription plan name, Paid status, payment date, and an external-link icon to the Stripe invoice.
Search: Use the Search payments... box in the header to filter by attendee or subscriber name or email.
Pagination: 10 payments per page.
Empty states you might see:
- "Start collecting payments" — shown when no payment provider is connected. Click Connect payment provider to open the Payments connection settings.
- "Get your first payment" — shown when you have a provider connected but no paid booking types yet. Click Go to booking types to create one.
- "Share your paid booking type" — shown when you have a paid booking type but no payments yet. Copy the booking link to share.
- "No payments matching 'query'" — shown when your search returns no results.
Coupon Codes
After connecting a payment processor, you can create coupon codes to offer discounts on paid bookings. Go to Coupons in the sidebar to create and manage discount codes.
Subscriptions require Stripe
If you plan to offer subscription-based booking types, you must connect Stripe. PayPal does not support recurring subscription billing. See Enable Additional Stripe Payment Methods to offer ACH, Apple Pay, and more.
Troubleshooting
Stripe authorization not completing
- Ensure you complete all steps in Stripe's authorization flow
- Stripe may require identity verification — check your email for Stripe requests
- Disable browser extensions that may block OAuth redirects (ad blockers, privacy extensions)
- Try using a different browser or incognito/private mode
- If the problem persists, contact support@tidycal.com
PayPal payments not going through
- Verify the PayPal email address is correct and associated with an active PayPal Business account
- The email must be 191 characters or fewer
- Ensure the currency you set in TidyCal is supported by your PayPal account
- Check that the booking type has payments enabled and PayPal selected as the processor
Clients do not see payment option
- Confirm you have selected Per booking in the Pricing & Subscriptions tab of the booking type editor
- Verify a payment processor is connected on the Integrations → Payments page
- Check that you selected a payment processor for the booking type
Client reports payment failed
On Stripe, TidyCal has usually already taken the first step for you. A declined payment holds the client's time slot for about four hours and emails them a link to finish paying, so the booking is not lost. Check it on your Bookings page — a Payment failed badge means the hold is running. See What Happens When a Booking Payment Fails for the full sequence and how to switch the hold off.
- Give it a little time first. The recovery email goes out about 30 minutes after the decline, and most clients retry successfully on their own.
- Your client can switch to a different card or payment method from the link in that email — you do not need to send them anything.
- Check your Stripe or PayPal dashboard for the decline reason. Declines come from the client's bank, not from TidyCal.
- For Stripe, ensure your account is fully activated (not in test mode).
- PayPal bookings are only recorded once payment succeeds, so a failed PayPal payment leaves no booking to recover.
- If the issue persists, contact support@tidycal.com.
Where to check the status. The Bookings page is the view that shows a declined payment, using a Payment failed badge. The payments history page lists each payment as either Paid or Pending, so a declined payment that is still inside its retry window appears there as Pending.
Frequently Asked Questions
Can Free Plan users accept payments?
Yes. Payment processing is available on all plans, including the Free Plan. Connect Stripe or PayPal and enable payments on any booking type.
Can I connect both Stripe and PayPal at the same time?
Yes. You can connect both payment processors and select which one to use for each booking type individually. However, each individual booking type can only use one payment processor at a time.
Does TidyCal charge a platform fee?
Yes, but it is not deducted from your earnings. TidyCal adds a 1% platform fee to the client's total when they pay through a Stripe connection made via OAuth, and the client sees it as a separate Platform fee line item at checkout. You receive the full price you set, minus only Stripe's standard processing fees. PayPal payments go directly to your PayPal account with PayPal's standard fees and no TidyCal fee.
No platform fee is added to PayPal payments, to legacy Stripe API key connections, or to cancellation and no-show fees. See Stripe Fees for the full list and for how the fee interacts with coupons.
I connected Stripe with API keys. Do I need to switch?
Yes. API key connections stop working on October 1, 2026. TidyCal is moving every Stripe account over to Stripe Connect, and after that date a legacy connection can no longer collect payments.
Until then your existing connection still works and carries no TidyCal platform fee, because a legacy connection has no platform relationship with TidyCal. That changes once you update — but if you reconnect by September 30, your TidyCal fees are waived through October 31, 2026.
Go to Integrations → Payments and click "Update connection", choosing the same Stripe account you use today. See Legacy Stripe API Keys above.
How do I issue refunds?
Refunds are processed through your payment processor's dashboard (Stripe Dashboard or PayPal). TidyCal does not process refunds directly. See Refunds for details.
When you refund a booking payment that carried a platform fee, the platform fee is returned along with it — your client gets back the full amount they paid, including the Platform fee line. Partial refunds return a proportional share of the fee, so refunding half a booking returns half the fee.
What currencies are supported?
TidyCal supports all currencies available through Stripe and PayPal. Set your currency in Settings → Preferences.