Skip to main content
iVentureTeam

Odoo 20 Online Payments Release Notes

All 16 Online Payments changes from the official Odoo 20 release notes, explained in plain words with a screenshot from a live Odoo 20 database, plus where to find each one and what it means for your upgrade.

Planning the move? See our Odoo upgrade services, the Odoo 20 upgrade guide or get a number from the migration cost calculator.

New feature 6Enhancement 8Refactoring 1Removal 1In Community 16
Type

Change 1 of 16

ACH payments

EnhancementCommunity

Tokenization is now available with ACH payments.

Official Odoo 20 release note

In plain words

ACH Direct Debit (US bank debits) can now be saved as a payment token, so customers can reuse their bank account for later payments and subscriptions. The payment method's Tokenization option is now switched on.

Invoicing > Configuration > Payment Methods > ACH Direct Debit > ConfigurationThe ACH Direct Debit method (Stripe) now has Tokenization enabled.

Where to find it

  1. Activate developer mode.
  2. Invoicing > Configuration > Payment Methods > ACH Direct Debit.
  3. Open the Configuration tab.

For users

Customers paying by ACH can tick "Save my payment details" and reuse the account later.

For developers

The ACH Direct Debit payment method records now ship with support_tokenization = True (in Odoo 20 each provider module carries its own payment.method data).

Upgrading from Odoo 19

No action needed; existing ACH methods get the flag from the module data.

Change 2 of 16

Authorize.net

EnhancementCommunity

Authorize.net now supports webhooks for delayed payment confirmations.

Official Odoo 20 release note

In plain words

Authorize.net can now call Odoo back through a webhook when a payment is confirmed later (for example an eCheck that settles after a few days). The provider form gets a Signature Key, a Webhook ID and a button to create the webhook, and Odoo updates the transaction when the notification arrives.

Invoicing > Configuration > Payment Providers > Authorize.net > ConfigurationThe Authorize.net provider now has an API Signature Key field, a Webhook ID field and a Generate Your Webhook button, used to receive delayed payment confirmations.

Where to find it

  1. Invoicing > Configuration > Payment Providers > Authorize.net > Configuration.
  2. Enter the Signature Key, then create the webhook.

For users

Delayed Authorize.net payments are confirmed automatically instead of staying pending.

For developers

New fields authorize_signature_key and authorize_webhook_id, a create-webhook action and a webhook controller that verifies the signature.

Upgrading from Odoo 19

Fill in the Signature Key and click the button to create the webhook after upgrading.

Change 3 of 16

ECPay

New featureCommunity

An integration has been added with ECPay, an online payment provider for Taiwan (available from 19.0).

Official Odoo 20 release note

In plain words

ECPay is a new payment provider for Taiwan. It appears in the list of payment providers and can be installed from there, with local Taiwanese payment methods.

Invoicing > Configuration > Payment ProvidersECPay is listed as an installable payment provider.

Where to find it

  1. Invoicing > Configuration > Payment Providers.

For users

Taiwanese companies can accept ECPay payments online.

For developers

New module payment_ecpay using the generic redirect form.

Upgrading from Odoo 19

None.

  • The payment_ecpay module is also present in the supplied Odoo 19 source, as the release note says (available from 19.0).

Change 4 of 16

Mollie

EnhancementCommunity

Part 1

The following payment methods are now supported for Mollie: Apple Pay, Blik, in3, Google Pay, Klarna, MB WAY, Multibanco, and Swish.

Official Odoo 20 release note

In plain words

Mollie now offers more payment methods: Apple Pay, BLIK, in3, Google Pay, Klarna, MB WAY, Multibanco and Swish are listed on the Mollie provider.

Invoicing > Configuration > Payment Providers > Mollie > Payment MethodsThe Mollie provider lists the newly supported methods, including BLIK and Multibanco, alongside the existing ones.

Part 2

Payment methods can be tokenized for recurring payments.

Official Odoo 20 release note

In plain words

Mollie can now save payment details as tokens, so the same card can be charged again later, for example for subscriptions.

Invoicing > Configuration > Payment Providers > Mollie > ConfigurationThe Options group on the Mollie provider now has an Allow Saving Payment Methods checkbox, enabling tokenized/recurring charges.

