Skip to main content
Paytrail Payment Gateway for Odoo (Finland) — A build-to-order Odoo payment provider that aggregates Finnish online banking,  — 1/1Illustrative preview

A build-to-order Odoo payment provider that aggregates Finnish online banking,

cards, and wallets through Paytrail, with server-side HMAC signature verification, refund support, and EUR localization.

ECOSIRE builds, installs, and supports it after you request a quotation.

What is Paytrail Payment Gateway for Odoo (Finland)?

A build-to-order Odoo payment provider that aggregates Finnish online banking, cards, and wallets through Paytrail, with server-side HMAC signature verification, refund support, and EUR localization. ECOSIRE builds, installs, and supports it after you request a quotation. 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

New `payment.provider` record with a dedicated `code`, state (test/enabled/disabled), and Paytrail-specific credential fields (merchant ID, secret key) surfaced in Settings, not hardcoded
Live aggregation of Finnish payment methods — bank buttons (OP, Nordea, Danske, S-Pankki, Aktia and others), card, and wallets like MobilePay — fetched from Paytrail's payment-groups response
Server-side HMAC signature verification on every return and webhook: the controller recomputes the `checkout-*` signature and rejects mismatches before confirming any `payment.transaction`
Redirect + return-controller flow integrated with Odoo eCommerce (`website_sale`) and the invoice/sales `Pay Now` portal checkout
Full and partial refund support from the transaction form, calling Paytrail's refund endpoint with its own verified callback
EUR handling with correct minor-unit (cent) conversion and currency guard so the provider only offers EUR transactions
Idempotent callback handling keyed on the Paytrail stamp/reference so retried webhooks never double-confirm a transaction
Test vs live separation driven by the provider `state` field, wired to Paytrail's normal (test) merchant credentials for UAT
Security via `ir.model.access.csv` and record rules so only Payment-Administrator users can view or edit credentials
Transaction state machine mapped correctly to Odoo (`draft`/`pending`/`authorized`/`done`/`cancel`/`error`) so orders confirm and invoices reconcile automatically
Structured logging of request/response and signature checks (with secrets redacted) for auditability and support diagnostics
QWeb-rendered method selection and payment-status snippets consistent with Odoo's native checkout templates
Reconciliation-friendly reference: the Paytrail stamp and transaction id stored on `payment.transaction` for matching against settlement reports
Compatible with headless/API-driven order flows — transactions can be created and queried over Odoo's JSON-RPC/XML-RPC API

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

Finnish shoppers overwhelmingly expect to pay by their own bank's online payment button (verkkomaksu) — OP, Nordea, Danske, S-Pankki, Aktia and the rest — alongside cards and mobile wallets like MobilePay. Paytrail aggregates all of those methods behind a single integration, but Odoo core ships no Paytrail payment provider. Out of the box you get Stripe, Adyen, PayPal, and a handful of others, none of which surface the Finnish bank-button experience your customers look for at checkout. The usual workarounds — pushing buyers to a manual bank transfer, or bolting on a generic redirect — cost you conversions and leave settlement reconciliation to spreadsheets.

ECOSIRE builds a first-class Odoo payment provider (payment.provider / payment.transaction) that speaks Paytrail's aggregation API natively. We register a new provider record with its own code, credentials fields (merchant ID and secret key stored via Odoo settings, never hardcoded), and a payment flow that requests Paytrail's available payment groups so your customers see the live list of bank buttons, card, and wallet options rendered inside the standard eCommerce and invoicing checkout. On submission we create a Paytrail payment, redirect the buyer to complete it, and land them back on Odoo's return controller.

The security-critical part is the callback. Every Paytrail response and webhook carries an HMAC signature over the checkout-* header set and body; our controller recomputes that signature server-side with your secret key and rejects any request whose signature does not match before a single payment.transaction is confirmed. That closes the door on spoofed "paid" callbacks — a transaction only moves to done on a verified, authentic success signal. Refunds are wired through Paytrail's refund endpoint from the transaction form, so a full or partial refund initiated in Odoo calls back with its own verified confirmation. Amounts are handled in EUR with correct minor-unit conversion, and the provider is delivered for Odoo 17.0, 18.0, or 19.0 with the API and controller differences between those versions handled per target.

Because this is BUILD-TO-ORDER, you are not downloading a pre-built app. After you request a quotation we run a short scoping call to confirm your Odoo version and edition (Community or Enterprise), which Paytrail account and methods you need, and how you want settlement and refunds to behave. Typical delivery is one working week from confirmed scope. You receive the installable source for your exact version, UAT on a staging database against Paytrail's test credentials, and a defined post-go-live support window — no guesswork, no fabricated benchmarks.

What you get

  • Installable Odoo source code (the provider module) built for your exact target version — 17.0, 18.0, or 19.0
  • Installation and configuration on your environment, including provider credential setup and method enablement
  • Technical documentation: architecture, `__manifest__.py` dependencies, controller/callback flow, and signature-verification logic
  • End-user and admin guide plus a live training session for your finance/eCommerce team
  • UAT on a staging database against Paytrail test credentials, with a documented rollback plan
  • A defined post-go-live support window for defect fixes and configuration questions
  • Git repository handover with full commit history and tagged release for your version
  • Go-live checklist covering switch from test to live credentials and webhook URL registration in the Paytrail dashboard

