Payment providers
Stripe and manual adapters, webhook URL, and provider records.
Adapters live in features/integrations/payment: stripe and manual. Records are PaymentProvider rows on the Payments page.
Set keys
STRIPE_SECRET_KEY and STRIPE_WEBHOOK_SECRET.
Add the webhook
POST /api/payment-webhooks/{providerCode}, for example /api/payment-webhooks/pp_stripe_stripe. handlePaymentProviderWebhook verifies the signature and records a PaymentProviderEvent.
Check the provider
Onboarding seeds Stripe (installed) and Manual. Stripe fails until the keys are set.
Stripe creates Checkout Sessions and refunds. The manual adapter records payments staff take.