Where to find it

  1. Invoicing > Configuration > Payment Providers > Mollie > Payment Methods.

For users

More ways to pay through Mollie, and saved cards for recurring payments.

For developers

New payment.method records in payment_mollie; allow_tokenization = True on the provider and a new payment.token extension.

Upgrading from Odoo 19

None; enable the new methods on the Mollie provider if wanted.

Change 5 of 16

Pay on Invoice provider

New featureCommunity

A new "Pay on Invoice" payment provider is available, allowing customers to confirm their orders without requiring immediate payment.

Official Odoo 20 release note

In plain words

"Pay on Invoice" is a new custom payment provider. When a customer picks it at checkout the order is confirmed right away and the customer pays later, when the invoice arrives. Its form only keeps the Restrictions tab (pricelists, amounts, currencies, countries).

Invoicing > Configuration > Payment ProvidersThe new Pay on Invoice provider in the providers list.

Where to find it

  1. Invoicing > Configuration > Payment Providers.

For users

Trusted customers can place orders online and pay by invoice.

For developers

payment.provider custom_mode gets a new value pay_on_invoice (Odoo 19 only had wire_transfer).

Upgrading from Odoo 19

None; publish the provider and restrict it (for example by pricelist) if needed.

Change 6 of 16

Payment provider views

RefactoringCommunity

The payment provider views have been refined and simplified for a smoother user experience.

Official Odoo 20 release note

In plain words

The provider form is simpler. The old State field (Disabled / Enabled / Test mode) is gone: a Published button, a Live checkbox and an Archive action replace it. New smart buttons show the number of transactions with the processed amount and the number of saved tokens, and settings are grouped in Payment Methods, Configuration, Restrictions and Messages tabs.

Invoicing > Configuration > Payment Providers > StripeThe new smart buttons: Published toggle, Transactions with processed amount, and Tokens.

Where to find it

  1. Invoicing > Configuration > Payment Providers > Stripe.

For users

Clearer provider forms with test or live mode, publication and statistics at a glance.

For developers

payment.provider.state is removed; use is_live, is_published and active. New fields transaction_count, token_count, processed_amount; payment_method_ids is now a One2many (each method belongs to one provider).

Upgrading from Odoo 19

Custom code or views that read or write provider.state must be migrated to is_live / is_published / active.

Change 7 of 16

PayPal

EnhancementCommunity

The PayPal payment provider now manages card payments, alternative payment methods, tokenization, and OAuth for merchant authentication.

Official Odoo 20 release note

In plain words

PayPal is now a full provider: besides the PayPal wallet it accepts cards and local methods (Bancontact, BLIK, EPS, iDEAL, Multibanco, MyBank, P24, Trustly, Venmo, Pay Later), can save payment details as tokens, and is linked to the merchant account with a Connect button (OAuth) instead of copying API keys.

Invoicing > Configuration > Payment Providers > PayPalPayPal now lists Card and many alternative payment methods.

Where to find it

  1. Invoicing > Configuration > Payment Providers > PayPal.

For users

More payment options through PayPal and a one-click account connection.

For developers

New onboarding actions (action_start_onboarding, action_reset_credentials), status checks and tokenization support in payment_paypal.

Upgrading from Odoo 19

Existing PayPal setups keep working; reconnect through OAuth to get the new features.

  • The Connect button is visible at the top left of the screenshot; the OAuth flow itself needs a real PayPal account.

Change 8 of 16

PayU

New featureCommunity

PayU is now available as a payment provider for India.

Official Odoo 20 release note

In plain words

PayU, a payment gateway used in India, is a new payment provider that can be installed from the providers list.

Invoicing > Configuration > Payment ProvidersPayU is listed as an installable payment provider.

Where to find it

  1. Invoicing > Configuration > Payment Providers.

For users

Indian companies can accept PayU payments.

For developers

New module payment_payu.

Upgrading from Odoo 19

None.

  • The payment_payu module also exists in the supplied Odoo 19 source tree (backported).

Change 9 of 16

Pricelist and amount restriction

New featureCommunity

Restrict the use of a payment provider based on pricelists and minimum/maximum amounts.

Official Odoo 20 release note

In plain words

