Integration Guide Shopware 5

Introduction

Our Shopware 5 plugin comes with regular updates and full integration support, offering a versatile out-of-the-box solution to accept online payments easily:

Currently supported payment methods:

  • Credit Cards (Visa, Mastercard, American Express, JCB, Diners Club, Maestro International, Carde Bleue)
  • Amazon Pay (V1)
  • Alipay
  • Apple Pay
  • Bancontact
  • Barzahlen
  • EPS
  • Giropay
  • iDEAL
  • Klarna Payments
  • PAYONE secure Invoice 
  • PAYONE Secured Invoice, Secured Direct Debit and Secured Installment
  • PAYONE Direct Debit
  • PAYONE Open Invoice
  • PAYONE Prepayment
  • PayPal and PayPal Express
  • PostFinance Card and E-Finance
  • Przelewy24
  • Ratepay Invoice, Direct Debit and Installment
  • Sofort
  • Trustly
  • Unzer Invoice, Direct Debit and Installment
  • WeChat Pay

Keep an eye on our Release Notes to stay informed about updates and new features (i.e. payment methods, features, integration modes) we have added to this plugin!

Check out our documentation to learn how to link your store with our platform to profit from all these features!

Current Release: v4.13.2

Requirements

An active PAYONE - Account is required. If you do not have one yet, please contact us.

Plugin Installation

You have 2 ways to install our plugin:

Installation directly in Shopware5 - Admin

    • Download our latest plugin from Github
    • You can upload the plugin under Ice Settings -> Plugin Manager -> Installed -> Upload Plugin
    • Install and activate the plugin.

Installation via Github

PAYONE - Portal configuration

To send the transaction status to the correct address, the log in to the PAYONE Merchant Interface (PMI).

Under Configuration → Payment Portals → YOUR_PORTAL → Advanced → TransactionStatus URL

<SHOPURL>/MoptShopNotification

Please leave the hash check set to "md5 oder sha2-384 (during migration)" to ensure correct communication between PAYONE and the store.
Additional Response-data

Under General, set the Additional Response data for both Live and Test modes to "on".

Shopware 5 - Admin configuration

Click on Customers → Payments → PAYONE → Konfiguration

You can create a separate configuration for each payment type. The default setting - Alle (global) applies to all payment types.

Once you have created a separate configuration for a payment type, the default setting - Alle (global) no longer applies to the payment type.

If you have made changes to a payment type that differ from the global settings, the payment type will be displayed in red.

Please enter your access data here under Customers → Payments → PAYONE → Konfiguration → sheet: "general":

Detailed description of each field

Save acceptance of the general business terms

  • Off - witches off the saving of the AGB confirmation completely.
  • On the Confirm-Page - Only on the Confirm page the saving of the AGB is activated.
  • Global - Enables global storage.
Field Description
Merchant ID You will find your PAYONE Merchant ID at the top right of the PAYONE Merchant Interface (PMI) and on all PAYONE invoices.
Portal ID You can find the portal ID in the PAYONE Merchant Interface (PMI) under the menu item Configuration → Payment Portals

Subaccount-ID

You can find the ID in the PAYONE Merchant Interface (PMI) under the menu item Configuration → Accounts

Key

Please enter the key here to protect the data communication against manipulation. This must be identical to the key stored in the corresponding PAYONE payment portal.

operating mode

Here you can specify for the respective payment type whether the payments are to be processed in test mode or whether they are to be executed "live". You can also configure the test mode for individual payment types.

authorization

  • preauthorisation - The amount to be paid is reserved in the course of the order. In this case, the debit must be initiated in a second step when the goods are delivered (Capture). The receivable is only posted after the capture has been carried out.
  • authorisation - The amount tobe paid is collected immediately when the order is placed. The receivable is immediately booked on the PAYONE platform.

basket handover

Here you can configure whether the shopping cart information should be transferred to the PAYONE platform for each request.

In most cases it's safe to leave this setting on. However, some usecases may cause issues with this setting enabled:
- PayPal with cart items that are free - PayPal expects every cart item to have a price, so if you ship bonus items it's better to leave this off.

- Plugins which alter the calculation of prices - some plugins alter price calculation, which can lead to rounding differences. If you frequently see error 1610 (Article list faulty or incomplete) and are confident about the actual amount of the order, try disabling this setting.

query Credit Card Verification

Determines whether the credit card verification number is queried. This is only possible if the acquirer allows it.

check bank details

