Skip to content
← All guides

Selling and access

Connecting Stripe

Create a webhook, create a restricted key, keep test and live mode apart.

Create the webhook

Under “Sales” → Stripe “Set up”, a guide walks you through every step and shows at the end whether a test purchase actually arrives. This page describes each step in detail. Start in test mode and repeat the steps in live mode afterwards.

The sketch beside the Stripe guide: the webhook destination at Stripe, its numbers belong to the guide's steps.
  1. Copy the webhook address from the guide.
  2. At Stripe, create a webhook with this address under “Developers” → “Webhooks” → “Add destination” (in older views “Add endpoint”).
  3. Enable the event types CourseKit lists there (“Copy all” helps).
  4. Save the endpoint's signing secret (starts with whsec_) in CourseKit.

Restricted API key

Stripe does not always send events in the right order. CourseKit therefore reloads the current state directly from Stripe for every event. That needs a restricted key (starts with rk_live_ or rk_test_) with read access to checkout sessions, subscriptions, customers, invoices, charges and disputes.

Note: Please do not enter a full secret key – CourseKit rejects it.

Test and live mode

A test key only processes test events, a live key only real payments. That way a test purchase never unlocks real access.

You map products in the course under “Sales”, just like with CopeCart – with the product ID (prod_…) or the price ID (price_…). In test mode the same product has a different ID than in live mode.