Skip to main content
Payment Acquirer Plugin — A made-to-order Odoo payment provider that wires your checkout, portal, and sales flows into a host — 1/1Illustrative preview

A made-to-order Odoo payment provider that wires your checkout,

portal, and sales flows into a hosted payment gateway with native tokenization, signed webhook reconciliation, and refunds.

ECOSIRE scopes, builds, installs, and supports it for you — it is not an off-the-shelf download.

What is Payment Acquirer Plugin?

A made-to-order Odoo payment provider that wires your checkout, portal, and sales flows into a hosted payment gateway with native tokenization, signed webhook reconciliation, and refunds. ECOSIRE scopes, builds, installs, and supports it for you — it is not an off-the-shelf download. 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

Native `payment.provider` record with a matching `payment.transaction` lifecycle mapped onto Odoo's pending/authorized/done/cancel/error states
Redirect (hosted-page) checkout flow implemented via dedicated `http.Controller` routes with return/cancel URL handling
Optional inline server-to-server (S2S) card capture so customers never leave the Odoo checkout
Signed webhook controller that verifies the gateway's HMAC/signature header before mutating any transaction
Idempotent webhook processing keyed on the gateway reference to absorb duplicate, retried, and out-of-order callbacks
Saved-card support via `payment.token` for one-click repeat payments and tokenized subscriptions
Automatic `account.payment` and journal-entry posting against the correct `account.journal` for hands-off reconciliation
Full and partial refunds driven from `account.move` / POS back to the gateway API
Credentials stored as encrypted fields with test/production (sandbox/live) mode switching on the provider record
`ir.model.access.csv` rules plus record rules restricting provider secrets to accounting/system groups
Multi-company aware: per-company provider records, journals, and API keys with correct record-rule scoping
Structured request/response logging of every gateway call for audit trails and dispute resolution
Website eCommerce (`website_sale`), customer-portal invoice payment, and Sales online-quotation payment surfaces all wired to the provider
Built and regression-tested against Odoo 17.0, 18.0, and 19.0 with Community/Enterprise differences handled

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

Most teams running Odoo hit the same wall the moment they need a payment provider that Odoo core does not ship a connector for. Out of the box, the payment framework covers a fixed set of acquirers; if your gateway is not one of them, you are left redirecting customers to a clunky external page, reconciling settlements by hand from a bank export, or bolting on a fragile module that breaks on the next point release. The result is abandoned checkouts, mismatched account.payment records, and finance chasing discrepancies at month-end. This is where a purpose-built acquirer integration earns its keep.

ECOSIRE builds a native Odoo payment provider that plugs directly into the standard payment.provider and payment.transaction models — the same objects the eCommerce checkout, the customer-portal invoice-pay button, and the Sales quotation online-payment flow already use. Technically we ship a proper addon: a __manifest__.py declaring the dependency on payment (plus website_sale and account where relevant), a provider record extending models.Model with gateway credentials stored as encrypted fields.Char, and controller routes that implement the redirect and/or inline server-to-server payment flow. We wire the gateway's API through a thin HTTPS client, map its transaction states onto Odoo's pending/authorized/done/cancel/error state machine, and post the resulting journal entries against the correct account.journal so reconciliation is automatic rather than manual.

The reliability of any acquirer lives in its webhook path, so we treat it as a first-class citizen. A dedicated public controller receives asynchronous gateway notifications, verifies the HMAC or signature header before trusting a single byte, and idempotently advances the matching payment.transaction — protecting you against duplicate callbacks, out-of-order events, and replayed requests. Saved-card tokenization is implemented against payment.token so returning buyers pay in one click, refunds and partial refunds are driven from the account.move / POS side back to the gateway, and every call is written to a structured log for auditability. Security is enforced with ir.model.access.csv plus record rules so provider secrets are visible only to accounting and system roles, and multi-company deployments get per-company provider records and journals. The connector is built and tested against Odoo 17.0, 18.0, and 19.0, and we account for Community vs Enterprise differences (for example, accounting-depth and POS payment-method wiring) during scoping.

Because this is build-to-order, delivery follows a clear path: a short scoping call to confirm your gateway's API capabilities, the flows you need (web checkout, portal, POS, subscriptions), your Odoo edition and version, and any localization or multi-company requirements; then a fixed written quote; then a typical one working week build from confirmed scope, delivered on a staging instance for UAT before we install to production and hand over the git repository. Pricing starts from $999 (indicative, single-company base scope for a standard redirect + webhook flow on one Odoo version); adding inline tokenized card capture, POS payment integration, multi-company provider/journal setup, extra target versions, or subscription/recurring billing increases the quoted scope. You always receive a firm fixed price after the scoping call — never a surprise.

What you get

  • Installable, version-pinned addon source for your Odoo edition (17.0/18.0/19.0) — your build, yours to keep
  • Installation and configuration on your environment, including provider credentials, journals, and webhook endpoint registration
  • Technical documentation: architecture notes, model/field reference, webhook contract, and API-mapping details
  • End-user guide plus a live training session for your finance/operations team
  • Post-go-live support window for defect fixes and configuration adjustments
  • UAT on a staging instance with a documented test plan, sign-off, and a production rollback plan
  • Full git repository handover with commit history and tagged release
  • Sandbox-to-production cutover checklist covering key rotation and webhook re-pointing

