[mspYooKassa:1.0.17] - Новая версия SDK 3.8.0 и PHP >= 8.0
[mspYooKassa] — оплата через yookassa.ru

Платежи через ЮKassa— Самыми популярными способами: с банковских карт, электронными деньгами и не только.
Обновлен sdk до версии 3.8.0, работает на версии php >= 8.0
Добрый день. Доступна новая версия пакета оплаты mspYooKassa. Поддерживает актуальную версию sdk 3.8.0 и новые способы оплаты.
Пример по добавлению оплаты электронным сертификатом

Согласно документации необходимо

Платежи через ЮKassa— Самыми популярными способами: с банковских карт, электронными деньгами и не только.
Обновлен sdk до версии 3.8.0, работает на версии php >= 8.0
Пример по добавлению оплаты электронным сертификатом
Согласно документации необходимо
в объекте payment_method_data передайте код способа оплаты electronic_certificate и массив articles со списком товаров, для оплаты которых можно использовать электронный сертификат;Создаем плагин на событие mspYooKassaOnCreatePayment
<?php
/* @var modX $modx */
/** @var array $scriptProperties */
/** @var array $payment */
if ($modx->event->name === 'mspYooKassaOnCreatePayment') {
$metadata = $payment['metadata'] ?? [];
$msorder = $metadata['msorder'] ?? 0;
$articles = [];
/** @var msOrder $order */
if ($order = $modx->getObject('msOrder', (int)$msorder, false)) {
if ($tmp = $order->getMany('Products')) {
$products = [];
/** @var $idx - порядковый номер товара в корзине */
foreach (array_values($tmp) as $idx => $item) {
/** @var msOrderProduct $item */
$kodTru = null;
if ($product = $item->getOne('Product')) {
// код tru_code лежит в опции товара
$kodTru = $product->get('kod-tru');
if (is_array($kodTru)) {
$kodTru = array_filter($kodTru);
$kodTru = reset($kodTru);
} else {
$kodTru = trim($kodTru);
}
}
$kodTru = $kodTru ? trim($kodTru) : null;
if (!empty($kodTru)) {
$articles[] = [
'article_number' => $idx + 1,
'payment_article_number' => $idx + 1,
'tru_code' => $kodTru,
'quantity' => $item->get('count'),
'article_name' => $item->get('name'),
'price' => [
'value' => $item->get('price'),
'currency' => 'RUB',
],
];
}
}
}
}
if (!empty($articles)) {
$payment['payment_method_data'] = [
'type' => 'electronic_certificate',
'articles' => $articles,
];
// возвращаем измененный объект платежа
$modx->event->returnedValues['payment'] = $payment;
}
}
PS. Новая версия доступна в репозитории. Работает только на php >= 8.0
Поблагодарить автора
Отправить деньги
Комментарии: 8
Пока новая версия так и не появилась на маркетплейте, или в каком она репозитории?
А как вообще в miniShop2 с поддержкой PHP 8? Попробовал поставить — сразу сотни предупреждений посыпались в лог, даже от простой перезагрузки лога.
А как вообще в miniShop2 с поддержкой PHP 8? Попробовал поставить — сразу сотни предупреждений посыпались в лог, даже от простой перезагрузки лога.
А как вообще в miniShop2 с поддержкой PHP 8?Нет там поддержки php 8 и, скорее всего, не будет, так как есть альфа релиз minishop3 и там поддержка есть.
Да, но miniShop3 только для MODx 3
99% компонентов для Modx 2 не поддерживают php 8, отсюда вопрос зачем тебе php 8 если ты делаешь проект на Modx 2 или зачем ты делаешь проект на Modx 2 если тебе нужен php 8?
У меня скорее вопрос зачем компонент с поддержкой PHP 8+ для MODx 2 с поддержкой только PHP < 8, при этом в «репозитории» его по-прежнему нет.
зачем компонент с поддержкой PHP 8+ для MODx 2А кто сказал, что компонент для Modx 2? Автор просто адаптировал компонент под новую версию php.
А кто говорил обратное? Пока это всё лишь предположения.
Так ребята — «не бузите» !)
По порядку поясняю:
— Новая версия пакета для PHP 8 разработана, потому что SDK Юманей поддерживает только PHP 8. И только новая версия SDK поддерживает новые методы оплаты. Что были необходимы клиенту.
— В репозитории модсторе новую версию был вынужден отключить, так как покупатели пакета жаловались что им недоступна старая версия под PHP < 8.
— Пакет под MODX2 и на PHP8 все работает.
PS. Кому необходимы новые методы оплаты и у кого сайт работает на PHP8 пишите в ТП — временно активирую пакет для скачивания. Пока только так.
По порядку поясняю:
— Новая версия пакета для PHP 8 разработана, потому что SDK Юманей поддерживает только PHP 8. И только новая версия SDK поддерживает новые методы оплаты. Что были необходимы клиенту.
— В репозитории модсторе новую версию был вынужден отключить, так как покупатели пакета жаловались что им недоступна старая версия под PHP < 8.
— Пакет под MODX2 и на PHP8 все работает.
PS. Кому необходимы новые методы оплаты и у кого сайт работает на PHP8 пишите в ТП — временно активирую пакет для скачивания. Пока только так.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.