Skip to main content
PhonePe Payment Gateway for Odoo — Build-to-order PhonePe payment provider for Odoo — UPI intent, cards, netbanking, X-VERIFY — 1/1Illustrative preview

Build-to-order PhonePe payment provider for Odoo

— UPI intent, cards, netbanking, X-VERIFY signing, webhook reconciliation & refunds in INR.

What is PhonePe Payment Gateway for Odoo?

Build-to-order PhonePe payment provider for Odoo — UPI intent, cards, netbanking, X-VERIFY signing, webhook reconciliation & refunds in INR. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Registers a dedicated PhonePe payment.provider in Odoo's native payment framework, appearing alongside your other providers in Website eCommerce checkout and the invoice payment flow
PhonePe hosted-page redirect for desktop plus UPI intent deep-linking on mobile, dropping shoppers directly into their PhonePe/UPI app to approve the payment
X-VERIFY request and response signing (SHA-256 + salt index) computed server-side so no checksum secret ever reaches the browser
Server-to-server status-check reconciliation: after redirect return, Odoo polls PhonePe's status API to confirm the authoritative transaction state before marking an order paid
Signed webhook controller route that independently confirms captured payments, so orders reconcile even if the customer abandons the return redirect
Full refund and partial refund support triggered from Odoo, mapped back to the originating payment.transaction with PhonePe refund status tracking
UPI, credit/debit card, and netbanking acceptance through a single PhonePe provider configuration
INR localization: currency rounding, amount-in-paise conversion, and clean linkage to Odoo sales orders and customer invoices
Sandbox (UAT) and production credential toggling on the provider record, with a test-mode banner so staff never confuse environments
Idempotent transaction handling keyed on merchant transaction ID to prevent duplicate order confirmation from webhook-plus-status-check races
Access control via ir.model.access.csv and record rules so only payment admins can view credentials and reconciliation logs
Detailed transaction logging (request/response, checksum, status transitions) surfaced in an Odoo admin view for support and dispute resolution
Configurable failure and pending messaging shown to shoppers, with automatic order state handling for declined or timed-out UPI collect requests
Compatible with Odoo 17, 18 and 19 on both Community and Enterprise editions, built against your exact deployment
Optional JSON-RPC / XML-RPC exposure of transaction status so external systems or dashboards can query payment state programmatically

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Odoo.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

Odoo Compatibility
Odoo 17, Odoo 18, Odoo 19
Editions
Enterprise & Community
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
PostgreSQL 12+

About this Product

Collect PhonePe payments natively inside Odoo eCommerce and invoicing

PhonePe is one of India's most-used payment apps, yet Odoo ships with no native PhonePe payment provider. This ECOSIRE build-to-order module closes that gap. We design, build, install and support a first-class PhonePe integration that plugs into Odoo's payment framework — so your shoppers pay with UPI intent, UPI collect, cards, and netbanking without ever leaving your storefront's checkout flow.

This is not an off-the-shelf apps.odoo.com download. ECOSIRE engineers the module against your exact Odoo version (17, 18 or 19), your Community or Enterprise edition, your INR configuration, and your PhonePe merchant credentials, then hand it over installed and reconciled. Typical delivery is one working week from the day we receive your PhonePe API keys and access to a staging database.

How it works under the hood

The module registers a new PhonePe payment.provider record with its own payment.transaction handling. At checkout, Odoo builds a signed pay request, computes the X-VERIFY SHA-256 checksum with your salt key and salt index, and redirects the customer to the PhonePe hosted page — or fires a UPI intent deep-link on mobile so the shopper is dropped straight into their PhonePe/UPI app. On return, a QWeb-rendered controller route validates the response signature, and an authenticated server-to-server status check call plus the webhook confirm the true transaction state before Odoo marks the order paid. That double confirmation (webhook + polled status check) is what keeps your sales orders reconciled even when a customer closes the browser mid-redirect.

Everything is wired the Odoo way: models extend models.Model, computed fields use @api.depends, access is locked down with ir.model.access.csv and record rules, admin screens are standard XML/OWL views, and every credential (merchant ID, salt key, salt index) is stored on the provider record — never hard-coded. You keep full source, so your team or ours can extend it later.

Built for real Indian merchant operations

We localize the whole flow for INR: currency rounding, GST-ready invoice linkage, refund handling from the Odoo sales/accounting side, and clear failure messaging for declined UPI collect requests. Sandbox-first delivery means we prove every path — success, pending, failure, timeout, partial refund — on PhonePe's UAT environment before we ever touch your production keys.

You get a payment provider you own, on the Odoo version you run, supported by the team that built it.

What you get

  • Complete PhonePe payment module source code (Python models, controllers, __manifest__.py, security CSV, XML/OWL views, QWeb templates) delivered as an installable Odoo addon you own outright
  • Provider configuration on your database: merchant ID, salt key, salt index, sandbox/production endpoints, and INR currency wiring — installed and verified
  • Sandbox-to-production validation report covering every tested path: success, pending, failure, timeout, full refund and partial refund
  • Webhook endpoint setup and PhonePe dashboard callback configuration, including signature verification confirmed against live callbacks
  • Written admin and operations documentation: how to reconcile, refund, read transaction logs, and switch environments
  • A live training session for your finance/store-ops team on running and troubleshooting the PhonePe flow in Odoo
  • A defined post-launch support window for bug fixes and configuration help, with a clear channel for issues
  • Version-compatibility note stating the exact Odoo version (17/18/19) and edition the module was built and certified against

