Отметить заказ как оплаченный

Автор aleksey_yatsenko, 16 января 2015, 16:09:09

« назад - далее »

aleksey_yatsenko

Здравствуйте. Подскажите пожалуйста, как отметить заказ как оплаченный ? Какой метод это делает ?

Руслан Л

В админке в заказах выбрать заказ и изменить его статус.

DarinSr

#2
Програмно так

// $id_order_state ID Status FROM ps_order_state
$order_status = new OrderState((int)$id_order_state, (int)$this->context->language->id);

aleksey_yatsenko


aleksey_yatsenko

Ещё одно. А как товары из корзины перенести в заказы ?

mAgency

Создать модуль который будет создавать заказ на основе корзины.

$this->module->validateOrder($cart->id, Configuration::get('PS_OS_MYMODULE'), $total, $this->module->displayName, NULL, $mailVars, (int)$currency->id, false, $customer->secure_key);
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.

aleksey_yatsenko

Параметр total - цена ? Да и спасибо, очень долго искал эту функцию. Откуда вообще есть знатоки Prest'ы, ведь тех. документации практически нет.

mistral

$total - это сумма заказа.
Документации по престе мало, а основном сам разбираешься и вопросы на форуме помогают понять.

aleksey_yatsenko

Странно. При использовании кода, что мне дали выше выводит(именно выводит) var_dump какого-то объекта. Хотя если второй параметр поменять на 0, то просто выдаёт ошибку. В чем проблема ?

DarinSr

У вас не определен статус заказа
Configuration::get('PS_OS_MYMODULE')
поэтому выводит ошибку (включен показ ошибок в prestashop).

aleksey_yatsenko

Эмм...а как получить статус заказа ? Ну то есть определить.

coder

Класс OrderState
/**
* Get all available order statuses
*
* @param integer $id_lang Language id for status name
* @return array Order statuses
*/
public static function getOrderStates($id_lang)

aleksey_yatsenko

#12
<?php
class paymentA extends PaymentModuleCore
{}
global
$cookie;
$state = OrderState::getOrderStates($cookie->id_lang);
$payment = new PaymentA();
$payment->validateOrder($_REQUEST['id_cart'], $state[0]['id_order_state'] , $_REQUEST['cost'], 'Unknown', NULL, array(), Currency::getIdByIsoCode('UAH'), FALSE, Context::getContext()->customer->secure_key);
?>

Вот, смотрите, ничего не выходит. Да и скажу, чтобы не смеялись : цена в $_REQUEST сравнивается с ценой из БД.

PrestaMan

$cart->id - это ссылка на объект, из объекта cart беруться товары, атрибуты и т.д.
У вас $_REQUEST['id_cart'] что за переменная?
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!

aleksey_yatsenko

Спасибо, думал, что это просто ID.