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.
- Copy the webhook address from the guide.
- At Stripe, create a webhook with this address under “Developers” → “Webhooks” → “Add destination” (in older views “Add endpoint”).
- Enable the event types CourseKit lists there (“Copy all” helps).
- 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.