The Restrictions tab of a provider now has Pricelists, Minimum Amount and Maximum Amount. The provider is only offered when the customer's pricelist is in the list and the amount is within the range.

Invoicing > Configuration > Payment Providers > Stripe > RestrictionsNew Pricelists, Minimum Amount and Maximum Amount restrictions.

Where to find it

  1. Invoicing > Configuration > Payment Providers > Stripe > Restrictions.

For users

Offer a provider only to some customer groups or order sizes.

For developers

New fields minimum_amount (payment) and available_pricelist_ids (account_payment); _get_compatible_providers filters on them.

Upgrading from Odoo 19

None.

Change 10 of 16

Redsys

EnhancementCommunity

Payment methods can now be tokenized for recurring payments.

Official Odoo 20 release note

In plain words

Redsys (Spain) can now save card details as tokens, so later payments such as subscription renewals can be charged without the customer.

Invoicing > Configuration > Payment Providers > Redsys > ConfigurationThe Redsys provider now has an Allow Saving Payment Methods checkbox in its Options group, enabling tokenized recurring payments.

Where to find it

  1. Invoicing > Configuration > Payment Providers > Redsys > Configuration.

For users

Recurring card payments through Redsys.

For developers

allow_tokenization = True on the Redsys provider and token handling in the transaction model.

Upgrading from Odoo 19

None.

Change 11 of 16

SOFORT

RemovalCommunity

SOFORT is no longer supported as a payment method by any payment provider.

Official Odoo 20 release note

In plain words

The SOFORT payment method has been removed from Odoo. It is no longer defined for Adyen, Buckaroo or any other provider, so searching the payment methods for it finds nothing.

Invoicing > Configuration > Payment MethodsSearching for Sofort among the available payment methods returns nothing.

Where to find it

  1. Invoicing > Configuration > Payment Methods.
  2. Search for Sofort.

For users

Customers cannot pick SOFORT any more.

For developers

The payment.payment_method_sofort record and its code mappings are removed.

Upgrading from Odoo 19

Check for customizations or tokens that referenced the Sofort method.

Change 12 of 16

Stripe

EnhancementCommunity

The following payment methods are now supported for Stripe: Alma, Apple Pay, Canadian Pre-Authorized (ACSS) Debit, Google Pay, Satispay, and Swish.

Official Odoo 20 release note

In plain words

Stripe gets new payment methods: Alma, Satispay, Swish and Canadian pre-authorized (ACSS) debit, plus Apple Pay and Google Pay as card brands (shown next to Card).

Invoicing > Configuration > Payment Providers > Stripe > Payment MethodsCard (with Apple Pay and Google Pay brand icons), ACSS direct debit, Alma, Satispay and Swish on Stripe.

Where to find it

  1. Invoicing > Configuration > Payment Providers > Stripe > Payment Methods.

For users

More payment options at checkout with Stripe.

For developers

New payment.method records in payment_stripe; Apple Pay and Google Pay are brands of Card.

Upgrading from Odoo 19

Activate the new methods on the Stripe provider if wanted.

  • For the screenshot the four new methods were temporarily moved up in the list (sequence change, then restored).

Change 13 of 16

Toss Payments

New featureCommunity

A new online payment provider, Toss Payments, is available for South Korea.

Official Odoo 20 release note

In plain words

Toss Payments, a South Korean online payment service, is a new payment provider that can be installed from the providers list.

Invoicing > Configuration > Payment ProvidersToss Payments is listed as an installable payment provider.

Where to find it

  1. Invoicing > Configuration > Payment Providers.

For users

Korean companies can accept Toss Payments.

For developers

New module payment_toss_payments.

Upgrading from Odoo 19

None.

  • The payment_toss_payments module also exists in the supplied Odoo 19 source tree (backported).

Change 14 of 16

Wero

EnhancementCommunity

Wero is now supported as a payment method for Buckaroo and Worldline.

Official Odoo 20 release note

In plain words

Wero, the new European wallet, can now be used through Buckaroo and Worldline. The method is added to both providers and mapped to their own codes.

Invoicing > Configuration > Payment Providers > Buckaroo > Payment MethodsWero now appears as its own payment method on Buckaroo, and also as a small badge on the iDEAL row since Wero piggybacks on iDEAL rails in some markets; the same Wero method is present on Worldline.

