yoomoney / cms-drupal8

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

Ошибка при GET переходе по ссылке /payment/notify/yookassa #28

Open superromeo opened 2 years ago

superromeo commented 2 years ago

При GET переходе по ссылке /payment/notify/yookassa пишет:

The website encountered an unexpected error. Please try again later.

Может лучше выдавать access denied?

ostulov commented 2 years ago

Добрый день!

Если переходить в браузере по ссылке для получения уведомлений, то это будет пустой запрос без параметров,которые ожидает получить обработчик уведомлений. В таком случае выдается 400 код HTTP, который показывается пользователю как общая ошибка.

superromeo commented 2 years ago

У меня выдаётся код 500. И 3 сообщения в логе:

1.

Тип | yookassa вторник, 11 января 2022 - 16:51 Гость (не проверено) https://xn----7sblvlgns.xn--p1ai/payment/notify/yookassa_ru Notification:

2.

Тип php

вторник, 11 января 2022 - 16:51 Гость (не проверено) https://xn----7sblvlgns.xn--p1ai/payment/notify/yookassa_ru Warning: Trying to access array offset on value of type null в Drupal\yookassa\Plugin\Commerce\PaymentGateway\YooKassa->onNotify() (строка 553 из /DATA/home-sites/lom/web/modules/contrib/commerce_yookassa/src/Plugin/Commerce/PaymentGateway/YooKassa.php)

0 /DATA/home-sites/lom/web/core/includes/bootstrap.inc(346): _drupal_error_handler_real(2, 'Trying to acces...', '/DATA/home-site...', 553)

1 /DATA/home-sites/lom/web/modules/contrib/commerce_yookassa/src/Plugin/Commerce/PaymentGateway/YooKassa.php(553): _drupal_error_handler(2, 'Trying to acces...', '/DATA/home-site...', 553)

2 /DATA/home-sites/lom/web/modules/contrib/commerce/modules/payment/src/Controller/PaymentNotificationController.php(35): Drupal\yookassa\Plugin\Commerce\PaymentGateway\YooKassa->onNotify(Object(Symfony\Component\HttpFoundation\Request))

3 [internal function]: Drupal\commerce_payment\Controller\PaymentNotificationController->notifyPage(Object(Drupal\commerce_payment\Entity\PaymentGateway), Object(Symfony\Component\HttpFoundation\Request))

4 /DATA/home-sites/lom/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array(Array, Array)

5 /DATA/home-sites/lom/web/core/lib/Drupal/Core/Render/Renderer.php(564): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber{closure}()

6 /DATA/home-sites/lom/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(124): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure))

7 /DATA/home-sites/lom/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array)

8 /DATA/home-sites/lom/vendor/symfony/http-kernel/HttpKernel.php(158): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber{closure}()

9 /DATA/home-sites/lom/vendor/symfony/http-kernel/HttpKernel.php(80): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)

10 /DATA/home-sites/lom/web/core/lib/Drupal/Core/StackMiddleware/Session.php(58): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)

11 /DATA/home-sites/lom/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)

12 /DATA/home-sites/lom/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)

13 /DATA/home-sites/lom/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, true)

14 /DATA/home-sites/lom/web/core/modules/ban/src/BanMiddleware.php(50): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)

15 /DATA/home-sites/lom/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Drupal\ban\BanMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)

16 /DATA/home-sites/lom/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)

17 /DATA/home-sites/lom/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)

18 /DATA/home-sites/lom/web/core/lib/Drupal/Core/DrupalKernel.php(708): Stack\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)

19 /DATA/home-sites/lom/web/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request))

20 {main}

.

3.

Тип php

вторник, 11 января 2022 - 16:51 Гость (не проверено) https://xn----7sblvlgns.xn--p1ai/payment/notify/yookassa_ru   TypeError: YooKassa\Model\Notification\NotificationWaitingForCapture::__construct(): Argument #1 ($source) must be of type array, null given, called in /DATA/home-sites/lom/web/modules/contrib/commerce_yookassa/src/Plugin/Commerce/PaymentGateway/YooKassa.php on line 555 в YooKassa\Model\Notification\NotificationWaitingForCapture->__construct() (строка 74 из /DATA/home-sites/lom/vendor/yoomoney/yookassa-sdk-php/lib/Model/Notification/NotificationWaitingForCapture.php)

0 /DATA/home-sites/lom/web/modules/contrib/commerce_yookassa/src/Plugin/Commerce/PaymentGateway/YooKassa.php(555): YooKassa\Model\Notification\NotificationWaitingForCapture->__construct(NULL)

1 /DATA/home-sites/lom/web/modules/contrib/commerce/modules/payment/src/Controller/PaymentNotificationController.php(35): Drupal\yookassa\Plugin\Commerce\PaymentGateway\YooKassa->onNotify(Object(Symfony\Component\HttpFoundation\Request))

2 [internal function]: Drupal\commerce_payment\Controller\PaymentNotificationController->notifyPage(Object(Drupal\commerce_payment\Entity\PaymentGateway), Object(Symfony\Component\HttpFoundation\Request))

3 /DATA/home-sites/lom/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array(Array, Array)

4 /DATA/home-sites/lom/web/core/lib/Drupal/Core/Render/Renderer.php(564): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber{closure}()

5 /DATA/home-sites/lom/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(124): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure))

6 /DATA/home-sites/lom/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array)

7 /DATA/home-sites/lom/vendor/symfony/http-kernel/HttpKernel.php(158): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber{closure}()

8 /DATA/home-sites/lom/vendor/symfony/http-kernel/HttpKernel.php(80): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)

9 /DATA/home-sites/lom/web/core/lib/Drupal/Core/StackMiddleware/Session.php(58): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)

10 /DATA/home-sites/lom/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)

11 /DATA/home-sites/lom/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)

12 /DATA/home-sites/lom/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, true)

13 /DATA/home-sites/lom/web/core/modules/ban/src/BanMiddleware.php(50): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)

14 /DATA/home-sites/lom/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Drupal\ban\BanMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)

15 /DATA/home-sites/lom/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)

16 /DATA/home-sites/lom/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)

17 /DATA/home-sites/lom/web/core/lib/Drupal/Core/DrupalKernel.php(708): Stack\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)

18 /DATA/home-sites/lom/web/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request))

19 {main}

.

ostulov commented 2 years ago

Сделали исправление этой проблемы в последней версии модуля v2.2.5