1. Introduction

This document provides a comprehensive overview of Saferpay, detailing its purpose, features, system interfaces, functionalities, operating constraints, and responses to external stimuli. It is intended for system stakeholders and developers, serving as a foundational guide for software development.

2. Saferpay

Easy, Flexible, Secure: Saferpay by Worldline – The Comprehensive E-Payment Solution for Your Online Shop.

Saferpay offers a reliable and flexible e-payment solution to streamline secure payments in your online shop. With support for a broad range of national and international payment methods, Saferpay consolidates payment processing via a single, easy-to-integrate interface, adaptable to most shop systems.

This Odoo module enables compatibility with Saferpay, supporting the following payment methods and workflows: 

This Odoo module enables compatibility with Saferpay, supporting the following payment methods and workflows:

  • Credit/Debit Cards: VISA, Mastercard, Maestro, American Express, Bancontact, Diners, JCB
  • Bank and Wallet Options: EPS, Klarna, Sofort by Klarna, UnionPay, PayPal, TWINT, Paydirekt, iDEAL, ePrzelewy, Alipay, Google Pay, Apple Pay, Post Finance Pay
  • Direct Bank Transfers: Account-to-Account, SEPA ELV, WeChat Pay

The module supports all core Saferpay features, including the payment page, transaction interface, Saferpay fields, saved card functionality, refund processing, and cancellation. It also provides seamless multi-website compatibility, making it an ideal solution for diverse online business needs 

3. Configurations and Requirements

  • Odoo Working Environment: Ensure a functional Odoo setup.
  • Saferpay Module License: Obtain a valid license for the Saferpay module.
  • Saferpay Account: A valid Saferpay terminal account is required before installation.
  • API Credentials: Secure the necessary API credentials for both live and test environments, including Terminal ID, Customer ID, API Username, and API Password.
  • Payment Acceptance Agreement: A valid acceptance agreement is necessary for all supported payment methods and credit cards. 

4. General Configurations in Backend

Steps to Enable Refund Functionality

  • a) Enable Full Accounting Features:
    • Add the admin to the "Show Full Accounting Features" group by navigating to:
    • Settings → Users and Companies → Groups → Show Full Accounting Features
  • b) Enable Share group :
    • Add share group by navigating to:
    • Settings → Users and Companies → Groups → Show Full Accounting Features – Readonly
  • c) Map Outstanding Receipts Accounts:
    • Assign the Outstanding Receipts accounts for Incoming and Outgoing Payments in Journals.
  • d) Configure Saferpay Settings:
    • Navigate to Invoicing → Configuration → Saferpay Provider Configuration to set up Saferpay data:
      • Production URL: Enter the production URL.
      • Test URL: Enter the test URL to toggle between test and production environments.
      • Customer ID: Enter the Customer ID associated with your Saferpay account.
      • Terminal ID: Enter the Terminal ID for the Saferpay account.
  • e) Set Payment Means and Terminals:
    • Access payment methods and terminals by going to Settings → Payment Means / Terminals in the Saferpay Backoffice

Figure1 -General Configuration

  • API UserName: Enter the API username
  • API Password: Set the API Password. Youcan create new API login from Saferpay backoffice by navigating to: 

Settings → JSON API basic authentication → Create new JSON API login.

Figure 2 – Retrieving JSON API Keys

  • API Key: Enter the API Key used specifically for Saferpay Fields.

     

    You can generate new API Tokens in the Saferpay Backoffice by navigating to: Settings Saferpay Fields Access Tokens. 

Figure 3 – Retrieving Saferpay field access token

  • Liability Shift Behaviour: Defines the action if liability shift fails, which checks forpotential fraud in transactions. Two options are available: 
    • Hold: Puts the transaction on hold 
    • Cancel: Cancels the transaction. 
  • Force 3D secure authentication during transactions: If enabled, Saferpay will ensure a Forced 3ds authentication. The 3ds authentication type is also displayed in Transaction overview section.
  • Payment Method Synchronization: Automatically retrieves and configure all available payment methods from the Saferpay account. 
  • Customer License: Fetches license package and feature details from Saferpay and adds them under Invoicing-> Configuration -> Saferpay Provider Configuration -> Customer License. 
  • Create API Key: Generates the API key required for Saferpay field functionality. 
  • Send Status Email:  Sends automated status update emails to customer. 
  • Update Payment Method Logo From Saferpay(SVG): When enabled, a weekly cronjob updates the payment provider's logo. If disabled, a static image will be used instead. 
  •  SCA Exemptions: When an exemption is granted, no Liability shift through 3D Secure is given!
    • LOW_VALUE - This transaction has an overall value of 30 Euros, or lower and thus does not fall under SCA by PSD2!
    • TRANSACTION_RISK_ANALYSIS - External Fraud Risk Analysis will be done 

