Add PayPal integration, fix gift popup buttons, add marketing segment
- Add PayPal as a payment method in the checkout flow
- Enable PayPal toggle in admin settings (default: enabled)
- Update payment form to include PayPal in payment method tabs
- Update checkout UI to mention PayPal in accepted payment methods
- PayPal uses existing Stripe Payment Intents infrastructure (no separate API needed)
- Works alongside card, Apple Pay, Google Pay, Link payments
- Fix invisible close (X) and minimize (-) buttons on gift card popup
- Change buttons from dark text on dark background to white circular buttons with shadows
- Add proper contrast with white/90 background and stone-900 icons
- Improve mobile experience with larger touch targets (p-1.5 padding)
- Buttons now clearly visible and easily dismissible
- Add 9th customer segment: '🛍️ All Customers Who Ordered'
- Criteria: totalOrders >= 1 (at least 1 order placed)
- Appears in /admin/marketing/segments dashboard
- Available in campaign builder and segment exports
- Useful for targeting all past customers regardless of order frequency
- src/components/checkout/payment-form.tsx
- src/app/admin/settings/page.tsx
- src/app/api/admin/settings/route.ts
- src/app/[locale]/checkout/page.tsx
- src/components/marketing/email-signup-popup.tsx
- src/app/api/admin/marketing/segments/dynamic/route.ts
- src/components/admin/marketing/segment-selector.tsx
- docs/stripe/PAYPAL_INTEGRATION.md (complete PayPal integration guide)
- docs/bugfixes/GIFT_POPUP_BUTTON_FIX.md (button visibility fix details)
- docs/email-marketing/NEW_SEGMENT_ALL_CUSTOMERS_WHO_ORDERED.md (segment guide)
- docs/implementation/PAYPAL_SESSION_SUMMARY.md (session details)
- docs/implementation/TASK_COMPLETION_STATUS.md (full task list)
- PAYPAL_TASKS_QUICKREF.md (quick reference card)
- IMPLEMENTATION_COMPLETE.md (master summary)
- SESSION_COMPLETE.md (session overview)
- PayPal requires enabling in Stripe Dashboard (Settings > Payment Methods)
- No breaking changes
- All existing functionality preserved
- Fully tested and documented
90c1b12View on GitHub →