Odoo
Technical manual for MultiSafepay's free plugin.
Note:One of the modules of the MultiSafepay Odoo plugin has been recently renamed from payment_multisafepay to payment_multisafepay_official. If you are upgrading from a previous version, check the upgrade guide for further instructions.
Prerequisites
- MultiSafepay account
- Odoo 18.0, Odoo 19.0 or Odoo 20.0
- Python 3.9+ (tested on 3.12)
- Administrator privileges on your Odoo instance
Installation
It includes:
payment_multisafepay_official: Core MultiSafepay payment provider integration.payment_multisafepay_enhanced: Optional enhanced business logic on top of the core addon.
Download a release that matches your Odoo version:
- Odoo 18.0:
18.0.x.x.x - Odoo 19.0:
19.0.x.x.x - Odoo 20.0:
20.0.x.x.x
Each release contains a single ZIP bundle (e.g. multisafepay_<version>.zip) that includes the full multi-module suite under a multisafepay/ folder.
Before installing the modules, make sure all their Python dependencies are installed in the same Python environment used by your Odoo instance:
cd multisafepay/
pip install -r requirements.txt
The modules can be installed in two ways:
Installation on a Self-Hosted or Docker Odoo Instance
This method applies to administrators with direct access to the Odoo server. In this case, the module must be deployed directly on the server. You can use an existing custom addons directory, or create a new one.
- Edit the configuration file (
odoo.conf). Add (or update) theaddons_pathentry to include the directory where the module is located:# In your odoo.conf file addons_path = /path/to/odoo/addons,/path/to/custom_addons/multisafepay
Odoo only scans direct children of each addons_path entry. Make sure the addons_path points to the folder that directly contains payment_multisafepay_official/ (and optionally payment_multisafepay_enhanced/).
-
Download the ZIP bundle from our releases, extract it, and copy the
multisafepay/folder into your custom addons directory:# Example unzip multisafepay_<version>.zip cd /path/to/custom_addons cp -r /path/to/extracted/multisafepay ./ -
Restart your Odoo server:
- Docker:
docker compose restart odoo - Systemd:
sudo systemctl restart odoo
- Docker:
-
Sign in to your Odoo backend as Administrator and go to Apps > Update Apps List.
-
Search for MultiSafepay in the Apps list.
-
Click Install.
-
(Optional) Install MultiSafepay Enhanced if you need the additional business logic.
-
Go to Apps > MultiSafepay and click Activate.
-
Go to Invoicing > Payment Providers to activate and configure MultiSafepay.
Installation on Odoo.sh
- In your Odoo.sh project, open the Git repository connected to your instance.
- Clone the repository locally:
git clone <your-odoo-sh-repository-url> cd <your-odoo-sh-project> - Add the official MultiSafepay Odoo connector as a Git submodule inside your addons folder:
git submodule add https://github.com/MultiSafepay/odoo.git <your-addons-directory>/multisafepay
Ensure your addons_path includes <your-addons-directory>/multisafepay (Odoo only scans direct children of each addons_path entry).
4. Commit and push your changes:
git add .
git commit -m "Add MultiSafepay module"
git push origin main
- Odoo.sh will automatically build and deploy your changes.
- Sign in to your Odoo backend as Administrator and go to Apps > Update Apps List.
- Go to Apps > MultiSafepay and click Activate.
- Go to Invoicing > Payment Providers to activate and configure MultiSafepay.
Configuration
- Sign in to your Odoo backend.
- Go to Invoicing > Configuration > Payment Providers.
- Click MultiSafepay.
- Under State, select Test Mode and enter your test API Key.
- Save your changes.
- Go to Configuration and click Pull Payment Methods to synchronize and activate all available payment methods from your MultiSafepay account.
- Run a test transaction to confirm the integration is working.
- When ready, change State to Enabled to switch to Live Mode and enter your live API Key.
- Verify that your payment method settings remain intact after switching.
- Set the provider to Published so it becomes available at checkout.
User guide
Orders
Your customers can place orders through the checkout page, and administrators can also create invoices directly from the Odoo backend.
Checkout page
- After selecting an item, click View cart > Checkout.
- Enter an existing address or provide a new one. You can configure delivery and billing addresses individually.
- Click Confirm.
- At the checkout page, select the payment method and click Pay now.
- Provide any required information (e.g. bank account number), and confirm payment.
- When the transaction is completed, Odoo will receive an Order Confirmed webhook notification and will confirm the order.
- You can find your orders confirmed under Website > eCommerce > Orders.
Create an invoice
- Sign in to your Odoo backend.
- Go to Invoicing > Customer > Invoices
- Click New.
- Fill the required fields:
- Select an existing customer or create a new one under Customer > Search More > New.
- Enter an existing Delivery Address or create a new one.
- Select the item under Invoice Lines.
- Click Send to email the invoice to the customer.
- The customer can open the invoice from the email and click the Pay Now button if the invoice is unpaid.
- Alternatively, as an administrator you can generate a Payment Link from the invoice, copy it, and send it manually to the customer.
Refunds
In Odoo, you can process full and partial refunds. Orders that have been shipped cannot be refunded unless returned. To process a refund for an order:
- Sign in to your Odoo backend.
- Go to Website > eCommerce > Orders.
- Click the relevant order you want to refund.
- On the order page, go to Invoices > Payments.
- Click Refund. Enter the maximum allowed amount for a full refund or modify it to process a partial refund.
- Click Refund.
Payment methods
By default, any payment method you activate in your MultiSafepay account will be available for your backend. Newly activated payment methods must be enabled manually in your backend settings.
To configure your payment methods:
- Sign in to your Odoo backend.
- Go to Invoicing > Configuration > Payment Providers.
- To enable or disable payment methods individually, click Enable Payment Methods. Here, you can inspect payment methods, their minimum and maximum amounts and supported currencies.
Updates
Before updating, back up the Odoo database and test the new version in staging.
If you are using self-hosted or Docker Odoo:
-
Replace the existing addon files with the files from the new version.
-
Update the Python dependencies:
pip install 'multisafepay==3.1.0' requests --upgrade -
Restart Odoo.
-
Upgrade the addon from Apps, or run:
odoo-bin -u payment_multisafepay_official -d your_database_name # Optional (only if installed) odoo-bin -u payment_multisafepay_enhanced -d your_database_name -
Run a payment, cancellation, and refund test.
If you are using Odoo.sh:
-
Update the MultiSafepay Odoo module in your Odoo.sh project by pulling or merging the latest version of the MultiSafepay repository into your project.
-
Upgrade the addon from Apps, or run:
odoo-bin -u payment_multisafepay_official -d your_database_name # Optional (only if installed) odoo-bin -u payment_multisafepay_enhanced -d your_database_name -
Run a payment, cancellation, and refund test.
Upgrading from previous versions
With the release of versions 18.0.3.0.0 and 19.0.3.0.0, the MultiSafepay module has been renamed from payment_multisafepay to payment_multisafepay_official.
If you're upgrading to either of these versions, follow one of the migration methods below:
- Seamless UI migration (recommended) - Complete the migration through the Odoo web interface without using the command line.
- Command Line (CLI) migration - Complete the migration using CLI commands. Suitable for developers and administrators managing self-hosted, Docker, or Odoo.sh deployments.
Seamless UI migration
Thanks to the automated pre-installation migration hook (pre_init_hook), the existing module data is migrated automatically. Upgrading to payment_multisafepay_official can be completed entirely through the standard Odoo web interface. To complete the migration, follow these steps:
-
Update the module files:
Ensure the newpayment_multisafepay_officialdirectory is placed in your Odoo custom addons folder and restart your Odoo service. -
Update the apps list:
- Sign in to Odoo as an Administrator.
- Navigate to the Apps menu.
- Click Update Apps List in the top navigation bar (enable Developer mode if this button is not visible) and confirm.
-
Install the new module:
- In the Apps search bar, search for
MultiSafepay Official(orpayment_multisafepay_official). - Click the Install button.
The built-in
pre_init_hookruns during installation, remaps all existing XML IDs, provider credentials, payment methods, and historical transaction logs topayment_multisafepay_official, and removes obsolete module pointers.
- In the Apps search bar, search for
Command-line (CLI) migration
An automated migration hook (pre_init_hook) transfers all credentials, payment methods, and transaction history to the new module automatically.
Follow the instructions for your hosting environment:
- On-premises, self-hosted, or Docker: Install the new module using the Odoo CLI.
- Odoo.sh: Deploy the updated module through your Git repository, then install it through the Odoo web interface or CLI.
On-premise / self-hosted / Docker
Replace the old module folder with payment_multisafepay_official in your custom addons path, restart the Odoo service, and run:
# IMPORTANT: Use '-i' (install), NOT '-u' (upgrade)
odoo-bin -i payment_multisafepay_official -d your_database_name
# If using payment_multisafepay_enhanced:
odoo-bin -i payment_multisafepay_official -u payment_multisafepay_enhanced -d your_database_name
Note:Using
-iis mandatory because Odoo treats the renamed module as new, which triggers thepre_init_hookbefore loading data.
Odoo.sh
-
Update repository / submodule:
Update the MultiSafepay submodule or repository to the latest branch/tag, commit, and push to your Odoo.sh branch:git submodule update --remote <path_to_submodule>/multisafepay git add . git commit -m "Update MultiSafepay to payment_multisafepay_official" git push origin main -
Deploy & install via Web UI:
Once the Odoo.sh build finishes, log into the backend.- Go to Apps > Update Apps List.
- Search for MultiSafepay Official and click Install.
Alternatively, run the following command via the Odoo.sh Web Shell / CLI tab:
odoo-bin -i payment_multisafepay_official -d your_database_name
Odoo POS
Odoo POS is a ready-made integration that allows you to connect a SmartPOS device to your Odoo backend and process payments with cloud mode. It supports both SmartPOS devices, enabling you to accept payments directly from your Odoo POS system.
Support
Contact MultiSafepay:
- Email: [email protected]
- GitHub: Create a technical issue
Updated 12 days ago