alt

Important information

The API reference is now available here.
The deprecated API reference is available here.

Unzer

FAQs and known issues

Find answers to frequently asked questions.

FAQs

Who is the Heidelpay back end user?

During the installation process, a back end user heidelpay is created to write log entries. This back end sign in can not be used to log into your shop back end and should not be renamed or edited in any way. Depending on the plugin version, the email addresses technik@heidelpay.de or support@heidelpay.de are used.


Why are basket-amount and invoice-amount different?

Some customers may try to manipulate their orders by adding new basket items while the payment workflow is in process. In these cases, the plugin sets the payment state to review necessary instead of paid. Additionally, the field your comment is added to the order details


`ShortID: XXXX.XXXX.XXXX | Suspected manipulation! Please check the amount of the order and the amount payment | Amount paid: XX.XX`

Version 18.03.11 Backend transactions such as reversal, cannot be processed

Problem

With plugin version 18.03.11, the merchants aren’t able to perform backend-transactions like capture or reversal and gets an error message in a black box displayed.

Solution

This issue was fixed with plugin Version 18.04.27 and newer.


iFrame for credit and Debit card is displayed with the scrollbars

Problem

After installation or update of the plugin, the iFrame solution for credit card and debit card payments shows scroll bars on the right side.

shopware iframe

Solution

In most cases, clearing the caches and compiling the theme solves this problem.

  1. Go to Configuration > Cache/performance > Cache/performance.
  2. Go to Cache and select all the checkboxes and then select Clear.

EPS transactions fail with an error

Problem

The customer is not redirected to the EPS systems and gets a failure message in the front end, such as Ups, there was an error.

Solution

As soon as your merchant configuration at Unzer is checked and validated, you can edit the front end controller function preparePostData() located in the engine/Shopware/Plugins/Community/Frontend/HeidelGateway/Controllers/Frontend/PaymentHgw.php file as shown in the following example:

...
/* eps */
case 'eps':
    $type = (!array_key_exists('PAYMENT.TYPE',$config)) ? 'PA' : $config['PAYMENT.TYPE'];
    $params['PAYMENT.CODE']         = "OT.".$type;
    $params['FRONTEND.ENABLED']     = "true";
    $params['ACCOUNT.COUNTRY']      = "AT";
    //                  $params['ACCOUNT.BRAND']        = "EPS";
    break;
/* postfinance */
...

Opening the E-Mail Management causes errors

Problem

If you go to Configuration > E-mail management > Email Templates, after updating your system to Shopware 5.6 or above, an error is displayed.

This behavior is also described in Shopware Community Forum a couple of times.

Reason

The Shopware update process makes some changes in database which causes these errors.

Solution

Option 1: If you haven’t changed other email templates

  1. Make a backup of database table s_core_documents_box
  2. Delete table s_core_documents_box
  3. Recreate table s_core_documents_box from your backup