Figure 4 – Configuration List View

Figure 5 – Configuration Form View

  • Smart buttons
    • Providers:  Displays a list of configured providers (payment methods) under this setting.
    • Logging:  Shows a list of all logs related to API calls, helping to monitor and troubleshoot integration issues. 

5. Payment Method Configurations

You can configure Saferpay payment methods by navigating to Invoicing Configuration Payment Methods, as shown in the figure. This menu allows you to set up and manage each payment method integrated with Saferpay. 

 Figure 6 - Payment Methods list view 

 Figure 7 - Payment Method form View 

In this section, you can configure the following for Saferpay transactions: 

  • Saferpay Code:  This code is used for communication with Saferpay, allowing you to identify the specific payment method utilized for each transaction. 
  • Allowed Currencies:  This option allows you to define the predefined currencies that can be used with the specified payment method. 

6. Provider Configurations in Backend

You can configure the providers/payment methods for Saferpay by navigating to Invoicing → Configuration → Payment Providers, as illustrated in the figure. This menu allows you to manage and set up the various payment methods available through Saferpay. 

 Figure 8 – Payment Providers Kanban View 

 Figure 9 - Payment Providers form view 

In this section, you can configure the default settings for providers in Odoo:

  • Payment Journal: Specify the journal to be used for this payment provider.
  • Capture Amount Manually: If selected, this activates the manual capture option for the provider
  • Allow Saving Payment Methods:  This option enables customers to save their card information for future transactions, accessible from the checkout page and under My Account → Payment Methods.
    • Tokenization: This feature works in conjunction with the "Allow Saving Payment Methods" option. To enable it, go to the related payment method of the provider, navigate to Configuration, and check the “Tokenization Supported” checkbox. This allows users to choose whether to save their card during payment.
    • My Account save card permission for Portal Users: To grant full access to portal users for saving payment methods, navigate to Settings → Technical → Access Rights, and provide full access to payment.token.system and payment.provider.system.

 Figure 10 - Save Card feature enabled 

Payment Methods: This section displays the supported payment methods for Saferpay. Here, you can view the allowed currencies and codes associated with each payment provider, which are retrieved from the payment methods configuration.

7. Configurations Only for Saferpay Providers

  • Need Order Limit: : If checked, you can set minimum and maximum order limits for transactions.
  • Send Customer Address: Determines whether to send the customer's delivery and billing address to the Saferpay back office.
  • Support Notify URL:  Allows you to configure the provider’s support Notify URL.
  • Customer Confirmation email: Specifies if a customer confirmation email is required. Saferpay will send this email only if the customer is redirected to the Saferpay payment page. For DCC transactions, emails will be sent across all payment interfaces.
  • Allowed Currencies: The allowed currencies are loaded from the payment methods. The listing of payment methods on the payment page depends on these currencies. If the shop's currency is not included in the allowed currencies, it will not appear on the shop's payment page.
  • Payment Interface: Choose the payment interface with three options: 
    • Payment page: If enabled, the checkout will redirect to the Saferpay payment page. 
    • Transaction Interface:  If enabled, the checkout will load the transaction interface (iframe). 
    • Saferpay Fields: If enabled, payments can proceed with Saferpay Fields, capturing data via a fully PCI-certified system. 
  • Register Payment Type: Defines the type of payment method/provider, essential for saving cards. The options include: 
    • CARD
    • BANK_ACCOUNT
    • POSTFINANCE
    • TWINT 
  • Support Refunds: Indicates whether this provider supports refund transactions. 
  • Smart Buttons: 
    • Saferpay Loggings: Displays a list of all logs related to API calls used for this provider.
    • Business License: Used for license switching between e-commerce and business licenses. 

8. Payment Page Interface

To configure the payment page interface, follow these steps:

  1. Navigate to Invoicing → Configuration → Payment Providers.
  2. Select the desired payment provider from the list. 

The configuration options for the selected payment method will be displayed, as shown in the figure below. 

 Figure 11 – Configuration for Payment page 

9. Transaction Interface

To configure the transaction interface, follow these steps:

  1. Navigate to Invoicing → Configuration → Payment Providers.
  2. Select the desired payment provider from the list.

The configuration options for the transaction flow will be displayed, as illustrated in the figure below.

Note: Ensure that the provider license is switched to a business license to activate this transaction flow.

 Figure 12 – Configuration for Transaction Interface 

10. Saferpay Fields 

To configure Saferpay Fields, follow these steps:

  1. Navigate to Invoicing → Configuration → Payment Providers.
  2. Select the desired payment provider from the list.

The configuration options for Saferpay Fields will be displayed, as shown in the figure below.

Note: Make sure to switch the provider license to a business license to activate this flow.

Figure 13 – Configuration for Saferpay Fields