Determines whether a bank account check should be performed. This option is only available if the Direct Debit payment type is selected.

Additionally Show account number/ bank code

Legacy option from the transition period from account number to IBAN.

in addition to IBAN query also BIC?

Legacy option, as today the IBAN is sufficient.

query IBAN and BIC for SOFORT Payments

Legacy option, as today the IBAN is sufficient.

activate direct debits mandates?

Determines whether the SEPA mandate manager is to be used. A check of the bank details is mandatory. A check against the cash block list is not possible.

Download mandate as PDF?

If activated, a link will be offered after the order has been placed, via which the end customer can download the SEPA Mandate as a PDF file.

This product must be ordered separately.

Klarna Store ID

Specific store IDs must be configured for the Klarna payment method. You can obtain these store IDs from Klarna. Please note that for the payment method Klarna the delivery address must be the same as the billing address. You can enforce this with Shopware Risk Management.

Note: The store ID can only be configured if the payment method Klarna is selected. Please also note that Klarna payment methods can't be duplicated!

show paypal ECS Button on basket page?

This option activates the PayPal Expresscheckout button on the shopping cart page.

Note: This option can only be selected if the payment method PayPal is selected.

Note: The Unzer options can only be selected if a Unzer payment method is selected.

Unzer company name

The full name of the company must appear here. The name will be used in the privacy policy.

Unzer b2b mode
 

If the B2B mode is activated, it is automatically assumed that it is a B2B transaction if the "Company" field was executed during address entry. To check the creditworthiness of the company, further information such as the commercial register number is then requested in the checkout. 

Unzer-username

In order to retrieve the installment purchase draft contract, the user name assigned by Unzer (usually dealer name installation) must be stored here.

Unzer-password
 

The password assigned by Unzer must be stored here in order to retrieve the installment purchase draft contract.

Paydirekt Overcapture

This setting enables you to increase the original order value in the reservation and subsequent collection procedure and to collect up to a maximum amount. This maximum amount is displayed on the paydirekt pages.

Note: This setting only applies to the payment type paydirekt.

use shopware ordernumber

This setting causes an order number generated by the plugin to be reported as a reference to PAYONE. However, the order number generated by Shopware is not. 

Note: This order number must always be unique and cannot be reused. Make sure that the correct and not already used order number range is active.

update order timestamp on notify 

Updates the order change timestamp on the order when a new transaction status notification is received and processed.

Note: This only works in Shopware 5.5 and higher.

Ratepay SnippetId

Specifies the ratepay SnippetId used for fingerprinting the device. Default is "ratepay". This can be changed by ratepay. Please note that only the global setting applies, even if payment method specific settings have been made.

query IBAN and BIC for Trustly payments

Legacy option, as today the IBAN is sufficient.

Special Adjustments

Some payment types require special adjustments. The next points are only interesting for you if you use the respective payment method:

PAYONE Secured Invoice + PAYONE Secured Installment

These two payment methods require their own payment portal. Please enter under Customers → Payments → PAYONE → Konfiguration → applies to payment method: PAYONE Secured Invoice bzw. PAYONE Secured Installment a separate portal ID.

If the orders are partially captured, the refunds must be created in the same amount. The background is that a new receivable is created with each capture.

PayPal Express Checkout
Click on Customers → Payments → PAYONE → Payone PayPal
 
Field Description

Add item

Add more countries

Delete all selected

Delete selected entries

Field Description

Language

Select language

Packstation mode

  • Erlauben - Allow packing stations as delivery address
  • Verbieten - Disallow Packing stations as delivery address

PayPal Button

Path to the image file of the button

Default

If the check-box is enabled, the settings will apply to all languages for which no button has been defined.

If no image file is available, the PayPal ECS button will not be displayed in the shopping cart. There must be at least one button and it must be marked as default.

Ratepay
Click on Customers → Payments → PAYONE → Payone Ratepay
For Ratepay, you need to enter some additional configuration data that Ratepay has set to make the payment method work smoothly. Use the Add button to add another Ratepay configuration:

 
Field Description

Shopid

The store ID provided by RatePay.

This represents a configuration record (country, currency, interest rates, maturities, etc.).

currency

Currency to be used for this store ID

installment mode

This setting has no effect on the other Ratepay payment types (invoice, direct debit).

  • Prepayment - The buyer must transfer the installments to an account designated by Ratepay.
  • direct debit - The installments are collected by direct debit from the buyer's account.

