A Braintree payment acquirer for Odoo that puts cards, PayPal, Venmo and Apple/Google Pay behind a single Drop-in UI, with 3DS2/SCA, vault tokenization and webhook reconciliation. ECOSIRE builds, installs and supports it for your Odoo 17, 18 or 19. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $249.00 USD; request a quote for a scoped proposal.

A Braintree payment acquirer for Odoo that puts cards, PayPal, Venmo and Apple/Google Pay behind a single Drop-in UI, with 3DS2/SCA, vault tokenization and webhook reconciliation. ECOSIRE builds, installs and supports it for your Odoo 17, 18 or 19.
Aucun paiement maintenant. Ceci envoie une demande de devis à notre équipe — nous vous recontacterons par e-mail avec les tarifs et les prochaines étapes.
Most global merchants running Odoo want two things at checkout that don't come in one box: PayPal's buyer trust and first-class card acceptance, plus the newer wallets (Venmo, Apple Pay, Google Pay) that reduce friction on mobile. Odoo's built-in payment acquirers cover a fixed roster (Stripe, Adyen, PayPal Standard, etc.), and none of them route cards, the PayPal button, and wallets through a single tokenized vault with unified reporting. Merchants end up bolting on two or three separate acquirers, reconciling them by hand, and losing the SCA/3DS2 coverage that European and UK card rules now require. That is exactly where Odoo native runs out of road — and where a purpose-built Braintree acquirer earns its place.
Native `payment.provider` (`payment.acquirer` on 17.0) subclass that registers Braintree as a first-class acquirer in Invoicing and Website settings, honoring Odoo's standard `payment.transaction` state machine
Braintree Drop-in UI and Hosted Fields rendered inside Odoo's QWeb checkout, so card data is tokenized client-side and the PAN never reaches your Odoo server (PCI-DSS SAQ-A posture)
Single checkout container for cards, the PayPal button, Venmo, Apple Pay and Google Pay, each toggle-able per provider record
3DS2 / SCA support so EEA and UK card payments complete the issuer authentication challenge instead of soft-declining
Client-token generation endpoint plus server-side nonce settlement (authorize or sale-capture) via the Braintree server SDK
Vault tokenization mapped to Odoo `payment.token` records, enabling saved cards, portal re-orders and Odoo Subscriptions recurring charges
We build a first-class Odoo payment acquirer that plugs into the standard payment framework, so it behaves like any core provider: it appears in Invoicing/Website settings, respects the payment.transaction state machine (draft → pending → authorized/done → cancel/error), and reuses Odoo's existing checkout, portal "pay now", and subscription flows. The provider record subclasses payment.provider (payment.acquirer on 17.0) with your Braintree merchant, public and private keys stored as encrypted config fields, and a Sandbox/Production toggle. On the storefront, Braintree's Drop-in UI and Hosted Fields render inside Odoo's QWeb checkout template, so card data is tokenized in the browser and the PAN never touches your Odoo server — a clean PCI-DSS SAQ-A posture. A single container surfaces cards, the PayPal button, Venmo, and Apple/Google Pay based on what you enable.
Under the hood the module authorizes or sale-captures via Braintree's server SDK, writes back provider_reference and the transaction result, and drives 3DS2/SCA so European and UK cards clear the issuer challenge instead of soft-declining. Recurring and "save my card" use Braintree's vault: we persist payment method tokens against payment.token records so Odoo Subscriptions and portal re-orders charge without re-entering card details. A signed Braintree webhook endpoint (a controllers/ route, CSRF-exempt and signature-verified) reconciles asynchronous events — settlements, disputes, refunds, subscription charges — back onto the matching payment.transaction, and an optional ir.cron sweep catches any webhook that was missed. Access is locked down with ir.model.access.csv and record rules so only Accounting/Payment roles read raw gateway data; refunds and voids are exposed as guarded server actions on the transaction. Everything is packaged as a proper module — __manifest__.py declaring the payment dependency, versioned 17.0/18.0/19.0, with server-action and QWeb receipt reporting where you need it.
Because this is build-to-order, nothing is a black box you download blind. We start with a short scoping call to confirm your Odoo version and edition (Community vs Enterprise), which wallets and currencies you need, your settlement/multi-currency setup, and whether Subscriptions/recurring is in scope. We then build against your requirements, deliver on a staging copy of your database for UAT, and go live with you. Typical delivery is 2–4 weeks from confirmed scope, depending on wallet count, subscription depth and any custom reconciliation rules. You receive the full source, a git repository handover, and a support window after go-live.
Sells across the US, EU and UK on the Odoo website and needs PayPal, Venmo and cards in one checkout with 3DS2/SCA so European card payments don't soft-decline.
Runs Odoo Subscriptions and needs vaulted payment tokens so renewals charge automatically against saved cards or PayPal without re-collecting details.
Owns reconciliation and wants Braintree settlements, refunds and disputes flowing back onto `payment.transaction` and into Accounting, not tracked in a separate spreadsheet.
Maintains the Odoo instance and wants a clean, dependency-declared module with source and git handover rather than a locked binary they can't audit or upgrade.
Achetez la licence sur ecosire.com et téléchargez le module ZIP Braintree (PayPal) Gateway for Odoo depuis le tableau de bord de votre compte.
Extrayez le ZIP dans votre dossier de modules complémentaires personnalisés Odoo sur le serveur (ou téléchargez-le via Applications > Installer à partir du fichier sur Odoo.sh / runbot).
Activez le mode développeur, ouvrez les applications, cliquez sur Mettre à jour la liste des applications, recherchez Braintree (PayPal) Gateway for Odoo et appuyez sur Installer.
Ouvrez le nouveau menu, collez votre clé de licence ECOSIRE, connectez toutes les informations d'identification externes (Shopify, Amazon, Stripe, etc.) et enregistrez.
Exécutez le test de connexion intégré, synchronisez vos 10 premiers enregistrements et planifiez le cron récurrent. Contactez le support si quelque chose échoue.
| Critère | ÉCOSIRE | Construction personnalisée | Concurrent | Odoo natif |
|---|---|---|---|---|
| Payment methods in one checkout | Cards, PayPal, Venmo, Apple/Google Pay in a single Drop-in container | Whatever you build and maintain yourself | Often cards or PayPal, rarely all wallets unified | |
| 3DS2 / SCA coverage | Built-in and tested against EEA/UK challenge flows | You implement and verify the 3DS2 handshake | Varies; sometimes partial or version-locked | |
| Vault / recurring tokens | Braintree vault mapped to `payment.token` for Subscriptions | You design token storage and renewal logic | Inconsistent; may not link to Odoo Subscriptions | |
| Webhook reconciliation | Signed webhook + `ir.cron` sweep onto `payment.transaction` | You build signature checks and event mapping | Basic status callback, limited event coverage | |
| Fit to your Odoo version | Built for your exact 17.0 / 18.0 / 19.0 and edition | Fully bespoke but from scratch | Whatever the vendor last packaged | |
| Source & ownership | Full source + git repository handover, no lock-in | You own it (and the whole maintenance burden) | Often obfuscated or licence-locked binary | |
| Support & accountability | Post-go-live support window from the team that built it | Rests entirely on your internal developers | Ticket queue, generic, no context on your setup | |
| Total effort to launch | Scoped, built, UAT on staging, go-live with you | Longest path; design, build, test all in-house | Fast to install but gaps surface at go-live |
This is a build-to-order module. Typical delivery is 2–4 weeks from confirmed scope, depending on how many wallets you need, whether Odoo Subscriptions/recurring is in scope, and any custom reconciliation rules. We confirm a firm timeline on the scoping call before any work starts.
No. ECOSIRE builds, installs and supports it for your specific Odoo version and requirements. There is no instant download — you request a quotation, we scope it, build it, run UAT on staging, and go live with you.
Every build includes a post-go-live support window for defect fixes and configuration help, and you receive the full source and git repository so your team can maintain it. Version upgrades (e.g. 18.0 to 19.0) or new wallets/features are handled as a follow-on scope, and because you own the code there is no lock-in.
Yes. The module drives Braintree's 3D Secure 2 flow so cards subject to EEA/UK Strong Customer Authentication complete the issuer challenge inline, which reduces soft-declines while keeping you compliant.
No. We use Braintree's Drop-in UI / Hosted Fields, so card details are tokenized in the customer's browser and only a payment nonce reaches your server. This keeps you in a PCI-DSS SAQ-A scope rather than handling PANs directly.
Yes. It's built on the standard `payment` framework which exists in both editions, so it runs on Community and Enterprise for Odoo 17.0, 18.0 and 19.0. We confirm your edition on the scoping call because a few surrounding flows (like Subscriptions) differ.
Yes. Saved payment methods are stored as `payment.token` records backed by the Braintree vault, so portal re-orders and Odoo Subscriptions renewals charge the vaulted card or PayPal account without re-collecting payment details.
A Braintree payment acquirer for Odoo that puts cards, PayPal, Venmo and Apple/Google Pay behind a single Drop-in UI, with 3DS2/SCA, vault tokenization and webhook reconciliation. ECOSIRE builds, installs and supports it for your Odoo 17, 18 or 19.