Square-hosted checkout
Collect a service deposit without handling card data.
This creates a Convex order, asks Square for a hosted checkout link, and redirects the customer to Square. Payment status only becomes final after the verified Square webhook updates Convex.
Convex is the order ledger. Square is the payment processor.