11. Manual Capture, Multipart Capture & Void Transaction

  • Manual Capture: After a transaction is completed and enters the authorized state, you must click the capture button to finalize the transaction. 
  • Multipart Capture: You can capture the amount either fully or partially. Clicking the Capture Transaction button captures the full amount, while selecting Multipart Capture allows for partial captures.
  • Void Transaction: Use the Void Transaction button to cancel the transaction at any stage before finalization. 

Figure 14– Manual/Multipart Capture

12. Refund

  • To enable the refund option, ensure that the provider license is switched to a Business License
  • The refund functionality offers two options: 
    • Referenced Refund: This option allows you to reference the original transaction in the Saferpay back office. Referenced refunds can be performed for both multipart (manual) captured transactions and normal captured transactions. 
    • Manually Refunded in Saferpay BO: If refund is completed from saferpay backoffice to map same in odoo need to enable this button to proceed with the credit note flow.
    • Note: For WL Crypto payments, Refunds is only possible from Saferpay backoffice

Figure 15– Referenced refund for Multipart capture

Figure 16 – Referenced refund 

    • Direct Refund: This type of refund is applicable when the original transaction is not available in the Saferpay back office
      • Managed by Merchant: The merchant can issue refunds to any saved payment token in the system. 
      • Refund Managed by Customer: This option allows the refund to be processed against the original transaction, giving the customer the ability to initiate the refund.

Figure 17 - Direct Refund

  • Important Note: Some payment methods may not support direct refunds. It is essential to consult the Saferpay documentation before configuring these options to ensure compatibility and proper setup.

13. Saferpay Multi-website Backend configuration

  • If no website is mapped against a payment provider, it will be available for all website domains.
  • To set up a multi-website configuration, you need to create multiple Saferpay payment providers by duplicating the existing Saferpay payment provider. This allows each website to have its own specific configuration.

Figure 18 – Creating a copy of the Payment Provider

  • After creating the Saferpay payment provider, ensure to map the respective website to it and add the necessary Saferpay credentials. This step is crucial for enabling the payment provider to function correctly for each specific website.

Figure 19 – Choosing the applicable website

  • For multi-website functionality, it is essential to set the domain for each website. This ensures that the payment provider operates correctly and is linked to the appropriate website, allowing for seamless transactions. 

Figure 20 – Configuring the website domain address 

14. Brief Description

To ensure the smooth functioning of this plugin, several configurations must be completed in the backend: 

  • Initial Setup: Begin with the Saferpay Provider Configuration, where you will provide your Terminal ID, Customer ID, API Username, API Password, and API Key from your Saferpay web administration tool.
  • Payment Methods: The Saferpay payment methods will be displayed on the shop's payment page.
  • Transaction Flow: Choose the Saferpay payment method, complete the payment on the Saferpay payment page, and return to the Odoo webshop

Initial step-by-step description

Prerequisites: Before integrating the Saferpay payment provider plugin, ensure that you have access to the Saferpay web administration tool, which allows you to verify and process transactions. You will need the API Username, API Password, and API Key for the Odoo backend configuration.

Step-by-Step Instructions: 

  • Install the Saferpay Payment Plugin. 
  • Add Saferpay Credentials: Enter the Terminal ID, Customer ID, API Username, API Password, and API Key in the Saferpay Provider Configuration record in the Odoo backend. 
  • Payment Method Synchronization: Click the “Payment Method Synchronization” button to automatically configure and enable available payment methods, or manually enable the desired payment providers.
  • E-commerce Setup: Go to the e-commerce website, add products to the cart, and proceed to checkout.
  • Select Payment Method: Choose the Saferpay payment method and click "Pay Now."
  • Complete Transaction: Fill out the necessary details on the Saferpay Payment Page to complete the transaction. 
  • Order Confirmation: The order is placed upon a successful payment transaction.

Saferpay Multi-website Configuration

  • Multi-Website Configuration: To set up Saferpay for multiple websites, duplicate the Saferpay Provider configuration using the Duplicate button.
  • Map and Configure Multiple Websites: Map the duplicated Saferpay Provider to the respective websites and enter the appropriate credentials for each. 
  • Set Domain for Websites: Ensure that each website’s domain is correctly configured in Odoo for proper multi-website functionality.

15. Technical Requirements / Compatible With:

  • Technical Requirements: This plugin requires the following Odoo modules: 
    • Sales
    • Payment
    • Contact
    • Website Module 
  • Compatibility: Compatible with Odoo On-Premise version 18.
  • Supported API Version: Supports Saferpay JSON API version 1.41. 

16.  Changes Log / Release Notes

  • Version 1.0.0: November 2024
    • Initial release. 

17. Support

If you have questions, use our contact form at webshopextension.com or email at support@webshopextension.com