Save the configuration and then retrieve the other data from RatePay with "Retrieve Ratepay configuration". Make sure that you select the checkbox beforehand.
 

 

You can find the global snippet ID setting in the general configuration.

Amazon Pay

Click on Customers → Payments → PAYONE → Payone Amazon Pay

Amazon Pay requires you to enter some additional data to ensure that the payment method works smoothly.

Integrations settings in Seller Central

Please enter the following URL in the integration settings in Seller Central under Integrator URL:

https://gpc-sys.pay1.de/gpc/amazon/1.0/notify - the seller URL can be left blank.

This URL ensures that the store receives all notifications from Amazon.

Also please make sure to store all your shop URLs as allowed Javascript Origin in Seller Central.
  1. From the Seller Central home page, select “Integration - Integration Central” from the navigation bar on top-left side
  2. From Integration Central page, scroll down to the “Manage client ID/store ID(s)” section, and click “View client ID/store ID(s)”
  3. If you have an existing client or Store ID registered, review the configuration of the selected store. You can click on the “Edit” link on the right side to edit information
  4. If you click on the “Edit” button, you can edit all the details of the client configuration
  5. From STEP 3, if you click on the “Create new configuration” link on top, you will be able to create a new client configuration providing all the relevant information
     

Additionally, the Allowed Return URL has to be set to <shoproot>/moptPaymentAmazon

add new item

Add a new Amazon Pay configuration by clicking "Add item".

 

Field Description

Client

The client ID from your Amazon Seller Central profile is automatically entered here after saving.

Seller

After saving, the seller ID from your Amazon Seller Central profile is automatically entered here.

Button Typ

Here you can select which button should be displayed in the shopping cart and in the sidebar.

Button Farbe

Here you can select in which color the button in the shopping cart and in the sidebar should be displayed.

Amazon Modus

Here you can select in which mode Amazon Pay transactions should be carried out:

  • Asynchronous On Failure (default) - The transaction is first tried in synchronous mode. This means that an attempt is made to obtain a direct confirmation from Amazon Pay for the transaction. If this is not possible, the asynchronous mode is tried. Amazon Pay confirms the transaction later when enough data is available. It may also be possible to reject the transaction at a later date. This is indicated in the payment status.
  • Always synchronous - The transaction is only tried in synchronous mode. If Amazon Pay rejects the transaction, the buyer receives immediate feedback and can choose another payment method.

Packstation mode

Here you can define if "DHL Packstation" addresses are allowed when using Amazon Pay

Click "save" after you have defined your parameters.
download Parameters

Download the current Client- and Seller IDs from the PAYONE platform by selecting the entry and clicking on "Download Configuration"

Make sure the checkbox is checked before clicking the button
New Parameters visible

If everything went correctly, you should see your Client- and Seller ID in the table:

You can now configure the payment method as usual.

Creditcard

Click on Customers → Payments → PAYONE → Payone Kreditkartenkonfiguration

Field Description

Add item

Add more configurations

Delete all selected

Delete selected entries


Selecting Edit (pencil) or Add opens a window with the following parameters:
 
 

Field Description

Integration type

  • hosted-iFrame (Strongly recommended!)
  • AJAX
Ensure that you always use "hosted iFrame". Only merchants with a PCI DSS certification level of SAQ A-EP or higher are allowed to use AJAX.

Shop

The title of the respective store

Only one configuration is possible per store. 

Default

Determines whether the current configuration should be used as default.

Merchant ID

Your Merchant ID

Portal ID

The portal ID used for the transfer of the credit card data.

Subaccount ID

The subaccount ID used for the transfer of credit card data.

Key

The portal key used for the transfer of credit card data.

live mode

Specifies whether the credit card data should be transferred in live mode.

check creditcard CVC

Should the card verification number (CVC) be queried?

minimum validity

Minimum validity in days that a card may still have in order to be ordered.

For retailers, this value may be just over the expiration period, so credits will still work even if the card has expired in the meantime.

Auto Credit Card Type Detection

Determines whether the customer is prompted to specify his card type or whether the card type should be automatically recognized by PAYONE.

Using the automatic card type detection

Here you can see how our automatic detection of the card type works. This feature can help with conversion as the customer has fewer fields to consider. We also provide visual cues as to which brands are supported by the store.

Without the automatic recognition, the customer must specify the card type of his credit card.

When enabled, all configured credit card brand logos are loaded from our CDN and displayed above the card field. Our platform determines the brand used and highlights it while you enter the card number.

 