Who this is for

Finance / Accounting Lead

Owns month-end close and is tired of manually matching gateway settlements to `account.payment` records. Needs transactions to post to the right journal automatically, refunds to sync both ways, and a clean audit log for every payment.

eCommerce / Operations Manager

Runs the `website_sale` storefront and watches checkout conversion. Needs the local or preferred gateway available at checkout with saved cards and inline payment so buyers do not drop off on an external redirect page.

Odoo Technical Lead / ERP Admin

Maintains the Odoo instance across 17/18/19 upgrades and refuses to run an unmaintained third-party module. Wants a clean addon with proper access rules, a signed webhook, and a git repo they can review, test, and own.

CFO / Business Owner (multi-company)

Operates several companies or regions in one Odoo database and needs per-company provider records, journals, and keys, plus a firm fixed quote and a supported delivery rather than an unsupported download.

How Payment Acquirer Plugin Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Gateway coverageBuilt for your exact gateway and flowsWhatever your team can code and maintainOnly the gateways the module vendor choseFixed set of acquirers Odoo ships
Webhook reliabilitySigned, idempotent, replay-safe controllerDepends on in-house skill and timeVaries; often unsigned or thinOnly for supported providers
ReconciliationAuto-posts to the correct `account.journal`You build the accounting wiringOften manual or partialAutomatic for native providers only
Saved cards / tokenizationNative `payment.token` one-click repeat paySignificant extra build effortSometimes; quality variesSupported acquirers only
Version supportPinned + tested on 17.0/18.0/19.0You own every upgradeVendor's chosen versions; upgrades lagShips with each Odoo release
OwnershipFull source + git repo handed to youYou own it fullyLicensed; source may be lockedPart of Odoo, not extensible per-gateway
Support modelPost-go-live window + optional retainerSelf-supportedTicket queue, best-effortOdoo community/enterprise support
Cost profileFixed quote from an indicative $999 baseHigh and unpredictable dev timeLow sticker, hidden fit/upkeep costIncluded but no coverage for your gateway

Frequently Asked Questions about Payment Acquirer Plugin

How long does delivery take?

Because this is build-to-order, the standard timeline is one working week from confirmed scope. After the scoping call we give you a written schedule; simple single-company redirect flows land toward the shorter end, while inline tokenization, POS, multi-company, or subscription requirements extend it. Nothing starts building until you approve the fixed quote.

Is this an existing app I can download and install right now?

No. This is a productized service, not an apps.odoo.com download. ECOSIRE designs, builds, installs, and supports a connector tailored to your specific gateway, Odoo edition, and flows. You receive installable source code and the git repository as part of delivery — but it is built for you after you request a quotation.

How does pricing and scoping work?

The listed price starting from $999 is indicative for a single-company base scope (a standard redirect plus signed-webhook flow on one Odoo version). After a short scoping call we send a firm fixed quote. Drivers such as inline tokenized card capture, POS payment, multi-company setup, additional Odoo versions, or recurring billing increase the quoted scope — the from-price is a starting point, not the final number.

What about support and future Odoo updates?

Every build includes a post-go-live support window for defect fixes and configuration help. Because the code and git repo are handed to you, your team can maintain it, and we offer optional retained support or paid upgrade work to carry the connector forward to future Odoo point releases or major versions (for example, migrating from 18.0 to 19.0).

Which Odoo versions and editions do you support?

We build and regression-test against Odoo 17.0, 18.0, and 19.0, on both Community and Enterprise. During scoping we confirm your edition because it affects available accounting depth and POS payment-method wiring; the delivered addon is pinned to your target version(s).

How do you keep the payment flow secure?

Provider credentials are stored in encrypted fields and locked to accounting/system roles via `ir.model.access.csv` and record rules. The webhook controller verifies the gateway's HMAC or signature header before trusting any callback, processing is idempotent to block replays and duplicates, and every gateway call is logged. Where you use inline capture, we design the flow to keep card data handling aligned with the gateway's tokenization so sensitive data does not persist in Odoo.

Can it work with our eCommerce, customer portal, and Point of Sale?

Yes. Because the connector is a native `payment.provider`, it can surface in the `website_sale` checkout, the customer-portal invoice-pay button, and Sales online-quotation payments out of the box. POS payment-method integration is supported as an added scope item since it uses a separate Odoo payment path — we confirm which surfaces you need during the scoping call.

Request a quote

Payment Acquirer Plugin

A made-to-order Odoo payment provider that wires your checkout, portal, and sales flows into a hosted payment gateway with native tokenization, signed webhook reconciliation, and refunds. ECOSIRE scopes, builds, installs, and supports it for you — it is not an off-the-shelf download.

  • Native `payment.provider` record with a matching `payment.transaction` lifecycle mapped onto Odoo's pending/authorized/done/cancel/error states
  • Redirect (hosted-page) checkout flow implemented via dedicated `http.Controller` routes with return/cancel URL handling
  • Optional inline server-to-server (S2S) card capture so customers never leave the Odoo checkout
  • Signed webhook controller that verifies the gateway's HMAC/signature header before mutating any transaction

Request a Quotation

Tell us about your Payment Acquirer Plugin 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.