Where to find it

  1. Invoicing > Configuration > Payment Providers > Buckaroo or Worldline > Payment Methods.

For users

Customers can pay with Wero on Buckaroo and Worldline.

For developers

New Wero payment.method records and code mappings (Buckaroo "Wero", Worldline 900).

Upgrading from Odoo 19

None.

  • Screenshot taken on Buckaroo only (single bullet); Worldline's own Wero/wero_brand payment.method records were confirmed the same way directly in the database (both providers ship identical data via their payment_method_data.xml).

Change 15 of 16

Wire transfers

New featureCommunity

Wire transfer payments are now automatically confirmed based on bank transactions.

Official Odoo 20 release note

In plain words

Pending wire transfer payments are now confirmed by themselves. A scheduled action looks for bank statement lines whose reference, partner, currency and amount match the transaction and marks the payment as done, which can also confirm the linked sales order.

Settings > Technical > Scheduled ActionsThe new scheduled action that confirms paid wire transfers from bank transactions.

Where to find it

  1. Activate developer mode.
  2. Settings > Technical > Scheduled Actions.
  3. Open Wire Transfer: Confirm paid transactions.

For users

No more manual confirmation of wire transfers once the money is on the bank statement.

For developers

New cron cron_auto_confirm_paid_wire_transfer_txs calling account.bank.statement.line._cron_confirm_wire_transfer_transactions.

Upgrading from Odoo 19

The customer must use the transaction reference as payment reference for the match to work.

  • In the test database the scheduled action is inactive; Odoo switches it on when a Wire Transfer provider is created or set up, and runs it when bank transactions come in.

Change 16 of 16

Xendit

EnhancementCommunity

Xendit now supports payments in Malaysia, Thailand, and Vietnam (available from 18.0).

Official Odoo 20 release note

In plain words

Xendit now accepts payments in Malaysia, Thailand and Vietnam: MYR, THB and VND are supported currencies and local methods such as FPX are added.

Invoicing > Configuration > Payment Providers > Xendit > Payment MethodsWith the Countries and Currencies columns switched on, the Xendit method list shows Thailand (Prompt Pay, THB), Malaysia (Touch'n Go, United Overseas Bank, MYR) and Vietnam (Viet Capital, Viettel Pay, VNPT Money, VP Bank, VND) side by side.

Where to find it

  1. Invoicing > Configuration > Payment Providers > Xendit.

For users

Xendit can be used by companies in more South-East Asian countries.

For developers

SUPPORTED_CURRENCIES now include MYR, THB and VND with new default methods.

Upgrading from Odoo 19

None.

  • As the release note itself says, this was already available from 18.0, so it is present unchanged in the Odoo 19 source; it is listed here only because Odoo republished it in the 20.0 notes.

See all 585 Odoo 20 changes across 52 apps

Odoo 20 Online Payments: common questions

What is new in Odoo 20 Online Payments?

The official Odoo 20 release notes list 16 Online Payments changes (6 new features, 8 enhancements, 1 refactoring, 1 removal). They include ACH payments, Authorize.net, ECPay, Mollie and more.

Are the Odoo 20 Online Payments changes available in Community edition?

Yes. All 16 Online Payments changes are in Odoo 20 Community, so they are in Enterprise too.

Do Odoo 20 Online Payments changes affect my customizations when upgrading from Odoo 19?

7 of the 16 changes have something to check when upgrading from Odoo 19, for example ACH payments, Authorize.net, Payment provider views. Each change on this page has an "Upgrading from Odoo 19" note. Test custom modules on a copy of your database before moving production.

How do I upgrade Online Payments to Odoo 20?

Restore a copy of your database, run the Odoo 20 upgrade on the copy, fix any custom modules that extend Online Payments, then test your main Online Payments flows with real users before switching production. iVentureTeam runs Odoo upgrades end to end, including custom module migration and user testing.

Odoo services for this

More Odoo 20 release notes

Planning your Odoo 20 move

Want these Online Payments changes in your database?

We upgrade Odoo databases with their customizations and data intact, and test every custom module against the new version before go-live.