Option 2: If you have updated your email templates

  1. Delete the entries with the following names from the table s_core_documents_box
    1. prepaymentHeidelpay
    2. directdebitHeidelpay
    3. invoiceSanHeidelpay
    4. invoiceIvpdHeidelpay
  2. Add the entries again using the following SQL statement
    INSERT INTO `s_core_config_mails` (`stateId`, `name`, `frommail`, `fromname`, `subject`, `content`, `contentHTML`, `ishtml`, `attachment`, `mailtype`, `context`, `dirty`) VALUES
    INSERT INTO
    
    (NULL, 'prepaymentHeidelpay', '{config name=mail}', '{config name=shopName}', 'Zahldaten zu Ihrer Bestellung {$ordernumber} bei {config name=shopName}', 'Sehr geehrter Kunde,\r\n\r\nvielen Dank fuer Ihre Bestellung in unserem Shop.\r\n\r\nBitte nutzen Sie zum Zahlen Ihrer Bestellung folgende Bezahldaten.\r\n\r\nBetrag: {$AMOUNT} {$CURRENCY}\r\nKontoinhaber: {$CONNECTOR_ACCOUNT_HOLDER}\r\nKonto-Nr.: {$CONNECTOR_ACCOUNT_NUMBER}\r\nBankleitzahl: {$CONNECTOR_ACCOUNT_BANK}\r\nIBAN: {$CONNECTOR_ACCOUNT_IBAN}\r\nBIC: {$CONNECTOR_ACCOUNT_BIC}\r\n\r\nUm eine schnelle Bearbeitung gewaehrleisten zu koennen, geben Sie bitte als Verwendungszweck nur diese Nummer an.\r\nVerwendungszweck: {$IDENTIFICATION_SHORTID}\r\n\r\n\r\nVielen Dank\r\n\r\nMit freundlichen Gruessen\r\n\r\n{config name=shopName}\r\n{config name=address}', 'Sehr geehrter Kunde,<br/><br/>vielen Dank für Ihre Bestellung in unserem Shop.<br><br/>Bitte nutzen Sie zum Zahlen Ihrer Bestellung folgende Bezahldaten.<br/><br/>Betrag: {$AMOUNT} {$CURRENCY}<br/>Kontoinhaber: {$CONNECTOR_ACCOUNT_HOLDER}<br/>Konto-Nr.: {$CONNECTOR_ACCOUNT_NUMBER}<br/>Bankleitzahl: {$CONNECTOR_ACCOUNT_BANK}<br/>IBAN: {$CONNECTOR_ACCOUNT_IBAN}<br/>BIC: {$CONNECTOR_ACCOUNT_BIC}<br/><br/>Um eine schnelle Bearbeitung gewährleisten zu können, geben Sie bitte als Verwendungszweck nur diese Nummer an.<br/>Verwendungszweck: {$IDENTIFICATION_SHORTID}<br/><br/><br/>Vielen Dank<br/><br/>Mit freundlichen Grüßen<br/><br/>{config name=shopName}<br/>{config name=address}', 1, '', 1, 'a:10:{s:6:\"AMOUNT\";s:5:\"20,00\";s:8:\"CURRENCY\";s:3:\"EUR\";s:25:\"CONNECTOR_ACCOUNT_COUNTRY\";s:3:\"DE\n\";s:24:\"CONNECTOR_ACCOUNT_HOLDER\";s:13:\"Heidelpay QA\n\";s:24:\"CONNECTOR_ACCOUNT_NUMBER\";s:11:\"1234567890\n\";s:22:\"CONNECTOR_ACCOUNT_BANK\";s:9:\"10000000\n\";s:22:\"CONNECTOR_ACCOUNT_IBAN\";s:23:\"DE01000000001234567890\n\";s:21:\"CONNECTOR_ACCOUNT_BIC\";s:13:\"HEIDELPAYXY\n\n\";s:22:\"IDENTIFICATION_SHORTID\";s:15:\"\n4174.3537.6178\";s:11:\"ordernumber\";N;}', 0),
    (NULL, 'directdebitHeidelpay', '{config name=mail}', '{config name=shopName}', 'Lastschriftdaten zu Ihrer Bestellung {$ordernumber} bei {config name=shopName}', 'Der Betrag wird in den naechsten Tagen von folgendem Konto abgebucht:\r\nIBAN: {$ACCOUNT_IBAN}\r\nBIC: {$ACCOUNT_BIC}\r\nDie Abbuchung enthaelt die Mandatsreferenz-ID: {$ACCOUNT_IDENT}\r\nund die Glaeubiger ID: {$IDENT_CREDITOR_ID}\r\n\r\nBitte sorgen Sie fuer ausreichende Deckung auf dem entsprechenden Konto.\r\n\r\nVielen Dank\r\n\r\nMit freundlichen Gruessen\r\n{config name=shopName}\r\n{config name=address}', 'Der Betrag wird in den nächsten Tagen von folgendem Konto abgebucht:<br/><br/>IBAN: {$ACCOUNT_IBAN}<br/>BIC: {$ACCOUNT_BIC}<br/><br/>Die Abbuchung enthält die Mandatsreferenz-ID:{$ACCOUNT_IDENT}<br/>und die Gläubiger ID: {$IDENT_CREDITOR_ID}<br/><br/>Bitte sorgen Sie für ausreichende Deckung auf dem entsprechenden Konto.<br/><br/><br/>Vielen Dank<br/><br/>Mit freundlichen Grüßen<br/><br/>{config name=shopName}<br/>{config name=address}', 1, '', 1, 'a:5:{s:12:\"ACCOUNT_IBAN\";s:22:\"DE89370400440532013000\";s:11:\"ACCOUNT_BIC\";s:11:\"COBADEFFXXX\";s:13:\"ACCOUNT_IDENT\";s:14:\"4150.9198.4924\";s:17:\"IDENT_CREDITOR_ID\";s:18:\"DE87ZZZ00000019937\";s:11:\"ordernumber\";s:5:\"20180\";}', 0),
    (NULL, 'invoiceSanHeidelpay', '{config name=mail}', '{config name=shopName}', 'Zahldaten zu Ihrer Bestellung {$ordernumber} bei {config name=shopName}', 'Sehr geehrter Kunde,\r\n\r\nvielen Dank fuer Ihre Bestellung in userem Shop.\r\n\r\nBezahlen Sie bequem nach Warenerhalt. Alle Zahlungsdetails können Sie später auch Ihrer Rechnung entnehmen. Ab Rechnungsdatum haben Sie 30 Tage Zeit, diese zu begleichen.\r\n\r\nZahlungsziel: 30 Tage nach Warenerhalt\r\nBetrag: {$AMOUNT} {$CURRENCY}\r\nKontoinhaber: {$CONNECTOR_ACCOUNT_HOLDER}\r\nKonto-Nr.: {$CONNECTOR_ACCOUNT_NUMBER}\r\nBankleitzahl: {$CONNECTOR_ACCOUNT_BANK}\r\nIBAN: {$CONNECTOR_ACCOUNT_IBAN}\r\nBIC: {$CONNECTOR_ACCOUNT_BIC}\r\n\r\nUm eine schnelle Bearbeitung gewaehrleisten zu koennen, geben Sie bitte als Verwendungszweck nur diese Nummer an.\r\nVerwendungszweck: {$CONNECTOR_ACCOUNT_USAGE}\r\n\r\n\r\nVielen Dank\r\n\r\nMit freundlichen Gruessen\r\n\r\n{config name=shopName}\r\n{config name=address}', 'Sehr geehrter Kunde,<br/><br/>vielen Dank für Ihre Bestellung in userem Shop.<br><br/>Bezahlen Sie bequem nach Warenerhalt. Alle Zahlungsdetails können Sie später auch Ihrer Rechnung entnehmen. Ab Rechnungsdatum haben Sie 30 Tage Zeit, diese zu begleichen.<br/><br/>Betrag: {$AMOUNT} {$CURRENCY}<br/>Kontoinhaber: {$CONNECTOR_ACCOUNT_HOLDER}<br/>Konto-Nr.: {$CONNECTOR_ACCOUNT_NUMBER}<br/>Bankleitzahl: {$CONNECTOR_ACCOUNT_BANK}<br/>IBAN: {$CONNECTOR_ACCOUNT_IBAN}<br/>BIC: {$CONNECTOR_ACCOUNT_BIC}<br/><br/>Um eine schnelle Bearbeitung gewährleisten zu können, geben Sie bitte als Verwendungszweck nur diese Nummer an.<br/>Verwendungszweck: {$CONNECTOR_ACCOUNT_USAGE}<br/><br/><br/>Vielen Dank<br/><br/>Mit freundlichen Grüßen<br/><br/>{config name=shopName}<br/>{config name=address}', 1, '', 1, 'a:11:{s:6:\"AMOUNT\";s:6:\"132,90\";s:8:\"CURRENCY\";s:3:\"EUR\";s:25:\"CONNECTOR_ACCOUNT_COUNTRY\";s:3:\"DE\n\";s:24:\"CONNECTOR_ACCOUNT_HOLDER\";s:10:\"Santander\n\";s:24:\"CONNECTOR_ACCOUNT_NUMBER\";s:11:\"8810076120\n\";s:22:\"CONNECTOR_ACCOUNT_BANK\";s:9:\"31010833\n\";s:22:\"CONNECTOR_ACCOUNT_IBAN\";s:23:\"DE89310108338810076120\n\";s:21:\"CONNECTOR_ACCOUNT_BIC\";s:13:\"SCFBDE33XXX\n\n\";s:23:\"CONNECTOR_ACCOUNT_USAGE\";s:15:\"\n76102099069208\";s:22:\"IDENTIFICATION_SHORTID\";s:15:\"\n76102099069208\";s:11:\"ordernumber\";N;}', 0),
    (NULL, 'invoiceIvpdHeidelpay', '{config name=mail}', '{config name=shopName}', 'Zahldaten zu Ihrer Bestellung {$ordernumber} bei {config name=shopName}', 'Sehr geehrter Kunde,\r\n\r\nvielen Dank fuer Ihre Bestellung in unserem Shop.\r\n\r\nBitte nutzen Sie zum Bezahlen Ihrer Bestellung folgende Bezahldaten.\r\n\r\nBetrag: {$AMOUNT} {$CURRENCY}\r\nKontoinhaber: {$CONNECTOR_ACCOUNT_HOLDER}\r\nIBAN: {$CONNECTOR_ACCOUNT_IBAN}\r\nBIC: {$CONNECTOR_ACCOUNT_BIC}\r\n\r\nUm eine schnelle Bearbeitung gewaehrleisten zu koennen, geben Sie bitte als Verwendungszweck nur diese Nummer an.\r\nVerwendungszweck: {$CONNECTOR_ACCOUNT_USAGE}\r\n\r\n\r\nVielen Dank\r\n\r\nMit freundlichen Gruessen\r\n\r\n{config name=shopName}\r\n{config name=address}', 'Sehr geehrter Kunde,<br/><br/>vielen Dank für Ihre Bestellung in unserem Shop.<br><br/>Bitte nutzen Sie zum Zahlen Ihrer Bestellung folgende Bezahldaten.<br/><br/>Betrag: {$AMOUNT} {$CURRENCY}<br/>Kontoinhaber: {$CONNECTOR_ACCOUNT_HOLDER}<br/>IBAN: {$CONNECTOR_ACCOUNT_IBAN}<br/>BIC: {$CONNECTOR_ACCOUNT_BIC}<br/><br/>Um eine schnelle Bearbeitung gewährleisten zu können, geben Sie bitte als Verwendungszweck nur diese Nummer an.<br/>Verwendungszweck: {$CONNECTOR_ACCOUNT_USAGE}<br/><br/><br/>Vielen Dank<br/><br/>Mit freundlichen Grüßen<br/><br/>{config name=shopName}<br/>{config name=address}', 1, '', 1, 'a:9:{s:6:\"AMOUNT\";s:5:\"13,90\";s:8:\"CURRENCY\";s:3:\"EUR\";s:25:\"CONNECTOR_ACCOUNT_COUNTRY\";s:3:\"AT\n\";s:24:\"CONNECTOR_ACCOUNT_HOLDER\";s:14:\"Test Merchant\n\";s:22:\"CONNECTOR_ACCOUNT_IBAN\";s:24:\"AT611904300234573201456\n\";s:21:\"CONNECTOR_ACCOUNT_BIC\";s:13:\"BFRILI22XXX\n\n\";s:23:\"CONNECTOR_ACCOUNT_USAGE\";s:15:\"\nRFDS-THHF-BBXL\";s:22:\"IDENTIFICATION_SHORTID\";s:15:\"\nRFDS-THHF-BBXL\";s:11:\"ordernumber\";N;}', NULL);
    

