Skip to main content
Connect your organization’s Stripe account to sell learning through Juno. Set a price on any unit — a Course, quiz, or Journey — and learners pay for it at Stripe Checkout. People who haven’t bought a priced unit can’t open it.
Selling with Stripe is turned on per organization. If you don’t see the Stripe card, contact your Juno account team to enable it. Each organization connects its own Stripe account — prices and payments live in your Stripe account, not a shared one.

Connect Stripe

Open Settings → Integrations → Stripe and work through the form.
1

Choose Test or Live mode

Use Test while you’re setting things up, Live to take real payments. Your keys must match the mode — test keys with Test, live keys with Live.
2

Copy the webhook endpoint URL

The card shows a webhook endpoint URL for your organization. Copy it — you’ll paste it into Stripe next.
3

Create the webhook in Stripe

In your Stripe dashboard, create a webhook endpoint pointing at that URL and subscribe to these events:Then copy the webhook’s signing secret.
4

Enter your keys

Back in Juno, enter your Stripe account email, secret key, publishable key, and the webhook signing secret, then connect. Juno checks the key formats and verifies them with Stripe before saving. Your secret key and signing secret are stored securely and never shown back to you.
The connect form only prompts you to subscribe checkout.session.completed. Also subscribe checkout.session.async_payment_succeeded and charge.refunded so delayed payments and refunds work correctly.

After connecting

The card shows your account email, mode, publishable key, and the last four digits of your secret key. If your keys ever stop working, the card shows a warning with a Reconnect option. To disconnect, select Disconnect and confirm. Learners can’t buy content while you’re disconnected, but your Stripe account and its products aren’t deleted — reconnect any time to resume selling.

Price a unit

Open a unit’s settings and find the Pricing section.
  1. Turn on the sell toggle.
  2. Set a price and currency. Currencies that don’t use decimal places (such as JPY) take whole numbers only.
  3. Optionally set a discount price — it must be lower than the price, and shows as a struck-through original next to the discounted amount.
  4. Save.
Saving creates or updates a matching product and price in your Stripe account. Changing the price later creates a new Stripe price and retires the old one, so your Stripe catalog always matches what learners see.
If Juno can’t sync the price to Stripe, the save is rejected so pricing never drifts out of step. If Stripe is disconnected or your keys are invalid, reconnect in Settings and save again. For a temporary Stripe error, try again in a moment.
To stop selling a unit, turn the sell toggle off or set the price to zero — it becomes free again and the paywall no longer applies.

What learners see

On priced units, catalog cards show a price and a lock. Once a learner owns the unit, the lock turns green and open. Free content and external providers are unaffected — no price, no lock.

Buying

Selecting Buy opens Stripe Checkout in a new tab, where the learner pays (promo codes are accepted). Juno waits for payment and enrols them automatically once it’s complete — the learner lands on the unit, ready to start.
If the learner’s browser blocks the new tab, Juno shows an Open checkout link they can select to continue.

The paywall

If a learner opens a link straight to a paid unit they haven’t bought, they see an Unlock this content paywall instead of the content, with the price and a buy option. The content stays locked everywhere it could be reached — opening the unit, its content and questions, external (xAPI) launches, and public links.

Access and refunds

Buying requires signing in, so a purchase is always tied to the buyer. Some people can open a paid unit without buying it:
  • Content admins and the unit’s creator or co-editors.
  • Learners who were assigned the unit by an admin.
Refunds are handled in your Stripe dashboard. A full refund revokes the learner’s access to the unit, but their learning progress is kept — if they buy again, they pick up where they left off. Partial refunds don’t change access.

Troubleshooting

Last modified on August 3, 2026