In case of an unknown number, a warning is displayed:

 

This case can occur if the customer enters a really wrong number, unsupported characters or a number from a very new BIN range. If the customer is sure of his card number, he can click on the icon of his brand to select the card type manually.

If the customer wants to use a card that is not supported by the current store configuration, we display an error message and prompt the customer to use a supported card.

 

Field Configuration

Our plugin offers you compliance with the "lowest" compliance level according to PCI DSS (SAQ A). Since in this compliance level all credit card data may only be entered in fields hosted by a PCI DSS certified service provider, our plugin uses iFrames that are integrated into the checkout. However, these do not inherit the CSS of the store template, but contain their own style. You can use the following settings to customize these fields.

Field Description

Field type

  • Numeric - Only numbers are allowed and the numeric keypad is used for mobile devices → input type="tel"
  • Password - input type="password"
  • Text - input type="text"

Number of characters

Number of characters in the width of the input field

Maximum number of characters

Maximum number of characters allowed

iFrame

  • Standard - Uses width and height from the standard style
  • Custom - Uses width and height from the following fields

iFrame width

Set the width in CSS

iFrame height

Set the height in CSS

Style

  • Standard - Uses CSS specification from "Standard style"
  • Custom - Uses CSS specification of the following fields

CSS

Specify the CSS to format the field in question.

If you use the CSS attribute Url, the field in question is not displayed
Default Style

Field Description

Fields: input

Specification of CSS for the default formatting of all input fields.

The following CSS can be used in the default Shopware template:

Example
box-shadow:inset 0 1px 1px 1px #dadae5;background:#f8f8fa;border:1px solid #dadae5;border-top-color:#cbcbdb;line-height:19px;font-size:.875rem;width:85%;padding:.625rem .625rem .625rem .5625rem .625rem;color:#8798a9;

Fields: selected

Specification of CSS for formatting all selection fields.

The following CSS can be used in the Shopware default template:

Example
box-shadow:inset 0 1px 1px 1px #dadae5;background:#f8f8fa;border:1px solid #dadae5;border-top-color:#cbcbdb;line-height:19px;font-size:.875rem;width:85%;padding:.625rem .625rem .625rem .5625rem .625rem;color:#8798a9;

iFrame height

Default height specification in CSS for all fields.

iFrame width

Default height specification in CSS for all fields.

Default Translation and Error output

Field Description

Active

Activates the error output

custom error messages

You can enter your own error messages here

PAYONE Direct Debit

If you use the payment method "PAYONE Lastschrift", be sure to specify the countries from which you want to draw direct debits in the country selection. If you do not select a country, the payment method will be displayed to all customers. This can confuse customers from non-SEPA countries. Also, the account country selection list in the checkout will be empty.

Apple Pay

Under Customer → Payments → PAYONE Kontrollzentrum → Konfiguration → Grundeinstellungen → Allgemein

Field Description

Apple Pay Merchant Id

This value can be taken from the Apple Developer Portal as "Identifier" of your Merchant ID:

allow Apple Pay Visa

Indicates whether Visa cards are allowed for payment with Apple Pay. Please only select the card types here that are also part of your PAYONE contract.

allow Apple Pay Mastercard

Indicates whether Mastercard cards are allowed for payment with Apple Pay. Please only select the card types here that are also part of your PAYONE contract.

allow Apple Pay Girocard

Indicates whether Girocard cards are allowed for payment with Apple Pay. Please only select the card types here that are also part of your PAYONE contract.

Apple Pay certificate

Please upload your Apple Pay Merchant Identification Certificate (in .pem format) here.

Make sure that the certificate is not publicly accessible and can only be read by Shopware. Your hoster or server administrator can answer any questions you may have.

 

Apple Pay private key

Please upload your Apple Pay Private Key (in .key format) here.

Apple Pay private key password

Here you can set the password for using the private key.

Apple Pay Debug

If this field is active, debug information about the Apple Pay session is displayed in the checkout, which can be helpful when setting up Apple Pay. This option should be deactivated in live operation

In addition to the configuration in Shopware, it is also necessary to set up the corresponding certificates to operate Apple Pay as a payment method. You can find notes on this here: Special Remarks - Apple Pay

In addition, Apple requires the validation of the store domain for Apple Pay. To do this, follow the instructions in the Apple Developer Portal:

Payment methods setup

When you install the PAYONE plugin, all available PAYONE payment types are automatically created in your store. For easier identification, they are created with the prefix "PAYONE". However, you can easily change this by changing the name of the payment type.

