IntegrationsStripe Connect — Sell Courses (Payments)

Stripe Connect — Sell Courses (Payments)

Who this guide is for: Tenant administrators who want to sell courses to the public through EmbayLMS. Connecting Stripe is the first step of the buy-loop — it is required before you can price a course for sale or take a payment.

This is NOT your EmbayLMS subscription. Two different Stripe relationships exist:

  • Your EmbayLMS bill (what Embay charges you) is managed under Admin → Billing — you don’t need Stripe Connect for that.
  • Selling courses (what your learners pay you) uses Stripe Connect, described here. The money goes to your Stripe account; EmbayLMS never holds it.

What connecting does

EmbayLMS uses Stripe Connect with Standard accounts. That means:

  • You connect (or create) your own Stripe account. You keep full ownership: your Stripe Dashboard, your payouts, your disputes, your reporting, your tax settings.
  • When a learner buys a course, the charge is created on your connected account. EmbayLMS applies a small platform fee (see Platform fees) and the remainder settles to you on your normal Stripe payout schedule.
  • Card details are entered only on Stripe’s hosted pages — EmbayLMS never sees or stores card numbers.

Before you start

RequirementNotes
Admin roleOnly tenant admins can connect, refresh, or disconnect Stripe.
A Stripe account (or willingness to create one)Standard onboarding lets you sign in to an existing Stripe account or create a new one on the spot.
Business detailsStripe will ask for your legal entity, bank account for payouts, and identity verification. Have these ready to reach “ready to accept payments” in one sitting.

Connect your Stripe account

  1. Go to Admin → E-commerce → Payments.
  2. Click Connect Stripe. You are redirected to Stripe’s hosted onboarding.
  3. Sign in to your existing Stripe account, or create a new one.
  4. Complete Stripe’s forms (business profile, bank account, identity verification).
  5. When you finish, Stripe returns you to the Payments tab. EmbayLMS pulls your latest status automatically and shows where you stand.

If you step away partway through, your progress is saved. Return to the Payments tab and click Continue on Stripe to pick up where you left off.

Reading your status

The Payments tab shows three capability flags, mirrored live from Stripe:

FlagMeaning
OnboardingSubmitted once you’ve completed Stripe’s onboarding forms.
PaymentsEnabled once Stripe has approved you to accept charges. This is the flag that lets you sell.
PayoutsEnabled once Stripe will pay out collected funds to your bank.

You are ready to accept payments when the Payments flag is Enabled. Stripe sometimes enables charges before payouts (or vice-versa) while it finishes reviewing your account — that’s normal and resolves on Stripe’s side.

Click Refresh status any time to re-pull the latest state from Stripe. EmbayLMS also updates automatically in the background whenever Stripe reports a change.


Platform fees

EmbayLMS adds an application fee to each sale (configured platform-side under LMS-320). The fee is deducted automatically at charge time; you receive the remainder. Your Stripe Dashboard shows both the gross charge and the application fee on every payment.


Disconnecting

On the Payments tab, click Disconnect to remove the link between EmbayLMS and your Stripe account.

  • Disconnecting stops new sales through EmbayLMS immediately.
  • It does not close, delete, or affect your Stripe account — that account is yours. Past payouts, disputes, and history remain in your Stripe Dashboard.
  • You can reconnect later; you’ll start a fresh connection from the Connect Stripe button.

You can also revoke EmbayLMS from your Stripe Dashboard (Settings → Connected apps). If you do, EmbayLMS is notified and drops the link on its side automatically.


Collecting sales tax (GST/HST)

Once your account can take charges, the Payments tab shows a Collect sales tax (GST/HST) toggle. When it’s on, EmbayLMS enables Stripe Tax on checkout: the buyer’s billing address is collected and Stripe calculates Canadian GST/HST, adds it on top of the course price, and the tax appears on the order and receipt.

  • Set up your tax registrations in your own Stripe Dashboard first (Stripe → Tax). EmbayLMS only flips Stripe Tax on; your registrations determine what is charged where.
  • The toggle is off by default — nothing changes for existing sellers until you turn it on.

Refunds

Refund a sale (in full or in part) from Admin → E-commerce → Orders → open the order → Issue refund. The refund is processed on your connected account and returns the platform fee proportionally. A full refund also revokes the buyer’s access to the course. Refunds and chargebacks are reflected on the order status automatically.


Configuration reference

FieldWhereDescription
Account typeFixed (Standard)EmbayLMS uses Standard Connect accounts — you own the full Stripe relationship.
Connected accountPayments tabThe connected account id is shown masked (last 4). One account per tenant.
Onboarding / Payments / PayoutsPayments tabLive capability flags mirrored from Stripe.
Collect sales tax (GST/HST)Payments tabOpt-in Stripe Tax on checkout. Off by default; requires your Stripe tax registrations.

Troubleshooting

SymptomCauseFix
”Payments are not available yet”The platform hasn’t enabled the payments engine (STRIPE_SECRET_KEY unset).Contact your EmbayLMS administrator — this is a platform-level setting, not something you configure.
Stuck on “Setup incomplete” after returning from StripeStripe still needs more information (identity, bank account) before enabling charges.Click Continue on Stripe and finish every requested step. Use Refresh status afterward.
Status looks staleThe background sync (account.updated) hasn’t been delivered yet, or the Connect webhook isn’t configured on the platform.Click Refresh status to pull live from Stripe.
Payments enabled but Payouts still pendingStripe is still verifying your bank/identity for payouts.No action needed in EmbayLMS — complete any remaining verification in your Stripe Dashboard.
Learner charged but you want to stop sellingDisconnecting stops future sales; it does not refund existing orders. Refund individual orders from Admin → E-commerce → Orders (or from your Stripe Dashboard).

  • Course pricing — set a price on a course under the course editor’s Pricing tab.
  • Coupons — create discount codes under Admin → E-commerce → Coupons.
  • In-app Integrations menu