ABOUT SAFERPAY

Saferpay is the easy, flexible, secure and comprehensive e-payment solution from SIX Payment Services 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 third- party 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

SIX Payment Services has been part of Worldline since the end of 2018, making it Europe's largest technology partner for banks and merchants. The tailor-made solutions from SIX Payment Services 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.  

ABOUT SAP COMMERCE CLOUD PLUGIN

The purpose of providing an extension for Saferpay Payment Solution for SAP Commerce Cloud is to aid the integration of Saferpay into a Hybris implementation. Hybris Store accelerator will use the newly developed extension to interact with Saferpay. The extension will transform the Hybris cart model to Saferpay data structures. The payment result from Saferpay is captured in Hybris and relevant messages if any are displayed to the storefront.  

The Saferpay Payment Solution for SAP Commerce Cloud extension provides a configurable spring component which helps shorten the implementation cycle and reduce system development, testing efforts and maintenance costs for payment integration. The extension package contains most of the backend code needed for integrating Saferpay into the hybris commerce platform. The Merchants can use the Saferpay Payment Solution for SAP Commerce Cloud extension with their hybris project to integrate Saferpay. 

It supports the following payment methods of saferpay to work with SAP commerce cloud plugin.

  • VISA
  • MASTERCARD
  • MAESTRO
  • AMERICAN EXPRESS
  • BANCONTACT
  • DINERS/DISCOVER
  •  JCB
  • SEPAELV
  • MYONE
  • MASTERPASSUNIONPAY
  • PAYPAL
  • TWINT
  • PAYDIREKT
  • IDEAL
  • EPRZELEWY
  • POSTFINANCECARD
  • POSTFINANCE EFINANCE
  • APPLEPAY
  • GOOGLEPAY
  • CREDITCARD (SAFERPAY FIELDS)
  • KLARNA PAYMENTS
  • EPS
  • SOFORT
  • WL CRYPTO PAYMENTS

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

1.1 MANAGE ACCOUNT

In our Hybris backoffice, we can see the Saferpay Account section, which shows the accounts. You can create any number of Saferpay accounts in the system. But only one account can be active at a time.

Figure 1: Saferpay account section in the backoffice view

While creating an account you can manage the following properties also:

  • Terminal id*
  • Customer id*
  • Account type
  • Liability Condition
  • Capturing mode
  • Username*
  • Password*
  • Payment modes
  • Styling configurations

Mandatory properties in the process perspective and the values will get from Saferpay once you created a partner account in Saferpay.

Figure 2: Saferpay account section edit mode

Figure 3: Payment modes section inside Saferpay account

1.1.1 CONFIGURATION

Saferpay Plugin configuration includes two sections

  • Saferpay account settings
  • Payment method specific settings

1.1.2 SAFERPAY ACCOUNT SETTINGS

Configure saferpay account from Account -> Saferpay Account

The following configurations are available in Saferpay Account

  • Account type – 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.
  • End point url – This field gets filled automatically by selecting account type. 

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

  • Customer ID – Enter your customer id given by Saferpay while creating a partner account in Saferpay.
  • Terminal ID – Enter your terminal id given by the Saferpay.
  • Username – Enter JSON username given by the Saferpay
  • Password – Enter 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://www.six-payment-services.com/en/site/e-commercedeveloper/integration.html, https://saferpay.github.io/sndbx/index.html# terms for more information.
  • Extra security enabled – 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: 
    • Manual Capture – 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.
    • Auto Cancel – If no liability shift has been granted transactions will be auto cancelled. Here order placed via fraudulent card will be cancelled. 
    • Auto Capture – All transaction will be captured without considering the liability shift.
  • Capturing mode – This functinality is managed inside the account. It provides two options
    • On – If the capturing mode is on, then all the transactions will be auto capured in the process.
    • Off – If the capturing mode is off, then the transactions will be in authorized state and need to manual capture via our backoffice. Refer Manual capture.
  • Merchant Emails – Saferpay will send an email to the address specified in this field. You can add multiple emails. It is not a mandatory field. This is applicable only for PaymentPage interface.
  • Styling configuration – 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.
  • Terminal info update – It is a button present in saferpay account to fetch all the active payment modes in saferpay backoffice. Along with the payment modes, supported currencies and logo url also get updated.
  • Create Hosted Fields Access Token – A button that can be used to integrate Saferpay Fields into web pages and is restricted to the given customerId, terminalId and URL(s). It will only generate new token if Saferpay fields is kept active.
  • Licence Configuration Button – A button that can be used to fetch saferpay licence account details. It will show saferpay accout package and features.

