otmenit validatsiyu esli oplata ne polucheno

Автор dragonaze, 31 августа 2015, 14:04:14

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

dragonaze

Privet,

est sposob otmena validatsii ili validatsiya posle oplati? u mena procedura idet tak:

prestashop - > proavyder oplati - > prestashop

xochu cto bi esli oplata bila udachnoy to pust validatsiya budet esli net to pust ostanetsa vse cto bilo v korzine.

DarinSr

Подверждение заказа на основе ответа сервиса оплаты. Все зависит от вашего сервиса оплаты.

dragonaze

#2
Цитата: DarinSr от 31 августа 2015, 14:06:22
Подверждение заказа на основе ответа сервиса оплаты. Все зависит от вашего сервиса оплаты.

ya etogo znayu, nu delo v tom cto ya doljen sdleat validatsyu do nachalo redirect na payment service. a eto sdelayu cto bi potom nayti dannogo zakaza dlya izmenenie statusa. est kakoy to drugoy variant dlya razpoznavaniye?

DarinSr

Создавайте сразу заказ, до перенаправления на сайт оплаты. Вы можете сохранить заказ на любом этапе, например, при нажатии на кнопку метода оплаты.

dragonaze

Цитата: DarinSr от 31 августа 2015, 14:24:10
Создавайте сразу заказ, до перенаправления на сайт оплаты. Вы можете сохранить заказ на любом этапе, например, при нажатии на кнопку метода оплаты.
Ya tak i delayu, no kak budet vdruq na stranitse oplati polzvatel peredumaet i vernetsa na Prestashop? togda ves informatsiya o zakaze budet udalen (to est iz za validatsii on uje udlyaetsa iz korzini)

coder

Вы определитесь что хотите сделать. Регистрировать заказ до перехода или после получения ответа метода оплаты. У вас 2 условия, которые исключают друг друга. Задача не имеет смысла.

Все методы оплаты делаются по стандарной схеме, регистрация заказа только после получения ответа сервиса оплаты.

dragonaze

Цитата: coder от 31 августа 2015, 16:25:54
Вы определитесь что хотите сделать. Регистрировать заказ до перехода или после получения ответа метода оплаты. У вас 2 условия, которые исключают друг друга. Задача не имеет смысла.

Все методы оплаты делаются по стандарной схеме, регистрация заказа только после получения ответа сервиса оплаты.

ok ya toje xochu registrirovat zakaz posle polucheniya otveta, no kak ya budu raspoznavat zakaz pri vozvrashenii ? vdrug polzovatel cto to dobavit v korzinu i zakaz oformitsa neprevilnom. kak reshat etu problemu?

DarinSr

Пользователь ничего не может добавить в корзину на странице оплаты. Так как в сервис оплаты с сайта prestashop передается ид заказа и его сумма.
Сервис оплаты возвращает ответ ушпешно, ошибка, отказ. По этим ответам вы можите или создавать заказ или не сохранять.

dragonaze

Цитата: DarinSr от 01 сентября 2015, 10:34:07
Пользователь ничего не может добавить в корзину на странице оплаты. Так как в сервис оплаты с сайта prestashop передается ид заказа и его сумма.
Сервис оплаты возвращает ответ ушпешно, ошибка, отказ. По этим ответам вы можите или создавать заказ или не сохранять.

obyasnite pojaluysta etot punkt s kodami jelatelno:

Так как в сервис оплаты с сайта prestashop передается ид заказа и его сумма. Kak poluchit ID zakaza? a kak budet esli polzovatel budet menyat vkladku brauzera i tam dobavit dopolnitelnie tovari? esli dlya etogo zashita ?

PrestaMan

Откройте любой модуль оплаты и увидите как создается заказ. По id корзине происходит формирование заказа. Пример в модуле оплата банком.
$bankwire->validateOrder($cart->id, Configuration::get('PS_OS_BANKWIRE'), $total, $bankwire->displayName, NULL, array(), (int)$currency->id, false, $customer->secure_key);
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!

dragonaze

Цитата: PrestaMan от 01 сентября 2015, 13:49:35
Откройте любой модуль оплаты и увидите как создается заказ. По id корзине происходит формирование заказа. Пример в модуле оплата банком.
$bankwire->validateOrder($cart->id, Configuration::get('PS_OS_BANKWIRE'), $total, $bankwire->displayName, NULL, array(), (int)$currency->id, false, $customer->secure_key);

vrode vse ok, a teper posle validatsii oktrivaetsa beliy ekran i posle Validation kodovaya stroka ne kompiliruetsa. Kogda refresh delayu, uje polchayu oshibku: Cart cannot be loaded or an order has already been placed using this cart.

dragonaze

Цитата: dragonaze от 07 сентября 2015, 13:49:28
Цитата: PrestaMan от 01 сентября 2015, 13:49:35
Откройте любой модуль оплаты и увидите как создается заказ. По id корзине происходит формирование заказа. Пример в модуле оплата банком.
$bankwire->validateOrder($cart->id, Configuration::get('PS_OS_BANKWIRE'), $total, $bankwire->displayName, NULL, array(), (int)$currency->id, false, $customer->secure_key);

vrode vse ok, a teper posle validatsii oktrivaetsa beliy ekran i posle Validation kodovaya stroka ne kompiliruetsa. Kogda refresh delayu, uje polchayu oshibku: Cart cannot be loaded or an order has already been placed using this cart.

Прошу Вас помочь мне разобраться.

mistral

На латинице трудно читать.

dragonaze

Цитата: mistral от 08 сентября 2015, 09:21:28
На латинице трудно читать.

Говорю что вроде всё ок. Валидация идет нормально, но открывается белая страница. Когда обновляю, уже пишет: Cart cannot be loaded or an order has already been placed using this cart. Ну это понятное дело, прошли валидацию с первого запуска. А почему не комплировал продолжение кода?

coder

После валидации переход (если ОК) на контроллер order-confirmation
Tools::redirect('index.php?controller=order-confirmation&id_cart='.$cart->id.'&id_module='.$this->module->id.'&id_order='.$this->module->currentOrder.'&key='.$customer->secure_key);