Summary
Capture a payment method at booking and charge it when the booking is confirmed, using Laravel Cashier. No Stripe invoicing, no tax.
Spec references
- §5.6 (Payments), §10b (Money), §9
Requirements
- Team is the Cashier Billable entity (already configured in M0).
- Capture payment method at booking via Cashier
setupIntent / stored method; charge on confirm.
payments records method (card|cash), stripe_payment_method_id, total, charged_at, status.
Acceptance criteria
Mobile behavior
Card entry via Stripe Elements; big pay button; clear cash-option toggle.
Config over code
Amounts from 8.2 / rate_config.
Tests
- setupIntent stores a method at booking; confirm triggers a charge.
- Cash booking skips charge, marks owed.
- No tax added to any total.
Definition of done
Charge-on-confirm via Cashier; cash path; no invoicing; no tax.
Summary
Capture a payment method at booking and charge it when the booking is confirmed, using Laravel Cashier. No Stripe invoicing, no tax.
Spec references
Requirements
setupIntent/ stored method; charge on confirm.paymentsrecords method (card|cash), stripe_payment_method_id, total, charged_at, status.Acceptance criteria
setupIntent/ stored method on the Team), CHARGED when the booking reachesconfirmed— via staff approval (first-timers) or auto-confirm (established) (§10b).Mobile behavior
Card entry via Stripe Elements; big pay button; clear cash-option toggle.
Config over code
Amounts from 8.2 /
rate_config.Tests
Definition of done
Charge-on-confirm via Cashier; cash path; no invoicing; no tax.