Figure 4: Saferpay Accounts

Figure 5: Saferpay fields access token generation button

Figure 6: Saferpay Account licence configuration

1.1.3 PAYMENT METHOD SPECIFIC CONFIGURATION

Individual payment methods which comes under Saferpay plugin can be configured from Sap Commerce backoffice under Price settings → Payment modes. You can also add new Saferpay standard payment modes.

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

Figure 7: List of payment modes

Settings of each payment modes can be easily configured by double clicking, editor area will be opened.

Figure 8: Payment mode editor

Saferpay payment method specific configuration is explained in detail below:

  • Name – Here you can set title of payment method which is displayed in shop during checkout. 
  • Currencies – Choose the currencies that can be processed with this payment. Select allowed currency if any specification else leave it. 
  • Is save card available – If it is set to true then payment info for this specific payment mode can be saved.
  • Interface – There are two types of transaction interfaces,
    • Payment page – The Payment Page Interface provides a simple and easy integration of Saferpay into e-commerce web shop. The Saferpay Payment Page can be used with a Saferpay e-commerce license as well as with a Saferpay Business license. It allows the processing of all payment methods that are available with Saferpay.
    • Transaction – The Transaction Interface is an extension to Payment Page. Credit card payments can be seamlessly integrated into the merchant's shop with the Transaction Interface. This interface open the RedirectUrl inside an HTML-iframe, to show the hosted card entry form, which can be used to capture sensitive card details in a PCI- compliant
      manner.  

All payment modes do not support both interfaces. Some payment modes only support payment page interface. 

  • Capturing or cancelling – Here you can block the capturing or cacelling action. If it is set to false, the transaction for the corresponding payment mode cannot be captured or cancelled.
  • Countries - If you wish to accept payment from specific countries, you can select the countries. If there is no specification leave it.
  • Pre-authorization – It extends the validity of an authorization upto 30 days. If it is set to YES, only Manual Capture option will be possible under Capturing settings.
  • Is refund available – If it is set to false, transaction cannot be refunded for the corresponding payment mode.
  • Is ThreeD support Available – 3-D Secure (3DS for short) is supported by Visa, Mastercard, American Express, Diners Club and others. Via liability shift, merchants who offer the 3-D Secure process benefit from fewer payment defaults and from increased security with respect to credit card acceptance. It does not matter whether the card holder (CH) participates in this process or not. It is set to true for only payment modes that support 3DS.
  • Wallet – It indicates the payment mode is wallet type or not. It is set to true for all wallet type payment mode.
  • Saferpay Fields Access Token – Token generated from Saferpay Backoffice. Saferpay fields access token can be created from our backoffice also. Go to Saferpay account and you will see key symbol for generating hosted fields access token. Saferpay fields payment mode must be active in Saferpay account in order to create access token. And the button will generate access token and it will be copied to Saferpay fields access token section.
  • Saferpay Fields Url – Url provided from Saferpay Backoffice.
  • Address Source – Specifies if and where saferpay should take the payer’s address data from. 

1.2 MANAGE TRANSACTIONS

From our backoffice you can manage two types of transactions.

  • Saferpay transaction
  • Saferpay refund transaction 

1.2.1 SAFERPAY TRANSACTION

You can see the list of all the transactions, that has been initiated from the hybris. By selecting each transaction, you will be able to see: 

  • The interface used for the transaction
  • The status of the transaction
  • Order Id
  • The token details
  • Payment method used
  • Liability shift details
  • DCC details
  • Error status, if it has any errors
  • Attached Order
  • Refund initiated or not
  • Remaining amount to refund
  • Total refunded amount
  • Time at which order is created and modified
  • Transation Id and status
  • SaferPay Fields access Token
  • Comments
  • Paypal Details (Displays only if transaction done with paypal)

Figure 9: Transaction