Activate the desired payment methods under Configuration → Payment Methods

Editing the orders

The PAYONE plugin sets the payment status of an order according to the set status assignment.

Capture

Under Customers → Orders you can enter pre-authorized orders. To do this, you need to edit the respective order by clicking on the pen.
 

The items to be captured must be marked (checkmarked) and then confirmed with the "capture position" button.
 
 

Check the amount again. Decide whether the shipping costs should also be collected. After clicking on (partial) money collection, the money will be collected and the receivable will be booked on the PAYONE platform.
 

For a partial withdrawal, simply add a new identical item to the item and specify the quantity of items you wish to withdraw. Make sure, however, that the original position is reduced in terms of quantity. Use the button final capture to mark the order as completely captured. Where supported, the claim may be reduced by the payment method provider and remaining reservations will be dismissed.

Refund

Under Customers → Orders you can create credit notes. To do this, you need to edit the respective order by clicking on the pen.

In the following order details you will find on the sheet Positions the "debt position" button.

The items to be refund must be marked (checkmarked) and then confirmed with the "debt position" button.
 

Marking of conspicuous orders

If there are discrepancies in an order, the order will be marked with the status "Verification required". In this case, the amount in Shopware 5 should be checked with the amount in PAYONE Merchant Interface (PMI), as this could be a fraud attempt. 

 

Extended configurations

Here you will find separate setting options that allow you to customize our plugin more precisely to your needs.

Address check

You can use the following options only if you have ordered the Protect module from PAYONE. The use of address checks is associated with variable costs per transaction, which you will see in the contract.

Under Customers → Payments → PAYONE → Konfiguration → sheet "adress check" you can define if and in which form the address checks should be performed and how the Shopware eShop should behave if certain results apply.

 

Field Description

active

Activates the address check

operating mode
 

Setting in which mode the address check should take place: in test or live.

Test and live data are different. Test data can only be used in test mode.

billing address

  • Do not check - No address check is performed
  • Basic - Address check for existence (street number, postcode, city, country) as well as addition and correction of address (possible for addresses from Germany, Austria, Switzerland, Netherlands, Belgium, Luxembourg, France, Italy, Spain, Portugal, Denmark, Sweden, Finland, Norway, Poland, Slovakia, Czech Republic, Hungary, USA, Canada).
  • Person - Checking whether the person is known at the address given, checking the existence of the address and supplementing and correcting the address (Germany only).

shipping address

(see billing address)

auto correct

If Yes is selected, an address corrected by the PAYONE platform will be adopted. Not otherwise. In addition, there are options here that the user can agree to a correction or be prompted to enter the address again.

error handling

Here you can define what should happen if there is a technical error. For example, the address validation is not available or reachable.

minimum basket value

Shopping cart value from which an address check is performed

maximum basket value

Shopping cart value until an address check is performed

validity in days

The duration in days for registered users in the shop for which the result of the verification is valid.

error message
 

Here you can define which message is displayed to the user if an incorrect entry has been made.

Person Status Mapping

Below are listed the individual possible results of address verification person to whom you can assign each of the traffic light values:

  • red
  • yellow
  • green

to the other. In conjunction with the setting in the Risk area, this means that payment types are not available to the customer or are hidden by this traffic light value.

Credit assesment

You can use the following options only if you have ordered the Protect module from PAYONE. The use of credit checks is associated with variable costs per transaction, which you will see in the contract.
Please make the settings for the credit check carefully. The credit check is performed after the personal data has been entered and influences the payment types that are offered to your customers in the checkout process. You should only use the credit check for payment types that pose a risk of non-payment for you (e.g. open invoices or direct debits). You configure this via the Traffic Light Value / Score setting in the configuration of the respective payment type. In addition, you should indicate in your store in a suitable manner that you carry out the credit check via infoscore Consumer Data GmbH.

Under Customers → Payments → PAYONE → Konfiguration → sheet "credit assesment" you can specify whether and in what form the credit checks should be performed and how the Shopware eShop should behave if certain results apply.
 

Field Description

active

Activates the credit check

operating mode

Setting in which mode the address check should take place: in test or live.

Test and live data are different. Test data can only be used in test mode.

check timing

Select the time of the check here.

This setting only applies if the value "Alle (global)" is selected for "Applies to payment type".

