[miniShop2 + mspTinkoff] Можно ли вызвать оплату заказа через API ?

Добрый день. Создаю заказ через API modx примерно так:

$miniShop2->initialize($modx->context->key, $scriptProperties);
$miniShop2->cart->clean();

$miniShop2->cart->add(165, 1, $option);
$miniShop2->order->add('receiver', 'Заказ доставки из калькулятора');
$miniShop2->order->add('email', 'test@test.io');
$miniShop2->order->add('phone', $fullInfo['Телефон']);
$miniShop2->order->add('comment', $fullInfo['ФИО и комментарий']);
$miniShop2->order->add('text_address', $text);
	
$miniShop2->order->add('payment', 2);
$miniShop2->order->add('delivery', 1);
    
$miniShop2->order->submit();

Как сделать так, чтобы после создания заказа происходил переход на его оплату? На сайте установлен модуль mspTinkoff.
Giant Dad
22 мая 2024, 16:27
modx.pro
1
1 595
0

Комментарии: 3

Артур Шевченко
22 мая 2024, 22:24
1
+1
Нужно переписать метод submit в обработчике заказа, так как из коробки он возвращает ответ сразу на фронт. А когда получишь ответ, там в параметре redirect будет ссылка на оплату.

Тут вместо echo нужно сделать return и убрать die(). И тогда если сделать так
$response = $miniShop2->order->submit();
$modx->sendRedirect($response['data']['redirect']);
то пользователя перекинет на оплату.
    Giant Dad
    27 мая 2024, 12:44
    0
    делаю так же, в переменной $response получаю {«success»:true,«message»:"",«data»:{«msorder»:18}} почему-то нет redirect. При этом заказ в админке сайта создаётся, у заказа указывается требуемый тип оплаты (Тинькоф. подключен модуль mspTinkoff). Почему так?
      Giant Dad
      27 мая 2024, 15:29
      0
      Прошу прощения, оказалось mspTinkoff криво установился и не отрабатывал при оформлении заказа. Всё работает, спасибо
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    3