1.2.1.1 MANUAL CAPTURE/CANCEL

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.

Only authorized transactions can be manually captured or cancelled from our backoffice.

Figure 10: Capture cancel button

1.2.1.1.1 CAPTURE

By clicking on the capture action, you will be prompted to confirm the capturing. In addition, you can provide a lower amount to capture along with a description also. A transaction may only be captured once, also eliminating the option of a cancel.

Figure 11: Capture pop up window

1.2.1.1.2 CANCEL

On clicking on the cancel action, you will be prompted to confirm the cancellation. 

Figure 12: Cancel pop up window

1.2.2 SAFERPAY REFUND TRANSACTION

Just like Saferpay transactions, you can also see/manage the Saferpay refund transactions. This is an item type derived from the Saferpay transaction thus all above mentioned attributes are also available here.  

Figure 13: Refund transaction

1.2.2.1 REFUND

A captured transaction is refundable. 

Figure 14: Refund

Refund action can only be initiated for a captured transaction. On clicking on the action, you will be prompted with a confirmation popup. It also allows you to enter a lesser amount along with a description. Thus, you can initiate another refund for the remaining amount if you choose a lesser amount previously. The refund transactions can be seen in the Saferpay refund transaction section. 

Figure 15: Refund popup

All the refunds for an order will be diplayed in Order section.

Figure 16: Refund list 

1.3. ALIAS MANAGER

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. 

Figure 17: Payment method selection page

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

For saving Twint and Postcard you need to select respective field from the drop down. For all other cards you can choose Cards from the drop down.

Figure 18: Payment details page in my account

1.4 ERROR LOGS

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 Saferpay Transactions under ‘Error Status’.  

Figure 19: Error status in Saferpay Transactions

1.5 PAYMENT MODES

Installing the Saferpay Payment Solution for SAP Commerce Cloud extension will provide you with most of the payment modes. You can see that in our backoffice. You can also add new Saferpay standard payment modes.

Figure 20: Payment modes

The following payment methods are supported in SAP Commerce 2211 :

1.5.1 KLARNA

Klarna Payments is a 3rd party payment method, that is split into three ways of payment: 

  • Pay Now: The order is payed now, via Direct Debit, or Bank Transfer.
  • Pay Later: The order is paid on invoice.
  • Slice it: The order is paid in installment rates, with an interest.

Figure 21: Klarna payment

Make sure, that Payment Amount CurrencyCode is in-line with Payer BillingAddress CountryCode. For example: Submitting "CH" for Switzerland as your CountryCode, but selecting EUR as your currency, will cause Klarna to not be displayed!

1.5.2 SAFERPAY FIELDS

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

Figure 22: Saferpay fields additional settings

Figure 23: Saferpay Fields Settings in backoffice

  • The SAFERPAY CREDIT CARD is only for holders of a business licence on the live system. Other than general settings some additional settings need to be configured to use Saferpay credit card/Saferpay Fields. 
  • Payment Mode: Supported payment methods include: Visa/V PAY, Mastercard, Maestro, American Express, Bancontact, Diners Club International, JCB, Bonus Card, MyOne.  

Make sure at least one payment method is selected. If no payment method is selected, by default all supported payment methods will be accepted.

  • Credit Card Theme: Themes supported by Saferpay Fields. By default, THEME_1 will be selected.

1.5.3 SAFERPAY IDEAL

Other than general settings, additional settings such as bank accounts 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

Figure 24: Ideal bank section

CREDIT AND DEBIT CARDS

Refer: 

 
 
 
 
 
 
 
 
Masterpass - Masterpass is a Wallet-Solution introduced by Mastercard.Please refer https://docs.saferpay.com/home/integration-guide/paymentmethods/masterpass
 
 
 
SOFORT - SOFORT is a third party means of payment by Klarna Group. https://docs.saferpay.com/home/integration-guide/payment-methods/sofort-by-klarna
 
Klarna Payments - Klarna Payments is a 3rd party payment method, that is split into three ways of payment: Pay Now, Pay Later and Slice It/Financing. Refer https://docs.saferpay.com/home/integrationguide/payment-methods/klarna-payments
 
 
 
 
 
 
 
 

1.6 ORDER

