Docs /Stripe Integration Dashboard →

Stripe Integration

Automatically generate download tokens when customers complete payments through Stripe.

Overview

The Stripe integration listens for successful payment webhooks and automatically creates download tokens for digital products. This works great for custom checkout flows, subscription services, or direct payment links.

Prerequisites: Stripe delivery is platform-managed — Continuata verifies events through a single platform webhook. Contact support@continuata.com to enable Stripe for your account, then include the metadata below on every Checkout Session you create.

Step 1: Add Checkout Session Metadata

Continuata reads metadata from the Checkout Session, not the Stripe Product. Set these keys when creating each session:

Checkout Session Metadata

orgId:     your Continuata Organisation ID (Settings → Organization)
productId: your Continuata product ID (a UUID, shown on the product page)
sku:       alternative to productId — a key mapped under the product's
           External Mappings panel (vendor: Stripe)

Required: orgId plus either productId or sku. SKU matching is case-insensitive. Sessions without these keys cannot be matched to a product and no download is delivered.

Step 2: How Delivery Works

Continuata's platform webhook receives checkout.session.completed and creates the customer, the purchase, and a download token, then emails the customer their download link. charge.refunded marks the matching purchase as refunded. No other Stripe events trigger delivery.

Not supported: Payment Intents without a Checkout Session. Always sell through Stripe Checkout (or Payment Links, which create Checkout Sessions under the hood).

Step 3: Verify

There is nothing to configure under Settings → Integrations — Stripe is platform-level, so it does not appear in the provider list. To confirm everything works, make a test-mode payment and check Dashboard → Purchases (test purchases are flagged) and Logs → Webhooks for the received event.

Checkout Flow Examples

Stripe Checkout

const session = await stripe.checkout.sessions.create({
  payment_method_types: ['card'],
  line_items: [
    {
      price_data: {
        currency: 'usd',
        product: 'prod_epic_drums', // Stripe product ID
        unit_amount: 4999, // $49.99
      },
      quantity: 1,
    },
  ],
  mode: 'payment',
  success_url: 'https://yoursite.com/success',
  cancel_url: 'https://yoursite.com/cancel',
  customer_email: 'customer@example.com',
  metadata: {
    orgId: 'org_abc123', // Settings → Organization
    productId: '3f6c9a1e-8d2b-4c7a-9e1f-2a5b8c3d7e90' // or sku: 'EPIC-DRUMS'
  }
});

Email Delivery

Configure how customers receive their download links:

Continuata Email Service

  • Professional branded templates
  • High deliverability rates
  • Automatic retry logic
  • No additional setup required

Custom Email Integration

  • Use your own email service
  • Custom branding and templates
  • Combined with order confirmations
  • Requires webhook handling

Testing

Test your Stripe integration safely:

  1. Use Stripe's test mode with test payment methods
  2. Create a test checkout session with your configured product
  3. Complete the test payment
  4. Verify download token was created in Continuata dashboard
  5. Test the download link functionality
  6. Check webhook logs in both Stripe and Continuata dashboards

Ready for Production? Once testing is complete, switch to Stripe live mode and update your webhook URL. See webhook documentation for troubleshooting.