kostasoft
Ответы в темах
-
Все, разобрался, переделал все заново, убрал лишние, все заработало как надо
Сейчас убрал сторонние платежные шлюзы, оставил только свой.
В своем в function receipt_page($order_id) сделал обновление статуса таким образом:$order = wc_get_order($order_id); if ($this->two_stage == 'yes') { if (!$order->has_status('pending')) { if (!$order->has_status('on-hold')) { $order->update_status('on-hold', __('Ожидаем оплаты после согласования с менеджером', 'woocommerce'));//on-hold //processing } $action_adr = get_permalink($this->page_on_hold); wp_redirect($action_adr); exit; } }
Самое интересное, после первого вызова статус заказа становится «На удержании», корзина очищается и проблема остается прежней: после выставления вручную менеджером статуса этого заказа в «В ожидании оплаты», оплатить этот заказ невозможно, ибо платежный шлюз не вызывается.
Ситуация аналогична описанной в предыдущих моих постах.
Необходимо заставить WooCommerce обработать ссылку вида https://thebossbaby.ru/checkout/?key=wc_order_5bac9f5f74634&order=10756 при пустой корзине.Есть соображения?
Заметил, что function process_payment($order_id) возвращает редирект на страницу https://thebossbaby.ru/checkout/?key=wc_order_5bac9f5f74634&order=10756
При пустой корзине, ссылка https://thebossbaby.ru/checkout как раз и переходит на страницу с корзиной и сообщением, что она пуста.
При наличии любого товара в корзине, ссылка с редиректа переходит на оплату нужного заказа (указанного в get параметрах).Вопрос сужается до следующего, как убрать проверку корзины при переходе на checkout?