FAQs and known issues

Find answers to frequently asked questions.

Shipment message is not generated automatically with plugin version 1.0.2

Problem

The plugin is not sending the shipment message automatically although the invoice PDF doc is available.

Solution

This is a bug in the older plugin version that prevents the automated shipment message. It is now fixed in the later versions 1.0.2 and later.

If you are using the older version of the plugin, to solve this problem, open the file …\custom\plugins\UnzerPayment\Subscribers\Model\OrderSubscriber.php and update it as shown here:

       ...
       if (!$invoiceDocument) {
            return;
        }

        /** @var UnzerPaymentApiLoggerServiceInterface $apiLogger */
        $this->apiLogger     = $this->dependencyProvider->get('unzer_payment.services.api_logger');
//        $unzerPaymentClient  = $this->dependencyProvider->get('unzer_payment.services.api_client')->getUnzerPaymentClient();
        $unzerPaymentClient  = $this->dependencyProvider->get('unzer_payment.services.api_client')
            ->getUnzerPaymentClient(
                $order->getShop()->getLocale()->getLocale(),
                $order->getShop()->getId()
            );
        $this->entityManager = $args->getEntityManager();
        ...

Registration of webhooks with plugin version 1.0.2

Problem

After selecting the Register Webhooks, the webhooks must be registered to the store URL. But, the Webhook-url is registered to a wrong or incomplete store URL.

Example: Your plugin installation is located in directory ../var/www/html/MySuperStore/live/custom/plugins/UnzerPayment and your shop URL is configured to URL www.mysuperstore.com . In a normal case, the webhook-url should be www.mysuperstore.com/live/UnzerPayment/executeWebhook . The plugin doesn’t get the correct path by default and registers the following wrong webhook-url www.mysuperstore.com/UnzerPayment/executeWebhook.

Reason

This is a bug that is now fixed in the plugin version 1.0.3 and later.

Solution

For Shopware 1.0.3 version and later

This is a bug in this plugin version that prevents registering of the correct webhook-url. This is now fixed in the later versions 1.0.3 and later.

For Shopware versions prior to 1.0.3

  1. Before registering a webhook, update the following file.
    • File: ...\custom\plugins/UnzerPayment\Controllers\Backend\UnzerPayment.php
    • Line: 294 Github Repository
  ...
  public function registerWebhooksAction(): void
  {
      if (!$this->unzerPaymentClient) {
          return;
      }

      $context = Context::createFromShop($this->shop, $this->get('config'));
      $success = false;
      $message = '';
      $url     = $this->container->get('router')->assemble([
          'controller' => 'UnzerPayment',
          'action'     => 'executeWebhook',
          'module'     => 'frontend',
      ], $context);
  ...
  
  1. Add the following code after line 8 so that the code looks like this:
...
public function registerWebhooksAction(): void
    {
        if (!$this->unzerPaymentClient) {
            return;
        }

        $context = Context::createFromShop($this->shop, $this->get('config'));
        $context->setBaseUrl($this->shop->getBasePath() . $context->getBaseUrl());
        $success = false;
        $message = '';
        $url     = $this->container->get('router')->assemble([
            'controller' => 'UnzerPayment',
            'action'     => 'executeWebhook',
            'module'     => 'frontend',
        ], $context);
 ...       
  1. Save the file to your server and clear all the back end caches.
  2. Reload your Shopware 5 back end, select Register Webhooks and register the webhooks.

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.