check type B2C

  • Infoscore (hard characteristics) - Check for hard characteristics via Infoscore (e.g. consumer insolvency proceedings, arrest warrant for affidavit or enforcement of affidavit)
  • Infoscore (all characteristics) - Examination for so-called "hard" negative features (see above) and "medium" negative features (e.g. order for payment order, enforcement order or enforcement) and "soft" negative features (e.g. collection dunning procedure initiated, continuation of out-of-court collection dunning procedure after partial payment, discontinuation of out-of-court collection dunning procedure due to hopelessness)
  • Infoscore (all characteristics + Boniscore) - Checking for all characteristics (see above) and delivery of the BoniScore, which as a score value enables a higher selectivity for existing negative characteristics.
  • Boniverse VERITA Score - Check for VERITA-Scores via Boniversum

check type B2B

Determines whether corporate customers are to be checked. The definition is based on the selection of the end customer during registration or checkout. ("I am a private customer/business customer") 

default score for new customers

Here you can define the traffic light value for new customers.

Boniversum unknown

Here you can define the traffic light value for customers who are unknown to Boniversum (only applies when using the check type "Boniversum").

validity in days

Number of days for which the credit standing value returned is valid. No new credit checks will be carried out for the set period for the registered shop buyer / user concerned until the set period expires.

minimum basket value

Shopping cart value from which a credit check is carried out.

maximum basket value

Shopping cart value until a credit check is carried out.

error handling

Here you can define what should happen if a technical error occurs. For example, the credit assessment is not available or attainable.

notification message

Enter here the text to be displayed to the buyer when a credit check is performed for him.

consent question

Enter here the text of the question that will be asked to the customer to agree to a credit check.

Please make the settings for the credit check carefully. Incorrect configurations can lead to errors in the checkout process and unwanted costs due to an increased number of queries and an unnecessarily high risk of non-payment.

Paymentstatus

Under Customers → Payments → PAYONE → Konfiguration → sheet "Paymentstatus" you can define which status the order should have in Shopware

For more information about transaction state callbacks, see this page of our server API documentation.

Forward the transaction status

Under Customers → Payments → PAYONE → Konfiguration → sheet "forward the transaction status" you can, if required, assign a separate forwarding URL to each payment status message of the PAYONE platform (transaction status). This is always necessary if other systems in your system environment also require this payment information.

Field Description

Logging

Enables logging for the transaction status forwarding log.

Timeout

Response time in milliseconds until termination

Timeout increase
 

Increase timeout in milliseconds for the next attempt

max. Tries

Maximum attempts to forward until aborted

If the Logging is enabled, errors in forwarding of transaction status messages are displayed in a separate system log. You can then view and download the current logs under Configuration → Logfile → sheet "System Log".

Log Eintrag When? Meaning

notification controller called

always

Information value only - marks the start of txstatus processing

different shop active, submitted id, new shopid [1,2,2]

active shop has a different ID than the shop that's referred to in the request

1,2,2 means:

  • active shop has ID 1
  • Request refers to shop ID 2
  • tx status processing therefore uses shop ID 2

push received for tx 123456789

always

txid der txstatus-Anfrage

clearingdata already exists

if a transaction already has clearing data attached to it

info - clearing data doesn't get overwritten

clearingdata is empty

if a transaction doesn't have yet clearing data attached to it

info - clearing data from the txstatus request is attached to the transaction

save attribute data

always

info - data gets saved as attributes to an order

finished, output TSOK

always

processing finished - TSOK is being sent

starting tx forwards

always

info - txstatus gets forwarded now

finished all tasks, exit

always

info - clearing data from the txstatus request is attached to the transaction

API- and Transaktionsstatus-Log

Under Customers → Payments → PAYONE → API-Log you will find all information about the processed payments and communication with the PAYONE platform.

The overview shows all received and processed requests to the PAYONE platform. By clicking on an entry, you can view details about the respective request.

Under Customers → Payments → PAYONE → Transaktionsstatus-Log you have an overview of the transaction status messages received and can view details by clicking on a record.

Integrate clearing data into HTML and PDFs

The clearing data is stored in the s_order_attributes table in the mopt_payone_clearing_data column in JSON format. The orderID column contains the ID of the corresponding order stored in the s_order table. The data can be read, for example, with the following SQL statement:

Sample Query
SELECT JSON_PRETTY(mopt_payone_clearing_data)  FROM s_order_attributes WHERE orderID = <orderID>

