Saferpay is the easy, flexible, secure and comprehensive e-payment solution from Worldline for easier and more secure payment in your online shop.

Worldline [Euronext: WLN] is the European leader in the payments and transactional services industry and #4 player worldwide. With its global reach and its commitment to innovation, Worldline is the technology partner of choice for merchants, banks and thirdparty acquirers as well as public transport operators, government agencies and industrial companies in all sectors. Powered by over 20,000 employees in more than 50 countries, Worldline provides its clients with sustainable, trusted and secure solutions across the payment value chain, fostering their business growth wherever they are

Worldline has been part of Worldline since the end of 2018, making it Europe'slargest technology partner for banks and merchants. The tailor-made solutions from Worldline include a broad portfolio of payment terminals and the acceptance and processing of national and international payments with credit, debit and prepaid cards as well as the smartphone. 


This plugin is implemented to integrate Saferpay Payment methods in WooCommerce. It supports the following payment methods of Saferpay to work with WooCommerce plugin.

  • VISA
  • JCB
  • EPS

This plugin supports all the features of online payment methods like payment capturing, refunding & cancellation. All these payment operations are done in the WooCommerce backend & will be synced to Saferpay account also.


To install and configure Saferpay plugin in WordPress, the following is required:

  • WordPress (upto 6.2.0) and WooCommerce (upto 7.5.1) plugin.
  • License for Saferpay
  • A valid Saferpay account with at least one active Saferpay terminal through which payments can be carried out.
  • API credentials like Terminal ID, Customer ID, JSON Username and JSON Password for the Saferpay Live- and/or Test environment.
  • Valid acceptance agreement for payment methods. 


To install Saferpay Plugin, follow the steps below.

  • Download Saferpay plugin ZIP package.
  • Go to WordPress admin dashboard and visit Plugins » Add New. After that, click on the ‘Upload Plugin’ button on top of the page.
  • Then a plugin upload form will appear. Here you need to click on the ‘Choose File’ button and select the plugin file you downloaded earlier.
  • After you have selected the file, you need to click on the ‘Install Now’ button.

WordPress will now upload the plugin file from your computer and install it for you. You will see a success message after the installation is finished.

  • Once installed, you need to click on the Activate Plugin link to start using the plugin.

Manual installation via FTP

In rare cases, your WordPress hosting provider may have file restrictions that could prevent you to install a plugin from the admin area. In this situation, best way is to install the plugin manually using FTP.

First you will need to download the plugin’s source as zip file. Next, you need to extract the zip file on your computer. Open the FTP client on your computer and connect to your website using the login credentials provided by your web host. Once connected, you need to go to the /wp-content/plugins/ folder on your website, and then upload the extracted plugin folder to that path.

After uploading the files, you need to visit the WordPress admin area and click on the Plugins link in the admin menu. You’ll see Saferpay plugin successfully installed on the plugins page. You need to click on the Activate link below the plugin to start using it.

After successfully installing the plugin, you can either enable test mode or live mode

Plugin update

To update the plugin, you have to follow up to step 4 from the Installation process described above.

  • After installation you will redirect to a page like below. From that you have to click "Replace current with uploaded" button.

From version 2.4.1 onwards, Saferpay WooCommerce Gateway will show the default plugin update notification from WordPress, so we can update it like any other plugins used in WordPress.


Saferpay offers the possibility to test all interfaces especially for your created test account. The Saferpay test account allows you to implement Saferpay into your system and make test transactions over several payment simulators before going live. https://docs.saferpay.com/home/integration-guide/testing-and-go-live

Test mode configuration

We need to enter the provided test credentials into Saferpay settings:

Menu Settings Saferpay Settings

Initially, enable test mode and we need to enter the provided test credentials into Saferpay settings:

Required Data:

  • Test-Customer ID
  • Test-Terminal ID (eCommerce Terminal).
  • Test JSON API username.
  • Test JSON API password.

Live mode configuration

Switch to Saferpay Operation mode to live & we need to enter the provided live credentials into Saferpay settings:

The following data is required

  • Live-Customer ID
  • Live-Terminal ID
  • Live JSON API username
  • Live JSON API password