Who this is for

Indian D2C store owner on Odoo eCommerce

Runs an Odoo Website storefront selling in INR and wants shoppers to pay with the PhonePe/UPI app they already use, without bouncing to a third-party checkout. Needs one-tap UPI intent on mobile to cut cart abandonment.

Finance / accounts controller

Owns reconciliation and refunds. Cares that every PhonePe payment is confirmed via webhook plus status check so the sales order and invoice never drift, and that refunds can be issued from inside Odoo with an audit trail.

Odoo IT admin or implementation partner

Manages the Odoo instance and version upgrades. Wants clean, owned source built the Odoo way (proper provider model, security rules, no hard-coded secrets) that survives a 17→18→19 upgrade and can be extended in-house.

How PhonePe Payment Gateway for Odoo Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
PhonePe support on Odoo (UPI, cards, netbanking)IncludedIncludedPartial supportNot included
Webhook + status-check reconciliation (survives abandoned redirect)IncludedPartial supportPartial supportNot included
UPI intent deep-link on mobileIncludedPartial supportPartial supportNot included
Full + partial refunds from inside OdooIncludedPartial supportPartial supportNot included
Built for your exact Odoo 17/18/19 version & editionIncludedIncludedPartial supportPartial support
You own the source and can extend itIncludedIncludedNot includedPartial support
X-VERIFY signing handled securely server-sideIncludedPartial supportPartial supportNot included
Vendor builds, installs, trains & supports itIncludedNot includedPartial supportNot included

Frequently Asked Questions about PhonePe Payment Gateway

How long until the PhonePe gateway is live on my Odoo store?

This is a build-to-order module, not an instant download. Typical delivery is one working week from the day we receive your PhonePe merchant credentials (merchant ID, salt key, salt index) and access to a staging database. We build and prove every payment path on PhonePe's sandbox first, then cut over to your production keys. Simpler single-storefront setups land closer to two weeks; multi-website or heavily customized checkouts trend toward four.

What support and updates do I get after launch?

Every engagement includes a defined post-launch support window for bug fixes and configuration help through a dedicated channel. Because you receive full source, your team can also maintain or extend it. When you upgrade Odoo (for example 18 to 19), we can re-certify or port the module under a separate scope so it keeps working across versions. We can also arrange an ongoing support and update retainer if you'd prefer us to own maintenance long-term.

Does this work on Odoo Community, or do I need Enterprise?

It works on both. The module is built on Odoo's core payment framework, which exists in Community and Enterprise alike, and we support Odoo 17, 18 and 19. We build against your exact version and edition and certify it there before handover.

How are payments reconciled if a customer closes the browser after paying?

We use two independent confirmations. A signed PhonePe webhook notifies Odoo when a payment is captured, and a server-to-server status-check call polls the authoritative transaction state. Odoo only marks the order paid once these confirm, and handling is idempotent (keyed on the merchant transaction ID) so a webhook-and-status-check race can never double-confirm. This is what keeps orders reconciled even on abandoned redirects.

Is the X-VERIFY signature and my salt key handled securely?

Yes. The X-VERIFY SHA-256 checksum is computed entirely server-side inside Odoo — your salt key and salt index never reach the browser. Credentials are stored on the payment.provider record with access restricted via ir.model.access.csv and record rules, so only payment admins can view them. Nothing is hard-coded in source.

Can I issue refunds from Odoo, including partial refunds?

Yes. Refunds are triggered from the Odoo sales/accounting side and mapped back to the originating PhonePe transaction, with both full and partial refunds supported and their PhonePe refund status tracked on the transaction record. Your finance team gets a clean audit trail without logging into a separate dashboard.

Can other systems read PhonePe payment status from Odoo?

Optionally, yes. We can expose transaction status over Odoo's XML-RPC / JSON-RPC API so an external dashboard, ERP, or reconciliation tool can query payment state programmatically. That's scoped as an add-on depending on your integration needs.

Request a quote

PhonePe Payment Gateway

Build-to-order PhonePe payment provider for Odoo — UPI intent, cards, netbanking, X-VERIFY signing, webhook reconciliation & refunds in INR.

  • Registers a dedicated PhonePe payment.provider in Odoo's native payment framework, appearing alongside your other providers in Website eCommerce checkout and the invoice payment flow
  • PhonePe hosted-page redirect for desktop plus UPI intent deep-linking on mobile, dropping shoppers directly into their PhonePe/UPI app to approve the payment
  • X-VERIFY request and response signing (SHA-256 + salt index) computed server-side so no checksum secret ever reaches the browser
  • Server-to-server status-check reconciliation: after redirect return, Odoo polls PhonePe's status API to confirm the authoritative transaction state before marking an order paid

Request a Quotation

Tell us about your PhonePe Payment Gateway requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.