modx minishop2 вызов оплаты
случилась такая проблема, необходимо сделать оплату уже сформированного заказа. Есть форма в которой пользователь вбивает номер заказа и ему отображается статус, и если статус "новый", то сделать выбор оплаты и кнопку оплатить. Подскажите пожалуйста, в какую сторону копать, всё что смог сделать это получить всю информацию заказа по номеру.
Ответы (1 шт):
Автор решения: Kepaso
→ Ссылка
Если кому понадобится у меня все получилось вот таким вот образом, пришлось убрать редирект потому что надо открывать страницу оплаты при нажатии на кнопку «Оплатить», т.е. я отправляю массив, и уже при помощи js подставляю ссылку на кнопку. Надеюсь кому поможет, только исключения под свои нужды.
<?php
if ($modx->event->name == 'OnLoadWebDocument')
if (isset($_POST['order_status_check']))
if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
$status = $modx->lexicon('popup_status_order_message_error');
if (preg_match('/[\d]*\/[\d]*/', $_POST['order_status_check'])) {
$order = $modx->getObject('msOrder', array('num' => $_POST['order_status_check']));
if ($payment = $modx->getObject(
'msPayment',
array('id' => $order->get('payment'), 'active' => 1)
)) {
$response = $payment->send($order);
if ($this->config['json_response']) {
@session_write_close();
exit(is_array($response) ? json_encode($response) : $response);
} else {
if (!empty($response['data']['redirect'])) {
//тут отправляю массив в котором ссылка на оплату
print_r($response);
exit;
} elseif (!empty($response['data']['msorder'])) {
} else {
// $modx->sendRedirect($modx->context->makeUrl($modx->resource->id));
}
return $this->success();
}
}
}
exit;
}