Skip to main content

Fee collection and payments

Razorpay

Online fee collection through Razorpay, with signed webhook capture writing receipts against the student fee ledger.

Students on a vibrant modern school campus between classes

Available, configured at deployment

Razorpay is one of three payment gateways wired into Schoolyi fee collection. A family paying online has a Razorpay order created against their outstanding instalment, completes checkout, and the payment is confirmed back to the fee ledger before a receipt is issued.

Confirmation happens twice, deliberately. The redirect back from checkout carries a signature that is verified server-side, and Razorpay separately posts a `payment.captured` webhook whose signature is also verified. Either path can record the receipt, and the recording is idempotent, so a family who closes the browser mid-redirect still ends up with the payment against their ledger exactly once.

The receipt a parent downloads is the same document the bursar reconciles, because there is one ledger rather than a payments record and an accounting record that have to be matched.

How it works

  • The school’s Razorpay key pair and webhook secret are set as server environment variables at deployment, not held per school in the database.
  • Fee checkout creates a Razorpay order for the specific instalment being paid, so partial and instalment payments stay attributable.
  • Webhook signatures are verified before anything is written. Failed deliveries are held in a dead-letter store rather than dropped.
  • Capture is idempotent: the redirect verification and the webhook can both fire without double-recording.

Who configures it

Set by whoever operates the deployment, as environment variables. The Fees settings area shows the configured gateway and its status but does not accept keys through the UI, which keeps payment credentials out of the application database.

What it does not do

Worth reading before a procurement decision rather than after.

  • Recurring or auto-debit mandates are not charged automatically. Autopay generates reminders; the recurring mandate itself needs provider-side setup that is not wired in.
  • Gateway keys are per deployment rather than per school, so a multi-campus group on one deployment shares one merchant account.
  • Refunds are recorded in Schoolyi but initiated in the Razorpay dashboard.

Related

Razorpay: common questions

Including the questions where the answer is no.

Can we use our own Razorpay account?+

Yes, and you should. The keys belong to your merchant account and are set on your deployment. Money moves between the family and your Razorpay account; Schoolyi is not in the payment path and never holds funds.

What happens if the webhook fails?+

The redirect-side verification can still record the payment, and failed webhook deliveries are written to a dead-letter store rather than discarded, so a delivery problem is recoverable rather than a lost receipt. Recording is idempotent, so a later retry does not duplicate the payment.

Does the parent see the same receipt the office sees?+

Yes. There is one fee ledger. The PDF a guardian downloads from the portal is generated from the same record the bursar reconciles against, which is the point of collecting fees inside the platform rather than beside it.

Everything else

Other integrations, and the ones we do not have

The hub lists what is available and names what is not.

Back to all integrations

Students walking together across a school campus at sunset

Bring your stack to a walkthrough

Tell us what you already run and which handoffs cost your team time. That is a more useful conversation than a compatibility list.

Already using Schoolyi? Sign in