yoomoney / cms-drupal8

YooKassa payment module for Drupal 8.x
https://yookassa.ru/developers
3 stars 6 forks source link

Warning: Trying to access array offset on value of type null in YooKassaEventSubscriber->__construct() (line 56) #27

Closed superromeo closed 2 years ago

superromeo commented 2 years ago

$yookassaConfig = \Drupal::config('commerce_payment.commerce_payment_gateway.yookassa')->getOriginal('configuration');

Название конфигурации забито прямо в исходнике. Например, у меня шлюз называется не yookassa, а yookassa_ru.

Ошибка:

Warning: Trying to access array offset on value of type null в Drupal\yookassa\EventSubscriber\YooKassaEventSubscriber->__construct() (строка 56 из /var/www/lom/web/modules/contrib/commerce_yookassa/src/EventSubscriber/YooKassaEventSubscriber.php)

0 /var/www/lom/web/core/includes/bootstrap.inc(346): _drupal_error_handler_real()

1 /var/www/lom/web/modules/contrib/commerce_yookassa/src/EventSubscriber/YooKassaEventSubscriber.php(56): _drupal_error_handler()

2 /var/www/lom/web/core/lib/Drupal/Component/DependencyInjection/Container.php(262): Drupal\yookassa\EventSubscriber\YooKassaEventSubscriber->__construct()

3 /var/www/lom/web/core/lib/Drupal/Component/DependencyInjection/Container.php(176): Drupal\Component\DependencyInjection\Container->createService()

4 /var/www/lom/web/modules/contrib/devel/webprofiler/src/DependencyInjection/TraceableContainer.php(50): Drupal\Component\DependencyInjection\Container->get()

5 /var/www/lom/web/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(136): Drupal\webprofiler\DependencyInjection\TraceableContainer->get()

6 /var/www/lom/web/modules/contrib/commerce/src/CommerceContentEntityStorage.php(60): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch()

7 /var/www/lom/web/modules/contrib/commerce/modules/order/src/OrderStorage.php(64): Drupal\commerce\CommerceContentEntityStorage->invokeHook()

8 /var/www/lom/web/core/lib/Drupal/Core/Entity/EntityStorageBase.php(567): Drupal\commerce_order\OrderStorage->invokeHook()

9 /var/www/lom/web/core/lib/Drupal/Core/Entity/ContentEntityStorageBase.php(750): Drupal\Core\Entity\EntityStorageBase->doPreSave()

10 /var/www/lom/web/core/lib/Drupal/Core/Entity/EntityStorageBase.php(521): Drupal\Core\Entity\ContentEntityStorageBase->doPreSave()

11 /var/www/lom/web/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php(802): Drupal\Core\Entity\EntityStorageBase->save()

12 /var/www/lom/web/core/lib/Drupal/Core/Entity/EntityBase.php(339): Drupal\Core\Entity\Sql\SqlContentEntityStorage->save()

13 /var/www/rg_common/modules/rg_balance/modules/rg_balance_commerce/src/Form/DepositForm.php(163): Drupal\Core\Entity\EntityBase->save()

14 [internal function]: Drupal\rg_balance_commerce\Form\DepositForm->submitForm()

15 /var/www/lom/web/core/lib/Drupal/Core/Form/FormSubmitter.php(114): call_user_func_array()

16 /var/www/lom/web/core/lib/Drupal/Core/Form/FormSubmitter.php(52): Drupal\Core\Form\FormSubmitter->executeSubmitHandlers()

17 /var/www/lom/web/core/lib/Drupal/Core/Form/FormBuilder.php(592): Drupal\Core\Form\FormSubmitter->doSubmitForm()

18 /var/www/lom/web/core/lib/Drupal/Core/Form/FormBuilder.php(320): Drupal\Core\Form\FormBuilder->processForm()

19 /var/www/lom/web/core/lib/Drupal/Core/Controller/FormController.php(73): Drupal\Core\Form\FormBuilder->buildForm()

20 [internal function]: Drupal\Core\Controller\FormController->getContentResult()

21 /var/www/lom/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array()

22 /var/www/lom/web/core/lib/Drupal/Core/Render/Renderer.php(564): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber{closure}()

23 /var/www/lom/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(124): Drupal\Core\Render\Renderer->executeInRenderContext()

24 /var/www/lom/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext()

25 /var/www/lom/vendor/symfony/http-kernel/HttpKernel.php(158): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber{closure}()

26 /var/www/lom/vendor/symfony/http-kernel/HttpKernel.php(80): Symfony\Component\HttpKernel\HttpKernel->handleRaw()

27 /var/www/lom/web/core/lib/Drupal/Core/StackMiddleware/Session.php(58): Symfony\Component\HttpKernel\HttpKernel->handle()

28 /var/www/lom/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle()

29 /var/www/lom/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\Core\StackMiddleware\KernelPreHandle->handle()

30 /var/www/lom/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\page_cache\StackMiddleware\PageCache->pass()

31 /var/www/lom/web/core/modules/ban/src/BanMiddleware.php(50): Drupal\page_cache\StackMiddleware\PageCache->handle()

32 /var/www/lom/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Drupal\ban\BanMiddleware->handle()

33 /var/www/lom/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle()

34 /var/www/lom/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle()

35 /var/www/lom/web/core/lib/Drupal/Core/DrupalKernel.php(708): Stack\StackedHttpKernel->handle()

36 /var/www/lom/web/index.php(19): Drupal\Core\DrupalKernel->handle()

37 {main}

Было бы очень полезно проверять работоспособность также с нестандартным id шлюза. Так как для нескольких стран могут быть, например, id = yookassa_ru, yookassa_kz и т.д.

ostulov commented 2 years ago

Добрый день!

В последней версии модуля v2.2.5 можно создавать платежные шлюзы с разными названиями. Дополнительно потребуется корректно настроить отправку второго чека. Инструкцию по модулю скоро обновим.