Add checkout confirmation button for free carts with coupons
When coupons reduced cart total to $0, the checkout page displayed no button to finalize the order. This occurred because the Stripe button only appears with active_card, and crypto buttons only appear when cart.requires_payment is True. Users without saved payment methods were unable to complete free orders.
Added dedicated "Confirm Free Checkout" button that displays when cart.requires_payment is False, allowing users to finalize free orders. Enhanced test coverage to verify button appears in checkout page HTML.
Summary by CodeRabbit
-
New Features
- Added a dedicated confirmation step for free checkouts, displaying a “Yes, Confirm Free Checkout” button when no payment is required.
- Provides an alternative confirmation path while leaving the paid checkout experience unchanged.
-
Tests
- Updated functional tests to verify the presence and behavior of the free-checkout confirmation UI.
Edited by CodeRabbit