Ausgabe:
{
  "clearing_txid": "822243227",
  "clearing_bankbic": "DEUTDEHH210",
  "clearing_bankcity": "Kiel",
  "clearing_bankcode": "21070020",
  "clearing_bankiban": "DE87210700200022520120",
  "clearing_bankname": "Deutsche Bank AG",
  "clearing_bankaccount": "0022520120",
  "clearing_bankcountry": "DE",
  "clearing_bankaccountholder": "PAYONE GmbH"
}

Display prepayment clearing data in the email template.

All email templates can be customized under Settings → Email Management → Email Templates. The order confirmation email template can be found under System emails → sORDER.

There are 2 templates: one for text emails and one for HTML emails.

The translations of the two templates must be adjusted via the globe button in the upper right corner.

 

Customize Text Email Template

You can customize the templates depending on the payment method you use. To customize the templates, you need to use the internal name of the payment method used. You can find the names in the payment methods overview:

 

To add transfer information to the template for the PAYONE Prepayment payment type, please find the following block in the template source code.

Here 2 text boxes, one for TEXT and one for HTML: 

Text
{if $additional.payment.name == "prepayment"}
     Unsere Bankverbindung:
    {config name=bankAccount}
{/if}

HTML
{if $additional.payment.name == "prepayment"}
    Unsere Bankverbindung:<br/>
    IBAN: ###<br/>
    BIC: ###<br/>
{/if}

And add the following block after it:

DE Text
{if $additional.payment.name == "mopt_payone__acc_payinadvance"}
    {if $additional.moptPayoneClearingData}
        Unsere Bankverbindung:
        Kontoinhaber: {$additional.moptPayoneClearingData.clearing_bankaccountholder}
        IBAN:         {$additional.moptPayoneClearingData.clearing_bankiban}
        BIC:          {$additional.moptPayoneClearingData.clearing_bankbic}
        Bank:         {$additional.moptPayoneClearingData.clearing_bankname}
        Referenz:     {$additional.moptPayoneClearingData.clearing_txid}
    {/if}
{/if}

DE HTML
{if $additional.payment.name == "mopt_payone__acc_payinadvance"}
    {if $additional.moptPayoneClearingData}
        Unsere Bankverbindung:<br/>
        Kontoinhaber: {$additional.moptPayoneClearingData.clearing_bankaccountholder}<br/>
        IBAN:         {$additional.moptPayoneClearingData.clearing_bankiban}<br/>
        BIC:          {$additional.moptPayoneClearingData.clearing_bankbic}<br/>
        Bank:         {$additional.moptPayoneClearingData.clearing_bankname}<br/>
        Referenz:     {$additional.moptPayoneClearingData.clearing_txid}<br/>
    {/if}
{/if}

EN Text
{if $additional.payment.name == "mopt_payone__acc_payinadvance"}
    {if $additional.moptPayoneClearingData}
        Our bank details:
        Account holder: {$additional.moptPayoneClearingData.clearing_bankaccountholder}
        IBAN:           {$additional.moptPayoneClearingData.clearing_bankiban}
        BIC:            {$additional.moptPayoneClearingData.clearing_bankbic}
        Bank:           {$additional.moptPayoneClearingData.clearing_bankname}
        Reference:      {$additional.moptPayoneClearingData.clearing_txid}
    {/if}
{/if}

EN HTML
{if $additional.payment.name == "mopt_payone__acc_payinadvance"}
    {if $additional.moptPayoneClearingData}
        Our bank details:<br/>
        Account holder: {$additional.moptPayoneClearingData.clearing_bankaccountholder}<br/>
        IBAN:           {$additional.moptPayoneClearingData.clearing_bankiban}<br/>
        BIC:            {$additional.moptPayoneClearingData.clearing_bankbic}<br/>
        Bank:           {$additional.moptPayoneClearingData.clearing_bankname}<br/>
        Reference:      {$additional.moptPayoneClearingData.clearing_txid}<br/>
    {/if}
{/if}

To add remittance information to the template for the PAYONE Open Invoice payment type, add the following block after it:

DE Text
{if $additional.payment.name == "mopt_payone__acc_invoice"}
     Unsere Bankverbindung:
    {config name=bankAccount}
{/if}

DE HTML
{if $additional.payment.name == "mopt_payone__acc_invoice"}
    Unsere Bankverbindung::<br/>
    {config name=bankAccount}
{/if}

EN Text
{if $additional.payment.name == "mopt_payone__acc_invoice"}
     Our bank details:
    {config name=bankAccount}
{/if}

