Payment Gateways
Accept online payments from patients through Razorpay — India's leading payment gateway. Support for UPI, cards, netbanking, and wallets, with GST-compliant invoicing and automated refund processing.
Overview
Odento integrates with Razorpay for all online payment processing. Razorpay supports the full range of Indian payment methods — UPI (Google Pay, PhonePe, Paytm), credit and debit cards (Visa, Mastercard, RuPay), netbanking (50+ banks), and popular wallets. This integration handles patient payments for treatments, course enrollments on Sparkwise, event tickets on Symposia, and premium content on Wave.
All payments are processed securely by Razorpay. Odento never stores card numbers or banking details — sensitive data goes directly to Razorpay's PCI-DSS compliant infrastructure. Odento receives only the payment status and transaction ID.
PCI-DSS Compliant
Razorpay is PCI-DSS Level 1 certified. Odento does not touch raw card data — the checkout form is rendered by Razorpay's SDK, and card details are tokenized on Razorpay's servers.
Screenshot — Overview
Setup Guide
Prerequisites
- Active Razorpay account (Odento assists with account creation).
- Business KYC documents (PAN, GST certificate, bank account details).
- Registered business entity name and address.
- GSTIN if applicable (required for GST-compliant invoicing).
Connecting Razorpay
- Navigate to Settings → Integrations → Payment Gateways.
- Click Connect Razorpay.
- Enter your Razorpay Key ID and Key Secret.
- For development/testing: use test keys (starting with
rzp_test_). - For production: use live keys (starting with
rzp_live_). - Enter your GSTIN (if registered for GST) to enable GST-compliant invoicing.
- Configure webhook URL for payment status callbacks (Odento provides this automatically).
- Click Save & Verify. Odento validates the credentials with a test API call.
Screenshot — Setup Guide
Supported Payment Methods
| Method | Providers | Processing Time |
|---|---|---|
| UPI | Google Pay, PhonePe, Paytm, BHIM | Instant |
| Credit Card | Visa, Mastercard, RuPay, Amex | Instant |
| Debit Card | Visa, Mastercard, RuPay | Instant |
| Netbanking | 50+ banks (SBI, HDFC, ICICI, Axis, etc.) | Instant to 5 min |
| Wallets | Mobikwik, Airtel Money, Freecharge | Instant |
Payment Flow
When a patient makes a payment, the following flow occurs:
1. Patient receives payment link (WhatsApp, email, or in-app)
├── Link contains: amount, invoice ID, patient ID
└── Valid for 24 hours
2. Patient clicks link → Razorpay checkout opens
├── Selects payment method (UPI, card, netbanking)
├── Enters payment details (handled by Razorpay)
└── Authenticates (OTP, UPI PIN, etc.)
3. Razorpay processes payment
├── Success → Webhook sent to Odento
├── Failure → Patient can retry
└── Pending → Polled until resolved
4. Odento receives webhook
├── Verifies webhook signature
├── Updates invoice status to "Paid"
├── Generates GST invoice (if GSTIN configured)
├── Sends WhatsApp confirmation via Neurax
└── Triggers post-payment workflow
5. Settlement
├── Razorpay settles to your bank account
├── T+2 for UPI/cards (T+3 for netbanking)
└── Settlement report available in dashboardRefunds
Odento supports full and partial refunds through Razorpay. Refunds can be initiated from the invoice detail page:
- Open the paid invoice in Billing → Invoices.
- Click Refund.
- Choose full refund or enter a partial amount.
- Select a refund reason (cancellation, overcharge, patient request, etc.).
- Click Process Refund.
Refunds are processed by Razorpay and typically appear in the patient's account within 5-7 business days. The invoice status updates to "Refunded" (full) or "Partially Refunded" (partial). Refund details appear in the financial reports.
Refund Processing Fees
Razorpay's payment processing fee is not refunded. The patient receives the full payment amount minus the gateway fee. This is standard across all payment gateways in India.
GST Compliance
When you configure your GSTIN in the payment settings, Odento automatically generates GST-compliant invoices for every transaction. Each invoice includes:
- Your business name, address, and GSTIN
- Patient name and address
- Invoice number (sequential, format configurable)
- HSN/SAC code for dental services (9987 - Health care services)
- Taxable amount, CGST, SGST (or IGST for inter-state)
- Place of supply (determines CGST/SGST vs IGST)
- Reverse charge indicator (if applicable)
GST Rates for Dental Services
Health care services provided by a clinical establishment are exempt from GST. However, certain dental services and products may attract GST:
- Dental treatment (consultation, procedures): Exempt (health care services)
- Dental products (toothpaste, brushes sold at clinic): 18% GST
- Cosmetic/esthetic procedures: 18% GST (not classified as health care)
- Course fees (Sparkwise): 18% GST (educational services may be exempt — consult your CA)
- Event tickets (Symposia): 18% GST (event management services)
GSTR Filing Support
Odento exports transaction data in GSTR-1 and GSTR-3B compatible formats. Download from Billing → Reports → GST Returns and upload directly to the GST portal.
Transaction Fees
Razorpay charges a processing fee per transaction. Fees vary by payment method:
| Payment Method | Fee (Domestic) | GST on Fee |
|---|---|---|
| UPI | No fee (until further notice) | N/A |
| Credit/Debit Card | 2% (capped at Rs. 200 for debit cards) | 18% |
| Netbanking | 2% (min Rs. 12, max Rs. 200) | 18% |
| Wallets | 2% | 18% |
Fees are deducted by Razorpay before settlement to your bank account. The settlement report in the Odento dashboard shows gross amount, fee deducted, GST on fee, and net settled amount for each transaction.
Troubleshooting
- Payment not reflected: Check the webhook log in Settings → Integrations → Payment Gateways → Webhooks. If the webhook failed, manually sync the payment.
- Invalid API keys: Ensure you are using the correct keys for the environment (test vs live). Regenerate keys from the Razorpay dashboard if needed.
- GST not on invoice: Verify your GSTIN is entered correctly and GST invoicing is enabled in settings.
- Refund failed: Refunds can only be processed within 6 months of the original payment. Contact Razorpay support for older refunds.
- Settlement delay: Check your bank account details in the Razorpay dashboard. Settlements may be delayed during bank holidays.
Was this page helpful?
Help us improve our documentation