Skip to main content
Worldline / Saferpay Gateway for Odoo — A build-to-order Odoo payment provider that connects your webshop and sales checkout  — 1/1Illustrative preview

A build-to-order Odoo payment provider that connects your webshop and sales checkout to Worldline/Saferpay for

European acquiring — hosted redirect or embedded iframe, cards plus local methods, full 3DS2/SCA, and webhook-driven reconciliation.

ECOSIRE builds, installs, and supports it after a scoping call.

What is Worldline / Saferpay Gateway for Odoo?

A build-to-order Odoo payment provider that connects your webshop and sales checkout to Worldline/Saferpay for European acquiring — hosted redirect or embedded iframe, cards plus local methods, full 3DS2/SCA, and webhook-driven reconciliation. ECOSIRE builds, installs, and supports it after a scoping call. 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` extension with a dedicated `saferpay` code, so Worldline appears as a first-class acquirer in website checkout, portal, and sales-order payment links
Hosted Payment Page flow implemented against Saferpay `PaymentPage/Initialize` and `PaymentPage/Assert`, with server-side result verification before any Odoo state change
Embedded iframe / secure-fields option using `Transaction/Initialize` for merchants who need on-site card entry without leaving the Odoo checkout
Local payment methods wired through the Saferpay terminal: Cards, TWINT, iDEAL, Bancontact, and Klarna, selectable per `payment.provider`
Full 3DS2 / PSD2 SCA challenge flow with liability-shift outcome persisted on the `payment.transaction` for audit and dispute defense
Capture, void, and refund implemented as Odoo actions mapping to `Transaction/Capture`, `Transaction/Cancel`, and `Transaction/Refund` — finance operates entirely inside the ERP
Configurable auto-capture vs. manual (authorize-only) capture policy on the provider record
Idempotent webhook controller keyed on the Saferpay transaction reference, so notification retries never double-post a payment or invoice
Server-side notification signature verification to reject spoofed or tampered callbacks
Automatic reconciliation of each transaction back to its source `sale.order` / `account.move`, including partial-refund handling against the correct move lines
Encrypted API credentials (Customer ID, Terminal ID, API key) stored on the provider record, exposed only to payment admins via `ir.model.access.csv` and record rules
Raw request/response API logging to a dedicated model for troubleshooting, with sensitive fields masked and access restricted
Sandbox / production environment toggle so staging points at Saferpay test terminals and production at live terminals without code changes
Multi-company scoping so each legal entity in a group uses its own Saferpay terminal and credentials
Support and testing across Odoo 17.0, 18.0, and 19.0, with Community and Enterprise accounting paths handled explicitly

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

EU and Swiss enterprise merchants who acquire through Worldline (Saferpay) hit a wall with Odoo out of the box: there is no core payment provider for Saferpay, so eCommerce and sales-order online payment either fall back to a generic processor or get handled off-platform. The result is broken reconciliation, manual matching of settlements against account.move, no native support for the local methods your customers actually reach for — TWINT, iDEAL, Bancontact, Klarna — and a checkout that cannot satisfy PSD2 SCA cleanly. Odoo's generic providers were never written against Saferpay's Payment Page / Transaction JSON API, its 3DS2 liability-shift flow, or its capture/refund semantics.

ECOSIRE builds a dedicated Odoo payment provider that plugs into the standard payment framework so it behaves like a first-class acquirer everywhere Odoo already renders a pay button — website checkout, the customer portal invoice, and sales-order payment links. It ships as a proper module: a __manifest__.py declaring the payment dependency, a payment.provider record extended with a saferpay code, encrypted API-credential fields, and a payment.transaction subclass that implements the Saferpay PaymentPage/Initialize → PaymentPage/Assert lifecycle for the hosted redirect flow, or the Transaction/Initialize + secure-fields flow for the embedded iframe. We wire the return and webhook controllers, verify the notification signature server-side, and reconcile each transaction back to the originating sale.order or account.move.

Technically, the module manages the full money lifecycle rather than just authorization. capture, void, and refund are implemented against Saferpay's Transaction/Capture, Transaction/Cancel, and Transaction/Refund endpoints and surfaced as Odoo actions on the transaction, so your finance team can capture or reverse without leaving the ERP. 3DS2/SCA is handled through Saferpay's Secure Card Data and challenge flow, with the liability-shift result stored on the transaction for audit. A dedicated webhook controller ingests asynchronous status changes (authorized, captured, failed, chargeback) idempotently — keyed on the Saferpay transaction reference so retries never double-post — and moves the Odoo transaction and its linked document through the correct states. Access is locked down with ir.model.access.csv plus record rules so credential fields and the raw API log are visible only to payment administrators, and everything is scoped per company for multi-entity groups.

Because every acquirer contract, method mix, and reconciliation policy differs, this is build-to-order rather than a one-click install. After a short scoping call we confirm your exact method set (cards, TWINT, iDEAL, Bancontact, Klarna, and any others in your Saferpay terminal), your capture policy (auto vs. manual), Community-vs-Enterprise accounting depth, and your target Odoo version (17.0, 18.0, or 19.0). We then build against your sandbox credentials, run UAT on a staging database, and hand over installable source, a git repository, technical and user documentation, and a training session. Typical delivery is one working week from confirmed scope. No instant download — you get a module built and tested for your environment, plus a post-go-live support window.

What you get

  • Installable module source code built and tested for your exact Odoo version (17.0 / 18.0 / 19.0), Community or Enterprise
  • Installation and configuration on your environment, including Saferpay terminal credentials, method mix, and capture policy wired to your setup
  • Technical documentation: model/field reference, controller and webhook endpoints, credential and environment configuration, and reconciliation logic
  • End-user guide plus a live training session for your finance and eCommerce teams (capture, refund, and troubleshooting)
  • UAT on a staging database against Saferpay sandbox terminals, with a documented rollback plan before go-live
  • Post-go-live support window for defect fixes and configuration adjustments
  • Private git repository handover with full commit history so your team owns and can extend the code
  • Go-live checklist covering webhook registration, production-terminal switchover, and settlement reconciliation verification

Who this is for

Swiss enterprise eCommerce merchant on Saferpay

Runs an Odoo webshop and already acquires through Worldline/Saferpay. Needs TWINT and card checkout that satisfies SCA, with settlements that reconcile automatically against sales orders instead of manual export-and-match.

EU multi-entity finance controller

Oversees several legal entities in one Odoo group, each with its own Saferpay terminal. Needs per-company credentials, capture and refund handled inside the ERP, and an audit trail on every 3DS2 liability-shift outcome.

Head of digital payments / PSP owner

Owns the acquirer relationship and the method mix (iDEAL, Bancontact, Klarna, cards). Needs a provider that maps cleanly to the Saferpay Transaction API, with idempotent webhooks and signature verification so payment state is never wrong.

Odoo implementation partner or internal ERP lead

Responsible for a clean, maintainable integration on 17.0/18.0/19.0. Wants a proper `payment` framework extension with source, docs, and a git handover — not a black-box connector they cannot support.

How Worldline / Saferpay Gateway for Odoo Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Saferpay/Worldline provider in OdooPurpose-built `payment.provider` for the Saferpay APIDepends entirely on your in-house buildOften a thin card-only wrapper, if it existsNo Saferpay provider in core `payment`
Local methods (TWINT, iDEAL, Bancontact, Klarna)Wired to your Saferpay terminal, selectable per providerEach method built and maintained by youUsually cards only; local methods rareNot available
3DS2 / SCA handlingFull challenge flow, liability-shift stored on the transactionYou implement and test the SCA flowVaries; often partial or undocumentedOnly via generic providers, not Saferpay-aware
Capture / void / refund inside OdooNative actions mapped to Saferpay Transaction APIBuilt to your spec, if budgetedFrequently missing or authorize-onlyNot applicable — no provider
Webhook reconciliationIdempotent, signature-verified, reconciled to SO/invoiceYou design idempotency and matchingBasic callback, limited reconciliationNone for Saferpay
Multi-company / per-terminal credentialsPer-company encrypted credentials with record rulesExtra scope you must plan forRarely multi-company awareNot applicable
Source, docs & git handoverFull source, technical + user docs, git repoYou own it but carry all the build costUsually closed/obfuscated sourceN/A
Support & maintenancePost-go-live support window + scoped upgradesEntirely on your internal teamGeneric vendor support, slow for edge casesCommunity forums only

Frequently Asked Questions about Worldline / Saferpay Gateway

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

No. This is a build-to-order module. Saferpay contracts, method mixes, and reconciliation policies differ per merchant, so ECOSIRE builds and tests the provider against your sandbox credentials and target Odoo version before handing over installable source. You are not buying a generic download — you are getting a module built for your environment.

How long does delivery take?

Typical delivery is one working week from confirmed scope. The scoping call fixes your method set, capture policy, Odoo version, and Community-vs-Enterprise path; from there we build against your Saferpay sandbox, run UAT on a staging database, and schedule go-live. Complex multi-entity or unusual method requirements can extend the timeline, which we flag before you commit.

Which Odoo versions and editions do you support?

Odoo 17.0, 18.0, and 19.0, on both Community and Enterprise. The core `payment` framework exists in both editions, so the provider works on Community; Enterprise-only accounting features (such as advanced reconciliation widgets) are handled explicitly where present. We confirm your exact version and edition during scoping.

How does it handle 3DS2 / PSD2 SCA?

Authentication runs through Saferpay's 3DS2 challenge flow. The module stores the liability-shift result on the `payment.transaction` so you have an audit trail for disputes, and the Odoo transaction only advances to a paid/authorized state after the authentication and authorization result is verified server-side.

What about refunds, captures, and reconciliation?

Capture, void, and refund are Odoo actions mapping to Saferpay's `Transaction/Capture`, `Transaction/Cancel`, and `Transaction/Refund` endpoints, so finance operates inside the ERP. Each transaction reconciles back to its originating sales order or invoice, and partial refunds post against the correct move lines. Asynchronous status changes arrive via an idempotent, signature-verified webhook.

What do I get for support and updates after go-live?

Every build includes a post-go-live support window for defect fixes and configuration adjustments, plus the full git repository so your team owns the code. Version upgrades (for example moving from 18.0 to 19.0) or new payment methods are scoped as follow-on work; because you hold the source, you are never locked to us.

Can each company in our group use its own Saferpay terminal?

Yes. The provider is multi-company scoped, so each legal entity uses its own Customer ID, Terminal ID, and API key. Credentials are encrypted and restricted to payment administrators via `ir.model.access.csv` and record rules, and settlements reconcile within each company's accounting.

Request a quote

Worldline / Saferpay Gateway

A build-to-order Odoo payment provider that connects your webshop and sales checkout to Worldline/Saferpay for European acquiring — hosted redirect or embedded iframe, cards plus local methods, full 3DS2/SCA, and webhook-driven reconciliation. ECOSIRE builds, installs, and supports it after a scoping call.

  • Native `payment.provider` extension with a dedicated `saferpay` code, so Worldline appears as a first-class acquirer in website checkout, portal, and sales-order payment links
  • Hosted Payment Page flow implemented against Saferpay `PaymentPage/Initialize` and `PaymentPage/Assert`, with server-side result verification before any Odoo state change
  • Embedded iframe / secure-fields option using `Transaction/Initialize` for merchants who need on-site card entry without leaving the Odoo checkout
  • Local payment methods wired through the Saferpay terminal: Cards, TWINT, iDEAL, Bancontact, and Klarna, selectable per `payment.provider`

Request a Quotation

Tell us about your Worldline / Saferpay 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.