-
Notifications
You must be signed in to change notification settings - Fork 0
Payments
Tom Caswell edited this page May 2, 2026
·
1 revision
The plugin supports two payment methods: Square (credit card) and Venmo. Payment processing is handled in Caswell_Booking_Handler (see Architecture).
- Client-side: The Square Web Payments SDK tokenizes the client's card information in the browser. No raw card data reaches the server.
-
Server-side: The token is sent to the Square
v2/paymentsendpoint to charge the card. -
Storage: The Square payment ID is stored in the
square_payment_idcolumn of the booking record (see Database-Schema). -
Refunds: Available via
Caswell_Booking_Handler::refund_square(), using the stored payment ID.
Square credentials (App ID, Location ID, Access Token) and sandbox mode toggle are managed in Admin-Settings.
- Client selects Venmo as their payment method during booking.
- The booking is created with
payment_status = 'unpaid'. - After confirmation, the client is shown the practitioner's Venmo username and a deep link to complete payment outside the plugin.
The Venmo username and per-length pricing are configured in Admin-Settings.
The payment_status field on each booking tracks whether payment has been received:
-
paid— Payment completed (Square transactions) -
unpaid— Payment pending (Venmo bookings, or failed transactions)
See Database-Schema for the full bookings table structure and AJAX-Endpoints for the booking submission and cancellation actions.
Getting started
How it works
- Architecture
- Database Schema
- Scheduling
- Google Calendar
- Notifications
- Email Deliverability
- Authentication
- AJAX Endpoints
Payments
Other