EN HTML
{if $additional.payment.name == "mopt_payone__acc_invoice"}
    Our bank details:<br/>
    {config name=bankAccount}
{/if}

Extend PDF Templates

In order to display the clearing data on PDF documents, the JSON-encoded content of the corresponding variables must first be decoded. This is done in the .tpl file for the invoice (or similar) for your template:

Bankdaten
{assign var=mopt_payone_decoded_clearing_data value=$Order._order.attributes.mopt_payone_clearing_data|json_decode:true}

These and other variables are then available:

Content Variable

Recipient

{$mopt_payone_decoded_clearing_data.clearing_bankaccountholder}

IBAN

{$mopt_payone_decoded_clearing_data.clearing_bankiban}

BIC

{$mopt_payone_decoded_clearing_data.clearing_bankbic}

Bank

{$mopt_payone_decoded_clearing_data.clearing_bankname}

Clearing Reference

{$mopt_payone_decoded_clearing_data.clearing_reference}

{$mopt_payone_decoded_clearing_data.clearing_txid}

{$attributes.mopt_payone_txid}

{$sBookingID}

Invoice gross amount

{$Order._order.invoice_amount}

Invoice net amount

{$Order._order.invoice_amount_net}

List all variables (for debugging purposes)

{$mopt_payone_decoded_clearing_data|print_r}

Risk Management
In order to use the risk management services, the Protect module of the PAYONE platform must be put into operation.
Die Plausibilitäts- und Gültigkeitsprüfung von Bankkontoverbindungen (Bankkontoprüfung) und Kreditkartennummern mittels LUHN-Prüfung (Kreditkartenprüfung) wird unabhängig von den Funktionalitäten des Protect-Moduls bei der Abwicklung von Zahlungen per Lastschrift und Kreditkarte eingesetzt.
Darüber hinaus können weitere Risikomanagement-Services zur Betrugsprävention über die PAYONE Plattform genutzt werden (IP Check, BIN Check, Velocity Check, Risk Matrix, etc.).
Creditworthiness-dependent management of the payment portfolio

With the PAYONE plugin for Shopware, you can control which payment methods are offered to your customers depending on their creditworthiness. The check takes place in real time for each individual buyer during the checkout process.

The settings can be defined differently for each payment type, so that risk checks are only performed under certain conditions and a payment type is only offered under certain conditions.

By installing the PAYONE plugin, the conditions of the traffic light value were added to the existing rules.

Under Configuration → Risk management you can determine whether a payment type is blocked based on a defined traffic light value.

Shipping Costs

To ensure smooth operation of the plug-in, it is necessary to assign shipping rates to each payment method. As a further option, you can define an alternative shipping type that always takes effect if no concrete shipping cost record is assigned to a payment type.

 

Customizing snippets

For the display of certain texts, text modules have been provided with the installation of the plug-in, which you can adapt according to the language used in each case. You find the administration of the snippets under Configuration → Snippets.

 

All text output (except bank names, e.g. with iDeal) in the frontend is provided via text modules, so that there is the greatest possible flexibility when using several languages. According to the Shopware standard, the text modules are initialized and stored in the database the first time they are used. They are then editable. The most important components are already stored during the installation of the plug-in. To edit specific text modules, you may first have to call the corresponding page in the frontend.

The text frame for the PAYONE plug-in can be found in the namespace frontend/MoptPaymentPayone. There is a general error message "generalErrorMessage" that is used when no specific error message is available. Specific error messages can be configured for individual error codes from the PAYONE platform. The text module for an error number 888 is then called "errorMessage888". Exceptions to this are the check of the bank details and the address, since no numerical error codes are returned there. The text modules for this are called "bankaccountcheck-blocked" or "addresscheckcorrected".

For technical reasons, only a few individual elements of the checkout can be processed directly in the templates. These templates can be found at:

/engine/Shopware/Plugins/Default/Frontend/MoptPaymentPayone/ViewsResponsive/frontend/plugins/payment

in the Shopware directory. 

Please ensure to always clear the shop caches after any alterations!

Duplicate payment method

Under Configuration → Payment methods you can copy the payment methods for separate use, with a subshop or other reasons such as country assignments.

After duplication, you can give the payment type a different name and assign it to a country or even to another subshop.

Please do not change the name of the payment type (here mopt_payone__cc_visa), because it is needed for using the correct routines. After duplication, a numeric suffix is appended to the name, which is necessary for the uniqueness of the names.