Razorpay Odoo Integration
India UPI, cards, subscriptions.
Razorpay covers cards, UPI, netbanking and wallets for merchants selling in India, which makes it the default gateway for Odoo websites in that market. In Odoo it runs as a payment provider on the website, portal and invoice payment links. Because UPI collect requests can complete long after the customer leaves the page, the integration is built around verified webhooks and a status poll rather than the browser redirect.
What syncs between Razorpay and Odoo
- โ Orders and payment attempts: Odoo to Razorpay, one-way, with the Odoo reference attached to every attempt.
- โ Payment capture and failure: Razorpay to Odoo, one-way, over signed webhooks, then reflected on the sale order or invoice.
- โ Refunds: two-way. Odoo can raise them, and refunds started in the Razorpay dashboard flow back so the credit note is not missed.
- โ Payment links: Odoo to Razorpay, one-way, for collecting on an invoice without a website checkout.
- โ Settlements and fees: Razorpay to Odoo, one-way, imported for reconciliation against the bank statement.
How we implement it
- 1 Keys per environment
Test and live key pairs kept apart, with the secret stored outside the database where your hosting allows it.
- 2 Provider configuration
Enable the provider in Odoo, set the journal and currency, and decide which payment methods are offered at checkout.
- 3 Webhook and signature checks
Register the webhook, verify the signature on every event, and key the write on the payment id so retries are safe.
- 4 Pending payment handling
Add a scheduled job that resolves attempts left pending, which is the normal case for UPI collect requests.
- 5 Reconciliation and go-live
Map fees and settlement batches, test a full and a partial refund, then move to live keys and watch the first settlement.
Services that cover this work
Odoo Implementation
End-to-end Odoo deployment, from discovery to go-live.
Odoo Integration
Connect Odoo with your stack and third-party APIs.
Odoo E-Commerce
High-conversion Odoo websites & shops.
Razorpay and Odoo: common questions
Does UPI work without the customer returning to the site?
Yes. The payment can complete in the customer app. Odoo relies on the webhook and a pending-payment job to confirm the order, so nothing depends on the browser coming back.
Can we send a payment link on an existing invoice?
Yes. The invoice can carry a payment link that settles the exact amount and posts back against that invoice, which suits collections chasing over email or WhatsApp.
What if a customer pays twice?
The second payment is captured as an overpayment and either refunded through the same reference or held as a credit on the customer account. The rule is agreed before go-live rather than handled ad hoc.
Do refunds appear automatically?
Yes, when webhooks are configured. A refund raised in the Razorpay dashboard reaches Odoo and prompts the matching credit note instead of being discovered at month end.
Other payments integrations
Need a connector that is not on the list?
Custom REST, GraphQL, webhook, EDI and flat-file integrations, built with retry, idempotency and audit logging so a failed message is visible instead of lost.