Zoeken

Zoek in Kavel...

Documentatiemenu

Betalingen

Stripe-abonnementen op de edge, checkout, een facturatieportaal en webhooks met handtekeningverificatie.

Let op

Betalingen vereist de auth-module, abonnementen zijn aan een gebruiker gekoppeld. De CLI selecteert die automatisch voor je.

Wat je krijgt

  • Getypeerde oRPC-procedures (createCheckoutSession, createPortalSession en getSubscription) allemaal achter requireAuth
  • Een webhook op /api/stripe/webhook die handtekeningen verifieert en de abonnementsrij van elke gebruiker bijwerkt
  • Een /billing-pagina die checkout start en naar het Stripe-klantportaal linkt

Edge-native Stripe

Er is geen Node-runtime op Workers, dus de module gebruikt Stripe's fetch-gebaseerde HTTP-client en de Web Crypto-SubtleCrypto-provider om webhook-handtekeningen asynchroon te verifiëren, geen node_compat nodig.

ts
const event = await stripe.webhooks.constructEventAsync(
  payload,
  signature,
  env.STRIPE_WEBHOOK_SECRET,
  undefined,
  Stripe.createSubtleCryptoProvider(),
);

Opzetten

  1. Maak een terugkerende prijs in Stripe en kopieer de id naar STRIPE_PRICE_ID.
  2. Voeg STRIPE_SECRET_KEY toe (gebruik een sk_test_…-sleutel tijdens ontwikkeling).
  3. Forward webhooks lokaal en kopieer de signing secret naar STRIPE_WEBHOOK_SECRET.
bash
stripe listen --forward-to localhost:8787/api/stripe/webhook

Tip

Zonder Stripe-sleutel blijven de checkout-endpoints slapen, dus de rest van de app bouwt en draait gewoon. Zie Deployment voor de productie-webhook-setup.