User can see all the Orders in the Orders tab, once the user open Orders tab user can view the all the orders which are listed in a table with columns 

  • Order Number
  • Date
  • Total Price
  • User
  • Order status 

Figure 25 : Refund action confirmation

User can open and view the order details by double clicking each order, order details were shown under various tabs naming 

  • Properties
  • Positions and Prices
  • Payment and delivery
  • Output documents
  • Vouchers
  • Promotions
  • Transaction
  • Refund
  • Tickets
  • Order history
  • Consignments
  • Related cronsjobs
  • Fraud reports
  • Administration

Figure 26: Orders page

1.6.1 ORDER STATUS

Order status of each orders placed gets updated in the ‘Order status’ column. The order status is changed based on the transaction status.

  • After a transaction if the transaction status is in “Captured” state, initially the order status will be “Checked valid” and the order status will be updated as “Payment captured” and then gets updated as “Order split” and eventually gets “Completed” through hybris out of box workflows.
  • After a transaction if the transaction status is in “Cancelled” state, the order status will be initially “Checked valid” and the status will be updated as “Cancelled”.
  • After a transaction if the transaction status is in “Authorized” state, user can decide whether to accept or decline, Initially the status will be “Checked Valid” and the status gets updated as “Payment Authorized” then the user can choose whether to capture or cancel the order 
    • if the user captures the order the status will be updated as “Payment captured” and then as “Order split” and eventually gets “Completed”.
    • If the user cancels the order then order status will be updated as “Cancelled”
  • If the transaction status is in “Pending” state after a transaction (currently only in case of Paydirekt payment method), the order status will initially set to “Checked valid” and will get updated to “On Hold”. 
    • Once the transaction got Captured the order status will get updated to “Payment Captured” and eventually get “Completed”
    • Once the transaction got “Cancelled” the order status will get updated to “Cancelled” 

Figure 27:Order status

2.0 SOFTWARE LICENSE AGREEMENT

This Software License Agreement ("Agreement") is between you (both the individual downloading and/or installing the Software and any legal entity for or on behalf of which the individual is acting) ("You" or "Your") and PIT Solutions AG. ("Licensor").

THIS LICENCE AGREEMENT CONTAINS THE TERMS AND CONDITIONS TO USE SOFTWARE. BY CLICKING ON THE “ACCEPT” BUTTON, YOU ARE CONSENTING TO BE BOUND BY AND ARE BECOMING A PARTY TO THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS AGREEMENT, CLICK THE “DO NOT ACCEPT” BUTTON WHICH WILL STOP YOUR ACCESS AND USE OF THE SOFTWARE. IF YOU HAVE ALREADY INSTALLED THE SOFTWARE BUT DO NOT AGREE TO ANY TERM OR CONDITION IN THIS AGREEMENT, THEN PLEASE UNINSTALL THE SOFTWARE IMMEDIATELY.

TAKING ANY STEP TO SET UP, DOWNLOAD OR INSTALL THE SOFTWARE MEANS THAT YOU ACCEPT ALL OF THE TERMS OF THIS LICENSE AGREEMENT. PERMISSION TO DOWNLOAD, INSTALL AND/OR USE THE SOFTWARE IS EXPRESSLY CONDITIONED ON YOU AGREEING TO AND FOLLOWING THESE TERMS.

THE SOFTWARE IS TO BE USED SOLELY IN CONNECTION WITH THE THIRD PARTY SOFTWARE AND YOU MUST SATISFY YOURSELF THAT THIS SOFTWARE IS SUITABLE FOR YOUR NEEDS AND THAT YOUR SYSTEM SATISFIES THE REQUIREMENTS FOR THE USE OF THIS SOFTWARE AS SET OUT IN THE DOCUMENTATION.

PARTIES, THEREFORE, AGREE AS FOLLOWS:

1. Definitions

1.1 Capitalized terms in this Agreement will have the following meanings:

“Agreement” - means this Licence Agreement and any documents referred to in this Agreement;

"Documentation"  - means written documentation, specifications and help content made generally available by Licensor to aid in installing and using the Software, or otherwise provided by Licensor to you in connection with the Software.

“Software” - means Saferpay Payment Solution for SAP Commerce Cloud, the data supplied with such software, executable program modules thereof, computer readable associated media, upgrades and updates of the software provided to you by the Licensor.