Who this is for

Finnish online retailer on Paytrail

Runs an Odoo eCommerce store selling to Finnish consumers who expect their own bank's payment button at checkout. Needs Paytrail's aggregated methods rendered natively so buyers aren't dropped to manual bank transfer.

Finance / controller at a Finnish SME

Owns settlement reconciliation and refunds. Wants Paytrail transactions and refunds handled inside Odoo with the stamp/reference stored on each `payment.transaction` for matching against Paytrail settlement reports.

Odoo partner or in-house dev delivering to a Finnish client

Needs a correctly built, HMAC-verified provider they can install, read, and maintain across 17/18/19 — with source, docs, and a git handover rather than a black-box binary.

eCommerce manager scaling checkout conversion

Focused on reducing checkout drop-off for Finnish shoppers. Needs the live bank-button list, cards, and wallets like MobilePay presented seamlessly in the standard Odoo checkout.

How Paytrail Payment Gateway for Odoo (Finland) Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Finnish bank buttons + walletsLive Paytrail aggregation (OP, Nordea, cards, MobilePay) in native checkoutPossible but you build the whole method list yourselfVaries; often stale or partial method coverageNot available — no Paytrail provider in core
HMAC signature verificationServer-side recompute, mismatches rejected before confirmDepends on the developer's diligenceUsually present but hard to audit in a binaryN/A — no Paytrail integration exists
Refunds from OdooFull + partial via Paytrail refund endpoint, verified callbackExtra scope, often deferredSometimes card-only or manualNone
Odoo version coverageBuilt for your exact 17/18/19, Community or EnterpriseWhatever you target and maintainOften lags new Odoo releasesShips with core but no Paytrail
Source code + git handoverFull source, tagged release, commit historyYou own it by definitionFrequently obfuscated or license-lockedCore source, but nothing to hand over here
Support modelDefined post-go-live window + scoped follow-onsYou staff it internallyGeneric vendor tickets, variable responseCommunity forums only
Reconciliation referencePaytrail stamp + transaction id stored per transactionMust design the mapping yourselfInconsistent field storageNot applicable
Time to productionone working week from confirmed scope, UAT + rollback planOpen-ended build and test cycleFast install but integration gaps surface laterNo path to a Paytrail checkout

Frequently Asked Questions about Paytrail Payment Gateway

How long does delivery take?

This is build-to-order, so there is no instant download. After you request a quotation we run a short scoping call, then typical delivery is one working week from confirmed scope, depending on your Odoo version, edition, and the exact Paytrail methods and refund behavior you need.

What do I need from Paytrail before you start?

A Paytrail merchant account with your merchant ID and secret key. For UAT we use Paytrail's normal test credentials; you switch the provider to your live credentials at go-live. We also register the webhook/return URLs in your Paytrail dashboard as part of installation.

Which Odoo versions and editions do you support?

Odoo 17.0, 18.0, and 19.0, on both Community and Enterprise. The payment-provider framework exists in Community, so this works without Enterprise; we build for your exact target version and handle the API and controller differences between them.

How do you keep spoofed 'payment successful' callbacks from confirming orders?

Every Paytrail return and webhook is HMAC-signed. Our controller recomputes the signature server-side with your secret key over the `checkout-*` parameters and rejects any request that doesn't match before a `payment.transaction` is ever confirmed. A transaction only reaches `done` on an authentic, verified success signal.

Are refunds supported?

Yes. Full and partial refunds can be initiated from the transaction record in Odoo, which calls Paytrail's refund endpoint and processes the verified callback. The Paytrail stamp and transaction reference are stored on the record so refunds and settlements reconcile cleanly.

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

You get a defined post-go-live support window for defect fixes and configuration help, plus the full git repository so your team can maintain it. Version upgrades (for example moving from 18.0 to 19.0) or new Paytrail features can be scoped as follow-on work.

Can it work with a headless or custom checkout?

Yes. The provider is built on Odoo's standard `payment.provider`/`payment.transaction` models, so transactions can be created and queried over Odoo's JSON-RPC/XML-RPC API and driven from a custom or headless front end while reusing the same verified callback flow.

Request a quote

Paytrail Payment Gateway

A build-to-order Odoo payment provider that aggregates Finnish online banking, cards, and wallets through Paytrail, with server-side HMAC signature verification, refund support, and EUR localization. ECOSIRE builds, installs, and supports it after you request a quotation.

  • New `payment.provider` record with a dedicated `code`, state (test/enabled/disabled), and Paytrail-specific credential fields (merchant ID, secret key) surfaced in Settings, not hardcoded
  • Live aggregation of Finnish payment methods — bank buttons (OP, Nordea, Danske, S-Pankki, Aktia and others), card, and wallets like MobilePay — fetched from Paytrail's payment-groups response
  • Server-side HMAC signature verification on every return and webhook: the controller recomputes the `checkout-*` signature and rejects mismatches before confirming any `payment.transaction`
  • Redirect + return-controller flow integrated with Odoo eCommerce (`website_sale`) and the invoice/sales `Pay Now` portal checkout

Request a Quotation

Tell us about your Paytrail 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.