-
Notifications
You must be signed in to change notification settings - Fork 0
Payment Configuration
Tom Caswell edited this page Apr 1, 2026
·
1 revision
The plugin supports two payment methods: Square (card payments) and Venmo (manual transfer).
- A Square Developer account
- SSL certificate on your WordPress site (required for PCI compliance)
- Create an application in the Square Developer Dashboard
- Copy your Application ID and Access Token
- Find your Location ID in the Square Dashboard under Locations
- Go to Settings → Caswell Booking → Square and enter:
| Field | Description |
|---|---|
| Application ID | Square app ID (starts with sandbox-sq0... or sq0...) |
| Location ID | Your Square location ID |
| Access Token | Encrypted on save |
| Sandbox Mode | Enable for testing (uses Square sandbox environment) |
With sandbox mode enabled:
- Uses
sandbox.web.squarecdn.comSDK - Payments go to
connect.squareupsandbox.com - Use Square's test card numbers
Session prices are configured in Settings → Venmo tab (shared pricing for both methods) and Settings → Business Info → Service Pricing (for homepage display).
Venmo is a "pay later" option — the booking is created with payment_status = 'unpaid', and the client is shown Venmo details after confirmation.
Go to Settings → Caswell Booking → Venmo:
| Field | Description |
|---|---|
| Venmo Username | Your @username (shown to clients) |
| Price — 30/60/90 min | Amount shown in the Venmo deep link |
- Client selects "Pay via Venmo" during booking
- Booking is created as unpaid
- Confirmation screen shows the Venmo username and a deep link to the Venmo app
- Client sends payment manually
Square payments can be refunded programmatically via Caswell_Booking_Handler::refund_square(). The payment ID is stored with each booking for this purpose.
Getting started
How it works
- Architecture
- Database Schema
- Scheduling
- Google Calendar
- Notifications
- Email Deliverability
- Authentication
- AJAX Endpoints
Payments
Other