“Third Party Software” - includes the third party software with which the Software is designed to be used, as described in the Documentation .

2. Grant of Licence

  • In consideration of the mutual covenants and subject to the provisions contained in this Agreement, Licensor hereby grant You a limited, revocable, non-exclusive, non-transferable, royalty-free licence without the right to sublicense
    • to install a single copy of the Software on Your equipment containing the Third Party Software, solely for the purpose of using the Software in connection with the Third Party Software and Licensor’s own products, as described in the Documentation ("Authorised Use"); 
    • to use the Documentation in support of Your Authorised Use; and
    • to make one copy of the Software solely for backup purposes, provided that all titles and trademark, copyright, and restricted rights notices are reproduced on the copy.
  • Licensor retains all right, title and interest in and to the Software and Documentation. Licensor owns or retains all patents, copyrights, trademarks, trade secrets and other intellectual property rights in the Software and Documentation and any derivative works thereof. You do not acquire any other rights, express or implied, beyond the limited license set forth in this Agreement.

  • Licensor has no obligation to provide support, maintenance, upgrades, modifications or new releases for the Software or Documentation under this Agreement.

  • You undertake not to:

    • Rent, lease, sub-license, loan, translate, merge, adapt, vary or modify the Software or Documentation; 

    • Make alterations to, or modifications of, the whole or any part of the Software, nor permit the Software, or any part of it, to be combined with, or become incorporated in, any other software other than the Third Party Software as described in the Documentation;  

    • Provide or otherwise make available the Software in whole or in part (including but not limited to program listings, object and source program listings, object code and source code), in any form to any person other than your employees without the prior written consent of the Licensor;
    • Distribute, publish, or otherwise provide copies in relation to the Software to any third party;
    • pledge, hypothecate, alienate or otherwise encumber the Software to any third party;
    • change, modify, enhance, reverse-engineer, decompile, or disassemble the Software, or create derivative works based on the whole or any part of the Software, or attempt to do either of the foregoing; or
    • do anything which is not expressly allowed under this Agreement.

3. Your Personal Information

For downloading the Software, you may have to provide your name, email address, address, and telephone number to the Licensor which will be subject to the terms in the Privacy Policy.

4. No Liability for Licensor

Licensor does not own or control Third Party Software or other software which are placed in the same environment as that of the Third Party Software. Likewise, Licensor does not own or control any websites within which the Third Party Software or other related software is placed.

Accordingly, all your access and use of the Third Party Software and third party websites is at your own risk and costs. Licensor is not liable for any loss or damage caused to you by your access or use of Third Party Software or third party websites.

5. Downloading the Software

Your acceptance of this Agreement will signify your unconditional agreement to all the terms and conditions contained in this Agreement. Upon your acceptance of this Agreement, you will be permitted to download a copy of the Software for Your use in accordance with the Documentation.

6. Warranty Disclaimer

SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT AN REPRESENTATIONS OR WARRANTIES, AND YOU AGREE TO USE THEM AT YOUR SOLE RISK. TO THE FULLEST EXTENT PERMISSIBLE BY LAW. SIX Payment Services V1.4 36 | 38 LICENSOR EXPRESSLY DISCLAIMS ALL WARRANTIES OF ANY KIND WITH RESPECT TO THE SOFTWARE AND DOCUMENTATION, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, SATISFACTORY QUALITY, ACCURACY, TITLE OR NON-INFRINGEMENT OF THIRD PARTY RIGHTS.

7. Limitation of Liability and Remedies

IN NO EVENT WILL LICENSOR OR ITS AFFILIATES BE LIABLE IN CONNECTION WITH THIS AGREEMENT OR ITS SUBJECT MATTER, UNDER ANY THEORY OF LIABILITY, FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, EXEMPLARY, OR PUNITIVE DAMAGES, OR DAMAGES FOR LOST PROFITS, REVENUE, BUSINESS, INFORMATION, SAVINGS, DATA, USE, INTERRUPTION TO BUSINESS, OR COST OF SUBSTITUTE PROCUREMENT, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES OR IF SUCH DAMAGES ARE FORESEEABLE.

