/settings/razorpay
Connects the clinic's own Razorpay account so reception can collect payments via UPI, QR, cards, and payment links directly from DentalPin. Reached from Settings → Billing & tax → Razorpay, or directly at /settings/razorpay.
Permissions
Read-only for razorpay.settings.read. Every field and the Save button additionally require razorpay.settings.write (admin by default).
Sections
- API credentials
- Mode — read-only badge, Test or Live, taken from the Key ID prefix:
rzp_live_…is Live (real money), anything else is Test. It updates as you type the key; with no key it shows "No key yet". Use a test key until a full collection has been verified end to end. - Key ID — from the Razorpay dashboard. Not secret; the browser needs it to open Razorpay's checkout. Switching between test and live is done by pasting the other key pair.
- Key secret — from the Razorpay dashboard. Write-only: once saved, the field always shows as empty with a hint that a secret is already configured. Leave it blank on a later save to keep the existing one; type a new value only to replace it.
- Active — only an active, fully-configured connection is offered to reception as a collection method. Turn this off to hide the "Collect via Razorpay" action without losing the saved credentials.
- Mode — read-only badge, Test or Live, taken from the Key ID prefix:
- Webhook
- Webhook URL — a read-only, clinic-specific URL (includes this clinic's own id). Copy it into the Razorpay dashboard's webhook configuration for this account.
- Webhook secret — the secret Razorpay signs webhook events with, found in the same dashboard screen where the webhook was created. Also write-only.
- Webhook health — last received/processed timestamps and the last event type, so an admin can tell at a glance whether Razorpay is actually reaching this clinic. If Razorpay reports a problem, the last error and when it happened show here too.
What Save does — and doesn't do
Saving stores the settings; it does not verify that the key/secret pair actually works, or that the webhook is reachable — the only way to confirm that is to try a real collection (Test mode) and check that the webhook health block updates afterward. This screen has no "Test connection" button in this release.
Related screens
/payments— where "Collect via Razorpay" appears once this screen shows Active with both a key secret and a webhook secret configured.