Connect Stripe to My Academy HQ
Accept tuition payments, automate invoicing, and track billing — all powered by Stripe. Follow these steps to connect your account in under 10 minutes.
Create Your Stripe Account
If you do not have a Stripe account, go to stripe.com and click Start now.
Complete the onboarding process. You will need your school's legal name, bank account details, and tax information.
Once your account is active, you can access the Stripe Dashboard.
Find Your API Keys
In the Stripe Dashboard, navigate to Developers → API keys.
Copy your Publishable key (starts with pk_live_).
Click Reveal live key to copy your Secret key (starts with sk_live_).
Keep both keys somewhere secure — you will need them in a later step.
Use your live keys for production. Test keys (starting with pk_test_ / sk_test_) are for development only and will not process real payments.
Create a Webhook Endpoint
In the Stripe Dashboard, go to Developers → Webhooks.
Click Add endpoint.
For the endpoint URL, paste the webhook URL shown on your Integrations settings page in My Academy HQ. It follows this format:
https://app.apogee.dev/api/webhooks/stripe/your-school-slug
Under Events to send, select All events or choose only these required events:
checkout.session.completedcheckout.session.expiredsubscription_schedule.createdsubscription_schedule.updatedsubscription_schedule.canceledsubscription_schedule.completedsubscription_schedule.releasedcustomer.subscription.createdcustomer.subscription.updatedcustomer.subscription.deletedinvoice.createdinvoice.updatedinvoice_payment.paidinvoice.paidinvoice.payment_succeededinvoice.payment_failedinvoice.voidedinvoice.marked_uncollectiblepayment_intent.processingcharge.pendingcharge.refundedrefund.createdrefund.updatedrefund.failed
Click Add endpoint, then click into the newly created endpoint and click Reveal under Signing secret to copy your Webhook Secret (starts with whsec_).
Enter Your Keys in My Academy HQ
In your admin dashboard, go to Settings → Integrations.
Paste your Publishable Key, Secret Key, and Webhook Secret into the Stripe card fields.
Click Save Changes.
The badge will update to “Connected” once all three keys are saved.
Troubleshooting
Payments are failing or not appearing+
Webhook events are not being received+
ACH payments stay Invoiced instead of Processing+
I see 'Not Configured' after saving+
Ready to start accepting payments?
Head to your Integrations settings to connect Stripe now.
Go to Integrations