wiki/knowledge/woocommerce/bookly-zero-dollar-service-card-capture.md Layer 2 article 702 words Updated: 2025-12-12
↓ MD ↓ PDF
bookly square woocommerce integration payments card-capture

Bookly $0 Service Card Capture Pattern

Overview

A common requirement for appointment-based businesses is capturing a credit card on file during booking for a zero-dollar service — typically to enable pre-appointment authorization or no-show protection. Implementing this flow through Bookly with Square as the payment processor is non-trivial and has known failure modes.

This article documents what is known about the pattern, where it breaks down, and the investigation status as of December 2025.

The Desired Flow

  1. Customer selects a service priced at $0 (e.g., a free consultation or intake appointment).
  2. During the Bookly booking flow, the customer is prompted to enter credit card details.
  3. The booking completes successfully.
  4. The card data is stored in Square for later use (pre-authorization, charging for no-shows, etc.).

This is a legitimate and well-documented use case in the appointment booking space. The challenge lies in whether Bookly's Square integration supports it natively.

Known Failure Point

In testing on the [1] project, the booking flow completes without error — but the card data does not appear in the Square dashboard. The transaction registers as complete on the Bookly/WordPress side, while Square receives no card information.

Developer finding (Eshock): After investigating the custom integration code, the conclusion was that the issue originates with Square's API behavior for $0 transactions, not with the custom code itself. Square may not process or store card data when the transaction amount is zero, depending on how the API call is structured.

Root Cause Hypotheses

  1. Square API does not support $0 card-on-file capture via the standard Payments API. Square's card-on-file flow typically requires using the Cards API or Customer API separately from a payment transaction. A $0 charge may not trigger the card storage pathway.
  2. Bookly's Square integration does not implement the Cards API. Bookly may only pass card data through the standard payment flow, which fails silently for $0 amounts.
  3. Plugin limitation: Bookly may not natively support the $0 service + card capture combination, requiring custom API calls outside of what the plugin provides.

Investigation Status

As of the December 12, 2025 sync call, this issue is unresolved and actively blocked.

Potential Workarounds

These have not yet been validated but are worth exploring:

References