Billing
Stripe Checkout, the customer portal, and what happens to a project when a plan ends.
Paying
Pick Pro or Teacher on /pricing and you are sent to Stripe Checkout. We do not build a payment form of our own and we never see a card number. The pricing page opens on Yearly.
Monthly and yearly are the same plan billed differently; yearly works out at ten months for twelve on Pro, and at $129 against $14 a month on Teacher, a little better than that. The pricing page's Yearly tab shows the best of the savings.
The Teacher plan is one price for you with 40 student seats included, so Checkout has no count on it. The calculator on /classroom answers with Teacher for a class of up to forty and buys it from there too.
More than forty students, several teachers, a school, a district or a university is Schools & universities, which is priced for you rather than bought by card: press Talk to us on /classroom and a person walks you through it, or type your number into the calculator there and fill in the quote form under it, and a written quote comes back in minutes, which your school pays by card or by invoice on net 30 terms.
Coming back from Stripe lands on your account page. The plan itself arrives on the webhook a second or two later, and the page says so while it waits rather than showing you the word Free with no explanation. A checkout you abandon comes back to /pricing with a line saying nothing was charged.
What actually moves you onto a plan
The signed webhook from Stripe, and nothing else. A browser coming back from Checkout is a claim; the webhook is Stripe telling us what happened. That is why a plan sometimes lands a second or two after the redirect.
An unknown plan value always reads as Free. A plan we do not recognize must never be the generous one.
Managing it afterwards
Your account page has a Manage billing button. It opens Stripe's own customer portal, where the invoices, the card, the plan and the cancel button live. If the portal cannot open, because there is no customer on file, the button sends you to /support instead of failing quietly.
The Teacher plan has nothing to change there: it is forty students, and a class that needs more asks for a quote on /classroom (cancel Teacher from Billing first; it runs to the end of the period you paid for, and the quote says so if you try the other way around).
On a school's plan (Classroom) the students you pay for are changed on the account page itself: type a number, press Save seats, and Stripe works out the part of the period (adding students bills the rest of this one, taking them away comes back as a credit on the next invoice). Two refusals are worth knowing about, and both say so in words: more than two hundred students is an invoice rather than a card, and a number below the students already in your classes (counted once each, across all of them) is refused with the count, because seats are not taken from students sitting in them.
When a payment fails
You get seven days to sort it out, and nothing changes in that time.
From the first time a payment doesn't go through, your plan stays exactly as it is for seven days: every project, every class, every student. A red bar at the top of every page, in the editor too, says Your last payment didn't go through. Update your card by the date, with an Update card button that opens Stripe's portal on the card. The cross on the bar hides it until your next visit. If you teach a class, your students never see the bar; it is yours.
We also email you three times, and no more: once when the payment fails, a reminder on day five, and once if the seven days run out. Reply to any of them if something is going on and a person will answer.
Stripe tries the card again by itself during the week. If one of those tries works, or you update the card and it goes through, the bar goes, a short thank you arrives, and that's it.
If the seven days run out without a payment, the account moves to the free plan until you pay. Nothing is deleted:
- Every project stays. If you have more than the free plan's ten, the ten you edited most recently keep working as normal, and the rest open and read as always but won't save changes. Delete one to free a slot, or download any of them.
- A class with more students than the free plan holds is paused, not closed. The roster, the submissions and your grading all stay; nobody new can join and students can't submit until you pay.
Pay at any point after that and everything comes back at once: the plan, every project, every class.
The seven days are ours and they are the ones that count. If Stripe gives up on the card sooner, you still keep your plan until the date on the bar.
When you cancel
Canceling in the portal does not end the plan that day: it sets the subscription to stop at the end of the period you have already paid for. Your account page then says ends with that date instead of renews, and everything keeps working until then. Change your mind in the portal and the date comes off again.
Invoices and purchase orders
Every card payment produces an invoice you can download from the portal. A school that needs a purchase order before it can pay asks for a quote instead of paying by card: open the quote form under the seat calculator on /classroom (under forty students it is the line Paying by purchase order?), or use Pay by invoice on your class page.
- Fill in the school, the person who pays the invoice, their email, the billing address and, if your office has one, the PO number. You need to be signed in as the teacher the seats are for.
- The quote comes back at once, on the screen with a PDF to download, and a copy goes to the billing email. Forty students or fewer is the Teacher plan, $129 a year; more than that is priced for your school's size. It holds its price for 30 days.
- Your school accepts it on the quote's own page (the link is in the email). The first invoice goes straight to the billing email and is due in 30 days.
- Until it is paid your class page says Waiting for your school's payment with the invoice link. The seats switch on the moment it is paid.
Our legal name, address, tax id, W-9 and the ways to pay an invoice are on /schools/vendor.
Refunds
A first payment that was a mistake is refunded in full if you ask within fourteen days of it. After that, and for renewals, a period already started is not refunded, except where the law where you live says it must be. The full wording is in the terms, section 3. To ask, write to us: /support.
What your plan is right now
The Your plan section of your account page says it plainly: the plan's name, how many projects you have of how many, how many saves are kept per project, the students paid for on a school's plan "and you", and the date the period renews on, ends on, or the note that a payment needs fixing.
When a plan ends
Your projects stay. Nothing is deleted because a subscription ended. If you are over the free plan's ten-project count, everything remains readable and exportable, the ten you edited most recently still save as normal, and the rest are read-only until you are back under the count or back on a paid plan. A class with more students than the free plan holds is paused rather than closed.
Live rooms go back to the free plan's size: you and one other person. Joining somebody else's room is free on any plan. On Teacher or a school's plan, your students go back to the free plan's room too, and nothing of theirs is deleted either. See how many people fit, and ending a room.