Log entry: Basket empty or Session expired

Problem

Some customer’s browsers store the last opened sites. In case the last site was the checkout-finish or checkout-success site, the browser opens these pages again without an open shop session when restarted.

Reason and solution

The plugin needs an open customer-session to get data from the database. Because the plugin doesn’t have an open customer-session, a log entry will be written just for information and debugging.


LOG entry: Suspected manipulation

Problem

Some customers try to cheat shop systems during the payment process, opening the checkout in more than one tab. While performing the payment in on tab, they add additional products to the basket in another. After that, the customer completes the payment process in the first tab. As a result, the paid amount is lower than the actual basket value.

Reason

The plugin writes an internal comment to the order’s Communication tab. The entry looks like “ShortID: XXXX.XXXX.XXXX | Suspected manipulation! Please check the amount of the order and the amount payment | Amount paid: XX.XX”. In addition to that comment, the payment state will be set to partially invoiced.

Solution

Because of high shop version compatibility of the plugin, we cannot solve this issue. A “basket validation” feature of Shopware to prevent this abuse can be used from Shopware 5.3 on, but this isn’t built in the plugin.


There are transaction available without orders

Problem

In rare cases, a payment is processed in the Unzer payment systems without creating an order in Shopware back end. Within the Unzer payment systems, the transactions doesn’t differ from others. In the shop back end, however, you cannot find the matching order. Instead, the order is available in Marketing > Analysis > Cancellation analysis.

Reason

Sometimes the customer loses the shop session during the external payment process and gets redirected to the shop without shop-customer session.

In other cases, the customers doesn’t wait until the browser redirects to the checkout success or checkout finish page and closes the browser tab or window or loses the internet connection during the redirect back to shop.

Solution

The plugin has a built-in feature, that prevents such problems. The function within the plugin is called convertOrder(). The convertOrder-function is triggered by Unzer push notifications sent to the shop and imitates a Shopware core function which normally converts aborted orders.

In a few cases, the order cannot be re-created successfully.


Some payment methods display an error on the checkout or confirm page

Problem

Credit card, EPS, invoice secured, and other payment methods display an error on checkout/confirm page The payment provider is currently unavailable, please select another payment method.

Reason

It is possible that you have installed and activated Constent Manager plugin of the manufacturer consent manager.net.

Solution

Deactivate the Consent Manager plugin.