IN NO EVENT WILL LICENSOR’S LIABILITY FOR ALL DAMAGES EXCEED THE AMOUNTS ACTUALLY PAID BY YOU TO LICENSOR FOR THE SOFTWARE OR IF NO AMOUNT IS PAID, THEN AN AMOUNT OF $100.

YOU SHALL NOT INSTITUTE ANY ACTION IN ANY FORM ARISING OUT OF THIS AGREEMENT MORE THAN ONE (1) YEAR AFTER THE CAUSE OF ACTION HAS ARISEN.

8. Term

This Agreement is effective from the time you download or start using the Software and will remain valid until terminated. Licensor may terminate this Agreement at any time upon Your breach of any provision. If this Agreement is terminated, you will stop using the Software, permanently delete it from the equipment where it resides, and destroy all copies of the Software and Documentation in Your possession, confirming to Licensor in writing that You have done so. Sections 2, 3, 4, 5, 6, 7, 9, and 10 will continue in effect after this Agreement's termination.

9. Confidentiality

You acknowledge that this Agreement and its contents and other information, including, without limitation, information on or about the Software, source code, functionalities, Documentation, other technical SIX Payment Services V1.4 37 | 38 information, know-how, and trade secrets that You receive in connection with this Agreement is Licensor’s confidential information (“Confidential Information”). You will use reasonable diligence, which will in no event be less than the degree of care which You use in respect to Your own
confidential and proprietary information of like nature, to prevent the unauthorized use, disclosure, reproduction, or distribution of Confidential Information to any other individual, corporation or entity. You shall not use the Confidential Information for Yourself except for the limited licence granted under this Agreement.

10. General

  • This Agreement constitutes the entire agreement between the parties and supersedes all prior or contemporaneous agreements or representations, whether written or oral, concerning its subject matter. This Agreement may not be modified or amended without Licensor’s prior and express written consent, and no other act, document, usage or custom will be deemed to amend or modify this Agreement.
  • You agree that any breach of this Agreement by You would cause irreparable damage to Licensor, and that, in event of such breach, in addition to any and all remedies at law, Licensor will have the right to an injunction, specific performance, or other equitable relief to prevent the continuous violations of the terms of this Agreement.
  • You may not assign, sell, transfer, delegate or otherwise dispose of this Agreement or any rights or obligations under it, whether voluntarily or involuntarily, by operation of law or otherwise, without Licensor’s prior written consent. Any purported assignment, transfer or delegation by You will be null and void. Subject to the foregoing, this Agreement will be binding upon and will inure to the benefit of the parties and their respective successors and assigns. You agree, represent and warrant that You will not export the Software or any underlying technology in contravention of any applicable export laws and regulations applicable in the US or any other relevant country.
  • Notwithstanding anything herein to the contrary, Licensor shall not be liable for any delay or failure in performance caused by an event of Force Majeure or act of God.
  • If any provision of this Agreement is held to be illegal, invalid or otherwise unenforceable, that provision will be enforced to the extent possible or, if incapable of enforcement, deemed to be severed and deleted from this Agreement, and the remainder will continue in full force and effect.
  • Waiver by either party of any default or breach of this Agreement will not waive any other or subsequent default or breach.
  • All notices and communications required or permitted under this Agreement will be in writing and will be sent by any one of the following modes:
    • registered or certified mail, postage prepaid, return receipt requested,
    • facsimile transmission (the “Fax”), with confirmed answer back, or
    • electronic mail, with confirmation of receipt, to Licensor or You at the respective addresses we provide to each other or to such other address as Licensor or You may from time to time specify by notice to the other through any of the mode provided in this paragraph. In Licensor’s case, the address is:

                      PIT Solutions AG,
                      Joweid Zentrum 1,
                      8630 Rüti ZH,
                      Schweiz

  • This Agreement and all matters arising out of it is governed by the laws in Kerala, India, without regard to its ‘conflict of law’ principles and parties irrevocably consent to the exclusive jurisdiction of the Court of Zürich, Switzerland. Application of the United Nations Convention on Contracts for the International Sales of Goods is expressly excluded.

Implementation Manual

1.0 Introduction

