Getting paid
Everything you sell on Pedagio needs a way for students to pay. There are three options, and you should have one working before you publish a course or open a batch.
The money goes straight to you
Which one to use
| Method | Students pay by | Enrolment | Needs |
|---|---|---|---|
| Razorpay | UPI, cards, net banking | Instant and automatic | A Razorpay account and a custom domain |
| Stripe | Cards, wallets | Instant and automatic | A Stripe account — best for international students |
| Manual | Cash, bank transfer, direct UPI | You approve each one | Nothing — works out of the box |
For students in India, Razorpayis the usual answer: UPI is what people actually pay with. Use Stripe if you teach abroad. Start on manual if you are not ready to set up a gateway — you can switch later without losing anything.
Manual payments
Nothing to configure beyond your own details. Add your payment instructions— UPI ID, bank account, whatever you want people to use. Students see them at checkout, pay you directly, and upload a screenshot or receipt as proof.
Those submissions land under Payments in your admin sidebar. You check the proof and approve, which enrols the student.
Where manual falls down
Razorpay
You need a custom domain first
- 1In your Razorpay dashboard, generate API keys and copy the Key ID (starts with
rzp_live_) and the Key Secret. - 2In Pedagio, open Settings → Payments and paste both into the Razorpay section.
- 3Add a webhook in Razorpay pointing at Pedagio, and paste its webhook secretinto the same section. Without the webhook, a payment can succeed at Razorpay while Pedagio never hears about it — and the student is not enrolled.
- 4Take a small test payment before announcing anything.
Once it is working, a student pays and is enrolled in the same moment. Installments, promo codes and demo fees all run through the same gateway.
Stripe
Same shape: paste your publishable key (pk_live_) and secret key (sk_live_), then add a webhook in your Stripe dashboard under Developers → Webhooks listening for checkout.session.completed, and paste that signing secret (whsec_) back into Pedagio.
Stripe has no custom-domain requirement, so it is also the quicker option if you want online payments working today and your domain is not ready.
Test before you announce
Whichever you choose, buy something from your own site as a student would — a cheap course, or a batch you create for the purpose. Check three things:
- The payment completes and the money reaches your account.
- The student is enrolled without you doing anything.
- The payment appears under Payments in your dashboard.
The second one is what the webhook does, and it is the step that silently fails when a webhook secret is wrong. A payment that takes the money but does not enrol the student is the worst possible first impression, and it is entirely avoidable with one test.
Your plan may limit this
Keeping track
| Page | Shows |
|---|---|
| Payments | Everything received, and manual submissions waiting for approval. |
| Dues | Outstanding installments, with due dates. |
| Analytics | Revenue over time. |
Cash still counts. If a parent hands you money in person, record it against their plan from the Dues page — otherwise Pedagio keeps sending reminders to someone who has already paid. See Collecting fees in installments.
Next
Running a batch→