If you are using WPML, you need to create "Saferpay Checkout" page in all supporting languages in order to make translation works properly. Refer screenshot below


Saferpay Plugin configuration includes two sections

  • Saferpay general settings
  • Payment method specific settings


Configure general Saferpay settings from Menu → Settings →Saferpay Settings

The following configurations are available in Saferpay basic settings

  • Enable Test Mode: It defines the Saferpay Operation mode. If it is enabled, it allows the payment gateway to work in test mode by using test API keys otherwise it will work as live mode. By default, test mode is enabled. 
  • Saferpay Licence: Choose the Saferpay licence you own. Saferpay has two licenses:
    • Saferpay eCommerce
      • Access to:
        • Payment Page Interface
    • Saferpay Business
      • Access to:
        • Payment Page Interface
        • Transaction Interface
        • Saferpay Fields and more

In case you have Saferpay Business without the corresponding license, the API will throw an error.

Recommended not to change it in ideal case. Changes applicable only if there is an update in base test url from Saferpay side.

  • Test Customer ID: Enter your test customer id given by Saferpay while creating a partner account in Saferpay.
  • Test Terminal ID: Enter your test terminal id given by the Saferpay.
  • Test JSON Username: Enter test JSON username given by the Saferpay
  • Test JSON API Password: Enter test JSON API password given by Saferpay. To get JSON API username and password you have to login to Saferpay management interface and go to Settings -> JSON API basic authentication. Please refer https://docs.saferpay.com/home/integration-guide/testing-and-go-live and https://saferpay.github.io/sndbx/index.html# terms for more information.
  • E-Mails: Saferpay will send an email to the address specified in this field. You can add multiple emails separated by a comma. It is not a mandatory field. This is applicable only for PaymentPage interface.
  • Check Extra Level of Authentication: Recommended for high-risk businesses (Jewelry, Electronics, etc.) to stick to the highest level of security. Else you can have it as “No, I don’t want extra level of authentication.”
  • Liability Shift Behavior: This field determines how to handle the transactions if a fraudulent card is used on the website. When we use this functionality, the liability shifts to the authorizing bank and the store owner receives no claim for any chargeback. It has two options:
    • Option A:” If no liability shift has been granted transaction will be on-hold, merchant can capture or cancel transaction”. Here order placed via fraudulent card will be on-hold and merchant can capture or cancel transaction accordingly.
    • Option B: If no liability shift has been granted transactions will be auto cancelled. Here order placed via fraudulent card will be cancelled.
    •  Option C: All transactions are captured automatically, including those without a granted liability shift. 
  • Payment Page CSS URL: Enter a valid CSS URL which is included in the payment page. This file must be hosted on an SSL/TLS secured web server (the URL must start with https://) Example: https://merchanthost/merchant.css. Refer https://saferpay.github.io/sndbx/CssiFrame.html for more details.
  • Description of the order: A human readable description provided by the merchant that will be displayed in Payment Page.
  • Payment Page Configuration Name: Here you can define the payment page configuration name. The configuration can be created from Safer pay Backoffice ('Settings > Payment Page Configuration'). If the configuration is not found by in Safer Pay (setting / Backoffice); the default configuration will be used.
  • If you are using live mode enter Live Customer ID, Live Terminal ID, Live JSON Username and Live JSON API password given by Saferpay while creating a partner account in Saferpay. To get access information for live environment you have to request an offer here. To get access information to live account please follow this link.
  • Payment Page Theme: Choose the theme to customize the appearance of Saferpay payment pages. As per default a lightweight responsive styling will be applied. Three types of settings are available:
    • Default lightweight responsive theme
    • Six
    • No Theme 
  • Allow save card in user profile: This allows merchant to enable/disable save card option in user profile. If it is enabled, allows your customer to save the credit card information in ‘My account ‘and to reuse the saved information for future payments. If it is disabled, it will hide the ‘Saved Cards’ menu as well from the ‘My account’
  • Force access token generation: This allows merchant to enable/disable Access-token generation. If it is enabled, "Access-token" is generated automatically. Also, you need the CustomerId and TerminalId to be configured for this to work. The generated token will overwrite the current token (if present), for the given environment configured. If it is not enabled, you need to create access-token manually from Saferpay backoffice. This is explained in pg.no. 26 under SAFERPAY (HOSTED) FIELDS SETTINGS (SAFERPAY CREDIT CARD).
  • Is User required to re-enter his CVC, when using a saved card: If we choose “Yes, Re-enter CVC “user will be prompted to enter CVC again during checkout while using saved card for their transaction. If “No need to re-enter CVC” chosen user will not be prompted to enter CVC during checkout while using saved card for their transaction

Screenshot: User prompted to enter CVC again during checkout when “Yes, Reenter CVC “option selected in Saferpay Settings

  • My Account Add Card template: Here we can choose templates for adding card details in My Account Saved Cards section for users. Four sample templates are available.
    Once you have configured Saferpay general settings, review all the settings carefully. If everything is fine, click Save Changes button.
  • Enable Fraud Prevention: This protects merchants from fraudulent online transactions. Based on analysis a fraud prevention status is assigned to each transaction. Possible values: BLOCKED, APPROVED and MANUAL_REVIEW. If set to "YES", Please enable Fraud Intelligence module on your Saferpay account.

Please refer the following link for the initial setup of Fraud Intelligence business in the Saferpay Backoffice https://docs.saferpay.com/home/features/fraud-intelligence#initial-setup-in-the-saferpaybackoffice


To create JSON API username and password you have to login to Saferpay management interface and go to Settings -> JSON API basic authentication. Please refer https://docs.saferpay.com/home/integration-guide/testing-and-go-live for more information. 


Individual payment methods which comes under Saferpay plugin can be configured from WordPress back-end under Menu WooCommerce → Settings → Payments.

Not all payment will be in your contract so be careful while enabling payment methods.


Settings of each installed payment methods can be easily configured by clicking Manage button.


Saferpay payment method specific configuration is explained in detail below:

  • Enable/Disable: Here you can set the visibility of installed payment method during checkout.
  • Title: Here you can set title of payment method which is displayed in shop during checkout.
  • Description: Here you can set a description of payment method which is displayed in shop during checkout.
  • Minimal Order Total: Here you can set availability of payment method according to minimal order total. If it is set to zero payment method will be always available during checkout irrespective of order total.
  • Maximal Order Total: Here you can set availability of payment method according to maximal order total. If it is set to zero payment method will be always available during checkout.
  • Allowed Countries: If you wish to accept payment from specific countries, you can select the countries. Multiple countries can be selected by Press Ctrl key. If there is no specification leave it.
  • Allowed currency: Choose the currencies that can be processed with this payment. Select allowed currency if any specification else leave it.
  • Customer Address: Here you can set customer address sent to SaferpayIf it is set to No, Customer address won’t be sent to Saferpay. If it is set to Send delivery address, Customer delivery address would be sent to Saferpay. If it is set to Send billing address, Customer billing address would be sent to Saferpay. If it is set to Send both shipping and billing address, Customer’s both billing and shipping address would be sent to Saferpay.
  • Pre-Authorizations: It extends the validity of an authorization up to 30 days. If it is set to YES, only Manual Capture option will be possible under Capturing settings. 
  • Customer Confirmation Email: Here you can set whether Saferpay send confirmation email to customer. It is only applicable if the customer is redirected to Saferpay.
  • Card FormHolder Name: If it is set to None, Saferpay should not display a field requesting the card holder name in payment interface. If it is set to mandatory, Saferpay should display a field requesting the card holder name in payment interface.
  • Capturing: Here you can set capturing mode. If it is set as Manual Capture amount is only reserved and you should capture it manually through WordPress back-end. If it is set as Auto Capture amount is captured automatically.

Auto Capture is not possible if Pre-Authorizations is set to YES 

  • Authorization Method: Here you can set authorization method used for payment processing. Two options are available under these settings.
    • Payment Page – During the order processing the user will be redirected from the WooCommerce shop to the Saferpay payment gateway interface to process the payment. On successful completion of the payment the user will be redirected back to the WooCommerce shop. The Saferpay Payment Page Interface is intended for a simplified and universal integration of the payment process by using the PaymentPage form. The Saferpay PaymentPage can be used both with a Saferpay eCommerce license and with a Saferpay business license. All Saferpay supported payment methods can be processes with the Payment Page Interface.
    • Transaction Interface (Widget Authorization) - During the order processing the user is served with Saferpay payment forms in a pop up within the WooCommerce shop. The Transaction Interface is an extension to PaymentPage Interface. It offers the Hosted Entry Form (HEF) to process card payments seamlessly. This interface can also be used in combination with Secure Card Data to store/tokenize payment data during the payment process. The Transaction Interface is only for holders of a business licence on the live system.

3DS pop up displayed during Checkout

  • Is Save Card Available? Here admin can set Active or Inactive status. By enabling this, the customer can register cards and use it for future payments. Card details will be stored in Saferpay. This option is available only for Widget Authorisation method. Once you have configured Saferpay payment method, review all the settings carefully. If everything is fine, click Save changes button.


The SAFERPAY CREDIT CARD is only for holders of a business licence on the live system.

You need to configure the general settings before enabling the credit card, and Saferpay Fields Access Token will be displayed under the credit card section only if "Force access token generation" is enabled.

Other than general settings some additional settings need to be configured to use Saferpay credit card/Saferpay fields:

  • Saferpay Fields Access Token: Enter API Key generated from Saferpay back office.
  • Saferpay Fields API-URL

You can get 1 and 2 from Saferpay Backoffice. After login navigate to Settings > Saferpay Fields Access Tokens.

From plugin version (2.2.0) Saferpay Field Access Token generated automatically after configuring CustomerId and TerminalId (for the given environment) under Settings > Saferpay settings. You should enable the "Force access token generation" for this to work. This can also find under Settings > Saferpay settings.

JS-Library-URL: Here enter JS library URL.

Css URL(s): You can define here a CSS URL. The CSS can only be used, when it is hosted on a server which has SSL enabled. Refer https://saferpay.github.io/sndbx/CssiFrame.html#css-usecss for detailed information

Credit Card Theme: Here user can be able to choose four sample templates for credit card payment.

During the order processing the user is served with Saferpay payment forms in a pop up within the WooCommerce shop.

Is Save Card Available? Here admin can set Active or Inactive status. By enabling this, the customer can register cards and use it for future payments. Card details will be stored in Saferpay. Saved cards which are enabled in allowed payment methods for credit card settings are displayed during checkout.


Other than general settings, additional settings such as account details are available for Saferpay iDeal payment method. Here admin able to add /remove bank account.

Customer able to select added bank account by admin during checkout.

Saferpay iDeal additional settings.


Other than general settings, some additional settings need to be configured to use Klarna payment methods.

In Saferpay Back office under Settings > Terminals. Please select the terminal you want Klarna activated on and scroll down to Self Service. Please refer the link https://saferpay.github.io/sndbx/KlarnaPayments.html

This service handles differently, depending on the Saferpay environment (test/live) you are on, so please pay close attention.

You'll have two options Klarna and additionally, on the Saferpay test environment, Klarna Simulator. For Live mode configure Klarna. For test mode configure Klarna Simulator

We need to activate the country in both Saferpay Backoffice & in plugin settings in order to list Klarna Payment in checkout section.

Send Klarna attachment data to API: By enabling this option, Klarna offers the option, to send additional data points, alongside each order. These data points are then used for additional analysis, like a risk-check on the Klarna side.

Klarna back-end settings for allowed countries

Additionally, Klarna will be displayed on the country-currency combination pair. For e.g.: Submitting "CHF" for Switzerland as your Country Code, but selecting EUR as your currency, will cause Klarna to not be displayed!

WooCommerce Tax settings should be like this for Klarna

We have some limitations with Klarna payments, in order to work Klarna payments properly, any of the values (product price, tax etc.) shouldn't have decimal points.

 The following links are helpful while configuring each payment methods

For ALIPAY and TWINT there some issues with the test simulator, like order getting successful even if we terminate the payment process or by default order may get successful after some time. 



If you want to customize the default design of the Saferpay interface, Saferpay provides the following options:

  • CSS-Styling: The CSS styling options can be used over the following methods.
    • Payment page
    • Transaction Interface
    • Alias Insert

The CSS file that is referenced by the CssUrl parameter must be stored on a web server that supports HTTPS. Refer to https://saferpay.github.io/sndbx/CssiFrame.html#css-usecss for detailed information.

  • Theme: This parameter let you customize the appearance of the displayed payment pages. By default, a lightweight responsive styling will be enabled. If you don't want any styling, please choose 'NONE'.
  • Payment Page Configuration: You can create different PP configurations to be applied over Transaction initialize and PaymentPage Initialize. The configuration itself can be created inside the Saferpay Backend under “Settings > Payment Page Configuration”.

If a custom CSS is provided, any design related settings set in the payment page configuration will be overwritten and the default design will be used. 


Orders done by customers are displayed under WooCommerce → Orders. Here you can view the list of all orders available.


Each order details can be viewed by clicking on Order. Here you can see order details Under each order, transaction details are displayed in transaction tab



In the payment configuration, if “Capturing” is set to “Auto Capture”, the merchant doesn’t need to do anything from the WordPress backend. Payments will be captured automatically by the system.

When the “Capturing” is set to “Manual Capture”, the merchant will have the option to Capture or Cancel transactions. If we click Capture, the transaction will be captured.

For orders containing only digital products if payment is successful then the status of that order will be "Completed"


Only authorized, but not captured orders can be cancelled. Cancellation of order prevents any future change from being made to it. If we click CANCEL, the transaction will be cancelled.

Order Details Transaction Tab with Capture/CANCEL button

While clicking Capture button, capture confirmation pop up will be displayed. If we click OK button, amount will be successfully captured and order status will be changed to Processing.

You can see transaction status and date under history tab mentioned in order detail page



Just like Saferpay transactions, you can also manage the Saferpay refund transactions. Saferpay refund will only be available if transactions are captured properly. If transactions are not captured click ‘Capture’ button available in transaction tab, then only Saferpay refund button will be enabled. Manual refund buttons are available all the time. Admin should have to do manual refund and update details in Saferpay back office manually. Refund is also available for orders having completed status.

For Saferpay Refund do the steps mentioned below

  • Capture order from backend
  • Then click Refund button


  • Click on items to be refunded. Refunded amount will be displayed
  • After that Click on button available for Refund via Saferpay. Confirmation pops up will be displayed. 
  • If we click OK amount will be successfully refunded and order status will be changed to Refunded.

Order notes are available on right side for each order. From here admin can track order details.


Alias Manager allows your customer to save the credit card information in his account and to use for the future payments.

Saferpay Secure Card Data or SCD in short, is a service for saving sensitive payment means information in the certified Saferpay data centre. By using SCD, the payment data is separated from the merchant application and no longer comes in contact with it. The stored Secure Card Data can be referred from future payments initiated via Transaction” interface.

This feature is available for payment methods that supports secure card data. Sensitive payment data is stored only in certified Saferpay data centre. If the settings ‘Is Save Card Available? is Active in Payment method configuration page, then logged in customers can save and use their card for future transactions.

In addition to this, customer can manage the saved cards from his customer account in My account section. A new tab “Saved Cards” is added in my account page from which customers can add, update and delete cards from his account.

ADD CARD option will only be available for customers if “Allow save card in user profile” set to Yes in Saferpay general settings.

Card Number – Displays the masked credit card number provided by Saferpay.

Customers have the option to update the expiry date of the card that is already saved by clicking Edit button


Error Log section provides information about transactions performed by Saferpay that could not be completed successfully.

Error details provided by payment gateway will be logged and displayed in order details under ‘Error Response Tab’.



We have implemented Saferpay WooCommerce Gateway to be compatible with the WooCommerce Subscription (https://woocommerce.com/products/woocommercesubscriptions/) plugin version 4.4.0. After installing the Saferpay and WooCommerce Subscription plugin, you can filter the recurring supported payment methods from Saferpay general settings. Only the selected payment methods will be listed on the checkout page for subscription orders.


  • Recurring SCA challenge for PSD2 Compliance
    Saferpay module is compatible with WooCommerce Subscription plugin. This field is applicable only for orders with subscription products. It ensures the PSD2 compliance of the recurring payments done through Saferpay while WooCommerce Subscription plugin is enabled.
  • Recurring supported payment methods.
    If your customer adds any subscription to the cart, only gateway specific payment methods will be available at checkout. Make sure selected payment gateways are properly configured by going to WooCommerce > Settings > Payments.

Saferpay plugin is compatible with the following features of WooCommerce Subscription plugin,

  • Subscriptions
  • Manual renewal
  • Subscription Cancellation
  • Subscription Suspension
  • Subscription Reactivation
  • Subscription Amount Changes
  • Subscription Date Changes
  • Multiple Subscriptions (Multiple subscription products in same order)

The following Saferpay payment methods are supported for subscription orders.

  • VISA
  • JCB
  • TWINT – Payment possible only if there is already saved card data available
  • POSTFINANCE CARD – Payment possible only if there is already saved card data available

The renewal subscription orders are created through WooCommerce subscriptions cron. A new subscription order is placed when the scheduled time arrives. If the subscription payment fails, then the subscription gets on-hold and future renewal process not works until the subscription status changed to Active. Merchant can cancel the subscription if requires. During this time the customer is notified with an e-mail, for him/her to go through the process again that is, to reactivate subscription (via my-account) by paying the amount. The payment details are saved in the Saferpay and Wordpress backend provides list of child orders associated with each subscription.


  • Checkout with zero amount. (e.g. Free trial and zero signup fee) : The actual supported payment methods for this condition are Credit Cards, Twint and Postcard. But we ignored the methods Twint and Postcard because they can do recurring ONLY via Alias and Authorize Direct. While doing the zero payment normally, we are actually saving the card instead of the processing the payment, so it would be difficult to implement it for Twint and Postcard. So currently Credit Cards only supports the zero payment.
  • In Apple Pay ‘pay by wallet’ option, it is possible to checkout subscription product with some cards which does not support recurring payments. E.g. Maestro- even if checkout is possible actual subscription and related features may not work here as Maestro does not support recurring payments.
  • In Saferpay back-office normally when an auto renewal is triggered, it creates an order as a child of the first order. But the case is different for manual renewal, when a user does the manual renewal through checkout, that order will be created as a completely new order and there won't be a relation between previous orders under the same subscription. But in WordPress each auto and manual renewals will be placed under the initial parent order itself.
  • Saferpay WooCommerce Gateway does not support the following features of WooCommerce Subscription plugin.
    • Subscription payment method change
    • Subscription payment method change by customer
    • Subscription payment method change by admin

The Saferpay API itself does not provide any support for payment method change, because they need to re-initiate the whole process to implement this. So we also have some limitations to do this. 


If translations are not available after updating the plugin to latest version, you need to import the .po file again. .po files can be found inside the plugin folder under “saferpay_woocommerce_gateway/languages/ Woocommerce-gateway-saferpay-de.po”.


1.19 to 1.23

  • Crypto payments integration in the Saferpay Payment Page
  • Added Klarna Payments support for Italy and France
  • New currencies for SOFORT: PLN, HUF und CZK added
  • New logo updated for Bancontact and iDeal payments
  • EPS Refunds supported
  • Removed Bonus Card payment
  • Saferpay Fields Access Token generation via REST API

1.24 to 1.25

  • Pre-authorizations for additional brands(amex,diners,jcb)
  • SuccessNotifyUrl and FailNotifyUrl in PaymentPage/Initialize.
  • WL Crypto Payments refund.
  • Added notification URLs in Transaction/Initialize.
  • Update - Saferpay fields JS url.
  • Klarna Payments: Support for Extended Merchant Data.
  • Management API:
    • Only those payment methods that are enabled in Saferpay backoffice are available at webshop backend.
    • New payment logos.