The purpose of providing an extension for Saferpay Payment Solution for SAP Commerce Cloud is to aid the integration of Saferpay into a Hybris implementation. Hybris Store accelerator will use the newly developed extension to interact with Saferpay. The extension will transform the Hybris cart model to Saferpay data structures. The payment result from Saferpay is captured in Hybris and relevant messages if any are displayed to the storefront.

The Saferpay Payment Solution for SAP Commerce Cloud extension provides a configurable spring component which helps shorten the implementation cycle and reduce system development, testing efforts and maintenance costs for payment integration. The extension package contains most of the backend code needed for integrating Saferpay into the hybris commerce platform. The Merchants can use the Saferpay Payment Solution for SAP Commerce Cloud extension with their hybris project to integrate Saferpay.

This document describes the functionalities and Payment Integration of the Saferpay Payment Solution for SAP Commerce Cloud.

2.0 Functional Architecture

Figure 1: Functional Diagram

3.0 Technical Overview

This extension is built on top of Hybris version 2211. Thus, make sure you have the project running with version 2211.

4.0 Technologies and Tools

The following table summarizes the proposed platform and software recommended for the system hosting.

Sl.No. Component Description
1 Operating Platform Windows 11
2 Web Server Tomcat
3 Technology SAP Hybris

Table 1: Application Software

Sl.No. Component Description
1 Development Environment  Intellij IDE
2 Source Control  Git

Table 2: Development Tools

5.0 Plugin Requirements Scope

The following functionalities are covered as part of the “Saferpay Payment Solution for SAP Commerce Cloud Plugin”.

5.1 Payment Page

The Payment Page Interface provides a simple and easy integration of Saferpay into e-commerce web shop. The Saferpay Payment Page can be used with a Saferpay e-commerce license as well as with a Saferpay Business license. It allows the processing of all payment methods that are available with Saferpay.

  • The process begins with the Payment Page Initialize request. With this request, you forward all data necessary for the payment to Saferpay and generates the RedirectUrl for the Payment Page.
  • Token that is generated from Payment Page Initialize request is cached for subsequent processing of the transaction.
  • Redirect to the RedirectUrl.
  • Return to Return Url depending on the outcome of the transaction.
  • If the payment capture status is differed, enable manual capture.
  • Depending on the information about the payment, finalize or cancel the transaction.
  • We have considered support for these payment methods: Visa/Mastercard, Maestro, American Express, Bancontact, Diners/Discover, JCB, MyOne, PayPal, Przelewy, eps, iDEAL, Sofort,TWINT, UnionPay, Google Pay, Apple Pay, Klarna, WL Crypto payments, Postfinance card & eFinance, SEPA ELV.

5.2 Transaction Interface (Only for Business license)

The Transaction Interface is an extension to Payment Page. Credit card payments can be seamlessly integrated into the merchant's shop with the Transaction Interface.

  • The process begins with Transaction Initialize. With this request, forward all data necessary for the payment to Saferpay and generates the RedirectUrl for the iframe Integration.
  • Open the RedirectUrl inside an HTML-iframe, to show the hosted card entry form, which can be used to capture sensitive card details in a PCI-compliant manner.
  • Return to Return Url depending on the outcome of the 3-D Secure procedure.
  • Authorize the card and finalize or cancel the transaction.
  • If the payment capture status is differed, enable manual capture.
  • We have considered only these payment methods:
    • VISA, Mastercard, Maestro, American Express, Bancontact, Diners/Discover, JCB, MyOne.
    • Wallet: Masterpass, Saferpay Fields.

5.3 Refund & Cancellation

Refunds are basically normal transactions where instead of debiting the cardholders account, you are crediting it. That means, that refunds go through the same authorization-steps as a normal (debit) authorization. The refund amount value can differ from the originally authorized debited amount. It is also possible to do multiple refunds on one transaction via Payment page & Transaction interface.

  • We have considered only these payment methods AmericanExpress, Bancontact, Diners/Discover, JCB, Visa, Maestro, Mastercard, MyOne, PayPal, Przelewy, iDEAl, Sofort, TWINT, Paydirect (COD), Saferpay Fields, Klarna, WL Crypto payments, Postfinance card & eFinance, EPS, Apple pay and Google Pay.

