import React, { useEffect } from "react"; import { Button } from "@/components/ui/button"; import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; import { useCheckoutWizard } from "../WizardContext"; interface PaymentStepProps { stripePublishableKey: string; } export const PaymentStep: React.FC = ({ stripePublishableKey }) => { const { selectedPackage, paymentProvider, setPaymentProvider, resetPaymentState, nextStep } = useCheckoutWizard(); useEffect(() => { resetPaymentState(); }, [selectedPackage.id, resetPaymentState]); const isFree = selectedPackage.price === 0; if (isFree) { return (
Kostenloses Paket Dieses Paket ist kostenlos. Wir aktivieren es direkt nach der Bestaetigung.
); } return (
setPaymentProvider(value as 'stripe' | 'paypal')}> Stripe PayPal

Karten- oder SEPA-Zahlung via Stripe Elements. Wir erzeugen beim Fortfahren einen Payment Intent.

Integration folgt Stripe Elements wird im naechsten Schritt integriert. Aktuell dient dieser Block als Platzhalter fuer UI und API Hooks.

PayPal Express Checkout mit Rueckleitung zur Bestaetigung. Wir hinterlegen Paket- und Tenant-Daten im Order-Metadata.

Integration folgt PayPal Buttons werden im Folge-PR angebunden. Dieser Platzhalter zeigt den spaeteren Container fuer die Buttons.
); };