Available payment integrations
Stripe
PayPal
Alby
HitPay
Other payment options
- BTCPay Server - Self-hosted Bitcoin payment processor
- Razorpay - India-focused payment gateway (via Stripe integration)
- PayPal Business - Advanced PayPal features for businesses
How payment integrations work
When a payment app is enabled for an event type:User initiates booking
Payment prompt
Payment processed
Booking confirmed
Stripe
Stripe is the most popular payment processor for Cal.com, supporting credit cards, debit cards, Apple Pay, Google Pay, and many regional payment methods.Setup instructions
Create a Stripe account
Install Stripe integration
Connect your Stripe account
Grant permissions
Enable in event types
Features
- Multiple payment methods - Credit cards, debit cards, Apple Pay, Google Pay, ACH, SEPA, and 40+ others
- Global currency support - 135+ currencies
- Automatic tax - Calculate and collect tax with Stripe Tax
- Subscriptions - Charge recurring fees (requires custom setup)
- Refunds - Process refunds from Stripe dashboard
- Security - PCI compliant, 3D Secure support
- Detailed reporting - Revenue analytics and financial reports
Configuration
When enabling Stripe for an event type:Testing Stripe integration
Stripe provides test mode for development:- Test card numbers
- Switching to live mode
- Success: 4242 4242 4242 4242
- Decline: 4000 0000 0000 0002
- 3D Secure: 4000 0027 6000 3184
Troubleshooting
Payment page not loading
Payment page not loading
- Verify Stripe integration is connected in Settings > Apps
- Check that event type has a price configured
- Ensure Stripe account is activated (not in restricted mode)
- Re-authenticate by disconnecting and reconnecting Stripe
Payments failing
Payments failing
- Check Stripe dashboard for error messages
- Verify you’re not in test mode when accepting real payments
- Confirm your Stripe account can accept the payment method being used
- Check for sufficient funds or card limits on the customer’s end
Refund requests
Refund requests
- Go to Payments > All payments
- Find the charge
- Click Refund
- Cal.com booking remains unless manually cancelled
PayPal
PayPal integration lets customers pay with their PayPal balance, linked bank accounts, or credit cards via PayPal checkout.Setup instructions
Create PayPal Business account
Install PayPal integration
Connect with PayPal
Configure event types
Features
- PayPal balance payments - Customers can pay from PayPal accounts
- Credit card processing - Accept cards without Stripe
- Buyer protection - PayPal’s purchase protection for customers
- International support - Available in 200+ countries
- Multi-currency - Accept payments in 25+ currencies
Alby (Bitcoin Lightning)
Alby lets you accept Bitcoin payments via the Lightning Network - instant, low-fee Bitcoin transactions.Setup instructions
Create Alby account
Install Alby integration
Connect wallet
Set Bitcoin pricing
Features
- Lightning Network - Instant settlement, minimal fees
- No chargeback risk - Bitcoin transactions are final
- Global payments - No geographic restrictions
- Privacy-focused - Pseudonymous transactions
- Low fees - Typically < 1% compared to 3% for credit cards
HitPay
HitPay specializes in APAC payment methods, including popular e-wallets and banking apps in Asia.Setup instructions
Create HitPay account
Complete verification
Install HitPay integration
Connect account
Supported payment methods
- E-wallets - GrabPay, PayNow, AliPay, WeChat Pay
- Bank transfers - FPX (Malaysia), PayNow (Singapore)
- Credit cards - Visa, Mastercard, Amex
- Buy Now Pay Later - Atome, Grab PayLater
BTCPay Server
BTCPay Server is a self-hosted, open-source Bitcoin payment processor - no third-party accounts required.Setup instructions
Deploy BTCPay Server
Create a store
Generate API key
Install integration
Features
- Self-hosted - Complete control over your payment processing
- No KYC - No account registration with third parties
- No fees - Only Bitcoin network transaction fees
- Privacy - Your server, your data
- Lightning support - Accept Lightning Network payments
- Altcoins - Optional support for other cryptocurrencies
Configuring paid event types
Setting up pricing
To make an event type paid:Edit event type
Add payment
Select processor
Enter price
Save changes
Pricing options
Payment on booking page
When users book a paid event:- They fill out booking form (name, email, etc.)
- Click “Continue” or “Book”
- Redirected to payment processor
- Enter payment information
- Submit payment
- Redirected back to Cal.com with confirmation
Refunds and cancellations
Refund policy
Cal.com does not automatically process refunds. You must handle refunds manually:- User cancels booking (optional)
- You decide whether to issue refund based on your policy
- Process refund in payment processor dashboard (Stripe, PayPal, etc.)
- Cal.com booking can be cancelled separately
Processing refunds
- Stripe
- PayPal
- Bitcoin (Alby, BTCPay)
- Go to Stripe Dashboard > Payments
- Find the charge for the booking
- Click “Refund” button
- Choose full or partial refund
- Confirm refund - customer receives funds in 5-10 business days
Payment security
Best practices
Environment variables (self-hosted)
Self-hosted Cal.com requires API credentials for payment integrations:Troubleshooting
Payment integration won’t connect
- Verify you’re using a Business account (for PayPal)
- Check that API credentials are correct (for self-hosted)
- Ensure your payment processor account is activated
- Try disconnecting and reconnecting
- Check browser console for error messages
Bookings created without payment
- Verify “Require payment” is enabled in event type settings
- Check that a payment processor is selected
- Ensure price is set to a value > 0
- Test the booking flow end-to-end
Webhooks not working (self-hosted)
For Stripe webhooks:- Configure webhook endpoint:
https://yourdomain.com/api/integrations/stripepayment/webhook - Select events:
checkout.session.completed,payment_intent.succeeded - Copy webhook secret to environment variable:
STRIPE_WEBHOOK_SECRET