5.4 3D Secure & DCC

  • 3D Secure – 3DS for short is used to make fraud free transactions and liability shift mechanism in transaction. 3DS have the following options.
  • Manual: Transactions with Liability Shift: false are not captured, but held inside the transaction overview, so the merchant can capture, or cancel them to his liking. (This should be default!).
  • Auto cancel: Transactions with Liability Shift: false are cancelled automatically.
  • Auto capture: Transactions with Liability Shift: false and true are captured automatically.

Dynamic Currency Conversion (DCC) is a dynamic currency converter that allows international customers to pay the purchase price in the local currency or their home currency.

5.5 Tokenization

Tokenization 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. Also, they can update or delete the saved card data.

Additional Features Considered

We have considered the following additional features:

  • Possibility to Switch between productive and test systems.
  • Pre-selection of payment means in the shop.
  • Possibility to choose between direct or delayed capture (adjustable for every mean of payment) depends on payment methods feature.
  • Plugin must work on most common browsers by supported the shop-system
  • Error Handling, validation of License, Credentials & Error log etc.
  • Currencies: Payment methods can be activated and deactivated per Currency/Currencies can be applied to a given Payment Method. The shop then filters, if a currency is used, that is not configured for a payment method, so the shop does not access this method, if the currency is not available.
  • Provide Safer pay full access to place it on its own portals: Can be provided as ZIP fie.

7.0 Implementation Guide

The purpose of providing an extension for Saferpay is to aid integration of Saferpay into a Hybris implementation. This document describes how to install and configure the extension to work with any Hybris implementation.

As Hybris is built on the spring framework this makes it highly customizable and extensible. The extension also utilizes this framework, so can also be easily extended to add specific behavior if required.

Please note that this document uses OOTB electronics site as reference. So, you may need to change the catalog versions and so to your own data.

7.1 Prerequisite

This extension is built on top of Hybris version 2211. Thus, make sure you have the project running with version 2211 or later

7.2 Installation and Usage

The plugin is supplied as a zip file. Take the following steps to include the extensioninto your Hybris application:

  • Unzip the supplied zip file saferpay_2211.zip.
  • Copy the extracted folder to ${HYBRIS_CUSTOM_DIR} of your Hybris installation.
  • Add the Saferpay extensions on your localextensions.xml file.
  • Install saferpaycustomaddon to the storefront in order to make the changes applicable to the storefront.

ant addoninstall -Daddonnames="saferpaycustomaddon"- DaddonStorefront.yacceleratorstorefront="XXXstorefront"

  • To make use of Saferpay extension, we have to alter the checkout flow which can be done in 'multi-step-checkout-config.xml'. we have to remove the payment method and billing address steps from the xml. Please refer to the attached file - multi-step-checkout-config.pdf for reference (file available in the folder - ‘saferpay_documents’).
  • Add the Saferpay credentials into project data: ~\saferpay\resources\impex\projectdata_saferpay.impex
  • Run the ‘ant clean updatesystem’ command from your ${HYBRIS_PLATFORM_DIR}.
  • Run the ./hybrisserver.sh or hybrisserver.bat to start up the Hybris server.
  • Import the project data of the Saferpay extension from hac.
  • Or skip the steps from 6-9 and do ant initialize and Hybris server up.

You can add more accounts in to the system via backoffice. But that won’t be available in all other environments unless created manually to them also.

7.3 Configuring the properties

Saferpay uses some properties in order to manage the process. Those properties can be seen in the project.properties. Some of the main properties are listed below:

E.g. In our context, it is ShopInfo:clientInfo = Hybris_2211:PITs_1.10 Those properties have names that speak for itself.

Important point to note is that about the saferpay.notify.url. This property holds the URL to which the Shop will be notified of a successful transaction, by Saferpay. This URL needs to be available to reach from Saferpay servers.

The properties saferpay.paymentPage.orderItemType, saferpay.paymentPage.deliveryType hold the values for product type, delivery type for KLARNA payments.

Possible values for DeliveryType include: EMAIL, SHOP, HOMEDELIVERY, PICKUP, HQ,

Possible values for OrderItemType include: DIGITAL, PHYSICAL, SERVICE, GIFTCARD, DISCOUNT, SHIPPINGFEE, SALESTAX, SURCHARGE.