Skip to main content

Issue refunds and manage disputes

How to refund students, handle chargebacks, and understand how funds are affected under Teachable Payments.

This article covers a feature of Teachable Payments, our new payments experience powered by Stripe. Learn more.

Under Teachable Payments, refunds and disputes are funded directly from your Teachable Payments account balance. This article covers Teachable's refund policy, how to issue refunds, and how to manage disputes if a student files a chargeback.

Refunds

Refund policy

By default, students are eligible for a full refund within 14 days of their initial payment for course purchases. This is Teachable's standard refund policy and applies to all Teachable Payments schools.

Product type

Default refund window

Notes

Courses

14 days

Teachable's standard policy per Terms of Use

Coaching

Creator's discretion

Can be refunded manually within 1 year

Digital downloads

Creator's discretion

Can be refunded manually within 1 year

Bundles containing coaching or downloads

Creator's discretion

Can be refunded manually within 1 year

Note: Refunds after 1 year cannot be processed from your admin. Contact Teachable support to request a refund outside this window. A $10,000 USD daily refund cap applies — additional refunds can be processed the following day. If you do not have a positive balance in your Teachable Payments account, you will not be able to issue refunds.

How refunds are funded

Under Teachable Payments, refunds are drawn directly from your Teachable Payments account balance. If a refund results in a negative balance on your Teachable Payments account, any subsequent earnings will be retained by Teachable against that negative balance, and subsequent refunds will be blocked, until a positive balance in your Teachable Payments account is reached.

Important: Processing fees from the original transaction still apply when a refund is issued. This amount is drawn directly from your Teachable Payments account balance.

What if my balance is insufficient?

If your Teachable Payments account balance goes negative, refunds from within the Teachable admin will be blocked until the balance becomes positive. Any shortfall may result you being charged in other accounts, such as debit and credit cards, or ACH.

If you cannot cover a refund through your account balance, you can also refund the student using an external method (bank transfer, PayPal, etc.). Keep a record of any off-platform refunds — these will not be reflected in your Teachable admin.

Issue a refund

  1. Go to Sales > Transactions and find the transaction to refund.

  2. Click into the transaction and select Refund Transaction.

  3. Enter the refund amount (full or partial) and an optional refund reason.

  4. Click Refund Transaction to confirm.

The student receives a credit note automatically. Issuing a full refund will unenroll the student from the associated product. Issuing a partial refund does not unenroll the student or cancel their subscription — to do that, go to the Enrollments tab of their user profile and cancel separately.

Note: If you do not see the Refund Transaction button, the student may have an active chargeback on the transaction. Refunds cannot be processed while a dispute is open.

CPG refunds

For schools on a Custom Payment Gateway, refunds are processed through your connected Stripe account or PayPal account directly. Teachable's refund policy does not apply to CPG schools — you are responsible for managing your own refund policy and processing refunds through your Stripe or PayPal dashboard.

Disputes and chargebacks

What is a chargeback?

A chargeback occurs when a student disputes a transaction directly with their bank or card issuer rather than requesting a refund through you. The bank reverses the payment and the funds are immediately withdrawn from your Teachable Payments account. A $15 USD chargeback fee is also charged per dispute.

Tip: If a student signals they intend to dispute a charge, issuing a refund preemptively prevents the chargeback from being filed and avoids the $15 fee.

What happens when a chargeback is filed

  • The disputed transaction amount and the $15 fee are immediately deducted from your Teachable Payments balance

  • The student is automatically unenrolled from the purchased product

  • If the student had a subscription or payment plan, it is automatically cancelled

  • The dispute is visible in your admin under Sales > Transactions > Disputes

Respond to a dispute

If you believe a chargeback is unwarranted, you can dispute it directly from your Teachable admin. Under Teachable Payments, dispute management is handled through the embedded Stripe Payments component in your admin — no external form required.

  1. Go to Sales > Transactions and locate the disputed transaction.

  2. Click into the transaction to open the dispute detail view.

  3. Follow the prompts to submit evidence. You have 7 days from receiving the chargeback notification to respond.

Evidence that strengthens a dispute response includes:

  • Proof of product delivery or access (login records, completion data)

  • Communication with the student (emails, messages)

  • Your refund policy as displayed on your sales page

  • Any signed agreements or terms accepted at checkout

Dispute outcomes

Outcome

What happens

You win

The disputed transaction amount is returned to your Teachable Payments balance

Student wins

The transaction amount is permanently reversed.

Note: Chargebacks can take up to 90 days to resolve, depending on the card network and issuing bank.

Prevent chargebacks

The best way to manage chargebacks is to avoid them. A few practices that help:

  • Be clear on your sales page. Refund policy, product content, and any drip-release schedules should be stated clearly before purchase.

  • Communicate proactively. Most chargebacks stem from a lack of communication. Responding quickly to student questions or complaints reduces disputes significantly.

  • Consider refund requests on a case-by-case basis. A refund is always less costly than a chargeback.

Did this answer your question?