Работа с яндекс кассой в Drupal 8. Кому-нибудь удалось это настроить?

Аватар пользователя clubwave.ru clubwave.ru 11 февраля в 2:03

На яндексе лежит официальная версия:
https://yandex.ru/support/checkout/instructions/drupal8.html

По инструкции нормально не ставится, точнее требует еще установку yandex-money/yandex-checkout-sdk-php (Нашел здесь: https://github.com/yandex-money/yandex-checkout-sdk-php)

Модуль устанавливается, но при попытке добавить шлюз выдает оштбку. В яндексе всем пофигу.

Может быть Вам удалось разобраться в этом?

Комментарии

Аватар пользователя davps davps 11 февраля в 4:50

Установите через composer и зависимость подтянется автоматически, это решит вашу проблему.

Аватар пользователя clubwave.ru clubwave.ru 11 февраля в 10:19

попробовал

composer require drupal/yandex_checkout

[InvalidArgumentException]
Could not find a matching version of package drupal/yandex_checkout. Check the package spelling, your version constraint and that the package is available in a stabil
ity which matches your minimum-stability (stable).

Аватар пользователя clubwave.ru clubwave.ru 11 февраля в 5:13

Да устанавливал конечно, composer require yandex-money/yandex-checkout-sdk-php

После этого модуль установился, но при попытке добавить платежны шлюз выдаёт ошибку.

Вот ее начало из watchdog:

Error: Call to a member function id() on null в Drupal\commerce_payment\Plugin\Commerce\PaymentGateway\OffsitePaymentGatewayBase->getNotifyUrl() (строка 19 из /var/www/iman/data/www/iman.fashion/modules/contrib/commerce/modules/payment/src/Plugin/Commerce/PaymentGateway/OffsitePaymentGatewayBase.php) #0 /var/www/iman/data/www/iman.fashion/modules/yandex-money-cms-v2-drupal8-master/src/Plugin/Commerce/PaymentGateway/YandexCheckout.php(232): Drupal\commerce_payment\Plugin\Commerce\PaymentGateway\OffsitePaymentGatewayBase->getNotifyUrl() #1 /var/www/iman/data/www/iman.fashion/modules/contrib/commerce/src/Element/PluginConfiguration.php(103):

Аватар пользователя mg.bsv mg.bsv 5 августа в 13:27

Ошибка здесь:
src/Plugin/Commerce/PaymentGateway/YandexCheckout.php
в строке
$this->entityId = $form_state->getValue('id');
и далее

Информация для решения:
$entityId is deprecated in commerce:8.x-2.16 and is removed from commerce:3.x.
* Use $this->parentEntity->id() instead.
см. также
OffsitePaymentGatewayBase->getNotifyUrl() (здесь parentEntity, а не entityId )

Дальнейшее решение не привожу, так как у меня не решена основная ошибка, которая не позволяет убедиться в корректности моего фикса.
Дополнительно см. https://drupal.ru/node/142159