sdi_68 3 Опубликовано 24 октября, 2014 Жалоба Share Опубликовано 24 октября, 2014 Добрый день. Подключал к магазину 1.73 модуль qiwi_rest. Есть две проблемы: 1. Модуль не работает с включенным быстрым оформлением заказа (файл checkoup.php). Проблема в том, что в модуль в этом случае не передается номер телефона из поля 'qiwi_telephone'. При обычном оформлении заказа (файл checkout_payment.php) все нормально. 2. Достаточно регулярно после подтверждения выбора формы оплаты (qiwi) кнопка (продолжить) не выводится контент, просто пустой экран (хотя счет в qiwi создан и заказ в магазине тоже создан). Еще замечание к логике работы модуля, счет и заказ создаются до подтверждения заказа пользователем (после кнопки продолжить на форме выбора способа оплаты). Пользователь, теоретически может вернуться и выбрать другой способ оплаты или вообще неоформит заказ. Почему нельзя создавать и счет и заказ тогда, когда пользователь нажимает кнопку подтвердить заказ Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 24 октября, 2014 Жалоба Share Опубликовано 24 октября, 2014 Здравствуйте! Обновитесь до 1.74 или хотя бы возьмите файлы /includes/modules/payment/qiwi_rest.php /qiwi_rest.php По идее, эти проблемы были исправлены. Потому что кнопка Подтвердить заказ - это переход на сайт платёжной системы. Ну и что, пусть возвращается и выбирает новый способ оплаты, в чём проблема, заказ ведь не потеряется и контактные данные покупателя тоже никуда не потеряются, я, к примеру, не считаю это проблемой, а наоборот, плюсом. В старых модулях как раз заказ создавался только при возвращении с платёжной системы, вот это был реальная проблема, что поступала оплата, а никакого заказа не было, потому что многие забывают нажать вернуться в магазин, заказ должен быть создан до ухода на внешний сайт, это лично моё мнение. Кнопка подтвержить заказ в обычном случае, если ссылка на внешний сайт, на неё нельзя повестить сразу два действия одномоментно. Ссылка на сообщение Поделиться на другие сайты
sdi_68 3 Опубликовано 24 октября, 2014 Автор Жалоба Share Опубликовано 24 октября, 2014 Добрый вечер. Обновил магазин. Проверил qiwi_rest при быстром оформлении номер телефона из поля не передается (вставил в модуль запись логов лог пишется в ф-ции confirmation там, где устанавливаются опции передачи данных): 24.10.14 19:01 order_id = 10 24.10.14 19:01 service_url = https://w.qiwi.com/api/v2/prv/[xxxxxxxx/bills/10 24.10.14 19:01 _SESSION['qiwi_telephone'] = _POST['qiwi_telephone']= 24.10.14 19:01 _data = user=tel%3A%2B&..... 24.10.14 19:01 results = {"response": { "result_code": 341, "description": "Format of parameter 'user' is incorrect" }} Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 24 октября, 2014 Жалоба Share Опубликовано 24 октября, 2014 Ну а как же тогда работает этот модуль на vamshop.ru ?! Вы через обновления никакие не перескакивали?! Быстрое оформление включено у Вас? В Админке - Настройки - Оформление заказов? Страница подтверждения выключена? Ссылка на сообщение Поделиться на другие сайты
sdi_68 3 Опубликовано 24 октября, 2014 Автор Жалоба Share Опубликовано 24 октября, 2014 Опция "Разрешить быстрое оформление заказа" и "Страница подтверждения заказа" включена. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 25 октября, 2014 Жалоба Share Опубликовано 25 октября, 2014 Должно работать, по идее. Через обновления не перескакивали, по порядку всё обновляли? Ссылка на сообщение Поделиться на другие сайты
sdi_68 3 Опубликовано 25 октября, 2014 Автор Жалоба Share Опубликовано 25 октября, 2014 (изменено) Да, все по порядку обновлял. с 1.72. Причем я смотрел переменную $_POST в checkout.php, там есть номер телефона, но в файле qiwi_rest.php эта же переменная пустая... Кстати еще вопрос. У меня при оплате qiwiqiwi просто создается счет, а когда я пробовал оплату на vamshop.ru, там на стороне киви было отображено меню с возможными опциями оплаты: киви, банковская карта, терминал, вебмани. Почему так? Как это настраивается? Изменено 25 октября, 2014 пользователем sdi_68 Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 25 октября, 2014 Жалоба Share Опубликовано 25 октября, 2014 А как именно Вы post проверяли? Может не туда вставили код? POST ведь передаётся когда форма submit'ится. По поводу способов, не знаю, подключались просто к ishop.qiwi.com, никаких особоых настроек не делали, всё по умолчанию. Переход на сайт киви - это новая возможность qiwi rest протокола. Можно и использовать старый модуль qiwi с протоколом rest, но там нет перехода на сайт, просто счёт выписывается. Ссылка на сообщение Поделиться на другие сайты
sdi_68 3 Опубликовано 26 октября, 2014 Автор Жалоба Share Опубликовано 26 октября, 2014 А как именно Вы post проверяли? Может не туда вставили код? POST ведь передаётся когда форма submit'ится. По поводу способов, не знаю, подключались просто к ishop.qiwi.com, никаких особоых настроек не делали, всё по умолчанию. Переход на сайт киви - это новая возможность qiwi rest протокола. Можно и использовать старый модуль qiwi с протоколом rest, но там нет перехода на сайт, просто счёт выписывается. Добрый день. Запись в лог поставил перед той строчкой: $_data = "user=" . urlencode("tel:+" . ($_SESSION['qiwi_telephone'] == '' ? $_POST['qiwi_telephone'] : $_SESSION['qiwi_telephone'])) . "&amount=" . urlencode($summ) . "&ccy=" . urlencode($currency_code) . "&comment=" . urlencode($order_id) . "&lifetime=" . urlencode($life_time). "&prv_name=" . urlencode(STORE_NAME); Соответственно и увидел, что $_SESSION['qiwi_telephone'] и $_POST['qiwi_telephone'] с пустыми значениями, а когда отключаю режим быстрого заказа, то телефон есть. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 26 октября, 2014 Жалоба Share Опубликовано 26 октября, 2014 Не знаю даже, может или через обновления перескакивали или ещё что, потому как по умолчанию точно всё передаётся. Попробуйте файл /checkout.php взять из архива с магазином. Ссылка на сообщение Поделиться на другие сайты
sdi_68 3 Опубликовано 26 октября, 2014 Автор Жалоба Share Опубликовано 26 октября, 2014 Файл checkout.php идентичен дистрибутиву. Может проблема где-то во-вне? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 26 октября, 2014 Жалоба Share Опубликовано 26 октября, 2014 Я даже и не знаю, что сказать. Пробую модуль киви и быстрое оформление из архива с VamShop у себя на локальном компе, да и на vamshop.ru стоит стандартный модуль, всё работает. Поставьте рядом в папку чистую копию VamShop и посмотрите как там. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 26 октября, 2014 Жалоба Share Опубликовано 26 октября, 2014 Обычно подобные проблемы могут возникать из-за того, что, к примеру, имея старую версию VamShop устанавливает на старую версию самое последнее обновления, перескакивания через ранние обновления. Ссылка на сообщение Поделиться на другие сайты
sdi_68 3 Опубликовано 5 января, 2015 Автор Жалоба Share Опубликовано 5 января, 2015 Добрый день. Вроде нашел способ устранения описанной выше проблемы: в файле checkout.php Находим: ############################# Validate start - NOT LOGGED ON ####################################### $process = false; и вставляем ############################# Validate start - NOT LOGGED ON ####################################### if (!isset($_SESSION['qiwi_telephone'])) $_SESSION['qiwi_telephone'] = $_POST['qiwi_telephone']; $process = false; После этого номер телефона стал передаваться в модуль qiwi_rest. Не уверен, что это правильное решение, но у меня заработало. Посмотрите, хотел бы увидеть правильное и корректное решение. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 5 января, 2015 Жалоба Share Опубликовано 5 января, 2015 А Вы точно пробовали на текущей версии модуля? Вроде как на текущей версии не должно быть такой проблемы, по идее. Может просто у Вас старая версия модуля была. Ссылка на сообщение Поделиться на другие сайты
sdi_68 3 Опубликовано 5 января, 2015 Автор Жалоба Share Опубликовано 5 января, 2015 Добрый день. Версия самая последняя. И проблема в файле checkout.php/ Если используется оформление без регистрации, то в модуль qiwi_rest не передается номер телефона, вводимый в поле QIWI. Если пользователь зарегистрирован, то такой проблемы нет. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 6 января, 2015 Жалоба Share Опубликовано 6 января, 2015 Понятно, добавил в текущий код эту правку. Спасибо. Ссылка на сообщение Поделиться на другие сайты
sdi_68 3 Опубликовано 16 января, 2015 Автор Жалоба Share Опубликовано 16 января, 2015 Добрый день. Столкнулся еще с одной проблемой при работе с QIWI (rest): Как я понимаю, при вводе номера телефона клиента во время быстрого оформления заказа используется маска (ххх) ххх-хх-хх (без ввода +7). Клиент при работе с QIWI может просто скопировать или ввести номер в том же формате (не обращая внимание на указание рядом с полем о формате ввода номера для QIWI). В этом случае, счет в QIWI не создается. Вот выдержка из лога для этой ситуации (номер естественно не реальный). 16.01.15 04:08 Создание счета клиенту начало 16.01.15 04:08 order_id = 1566 16.01.15 04:08 service_url = https://w.qiwi.com/api/v2/prv/хххххх/bills/1566 16.01.15 04:08 _SESSION['qiwi_telephone'] = 9231234567 _POST['qiwi_telephone]= 16.01.15 04:08 _data = user=tel%3A%2B9231234567&amount=2447.28&ccy=RUB&comment=1566&...... (остальное, в строке удалено) 16.01.15 04:08 results = {"response": { "result_code": 303, "description": "Incorrect phone number" }} Отсюда вопрос как можно сделать проверку ввода в поле номера телефона в корректном формате? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 16 января, 2015 Жалоба Share Опубликовано 16 января, 2015 Можно попробовать задать маску для киви телефона, в /templates/vamshop1/module/checkout.html поменяйте: $("#telephone").mask("(999) 999-9999"); на: $("#telephone").mask("(999) 999-9999"); $("#qiwi_telephone").mask("79999999999"); и в /includes/modules/payment/qiwi_rest.php поменяйте: vam_draw_input_field('qiwi_telephone',$order->customer['telephone']) на: vam_draw_input_field('qiwi_telephone',$order->customer['telephone'], 'id="qiwi_telephone"') Ссылка на сообщение Поделиться на другие сайты
sdi_68 3 Опубликовано 16 января, 2015 Автор Жалоба Share Опубликовано 16 января, 2015 Добрый день. Попробовал. Есть несколько моментов: 1. $("#telephone").mask("(999) 999-9999"); находится в файле .includes/form_check.js.php 2. Есть проблемы при оформлении заказа зарегистрированным клиентом, у кого номер сохранен как +71234567890. Он копируется так 77123456789 (последняя цифра обрезается). У меня есть старые клиенты,перенесенные с VamEdit. 3. Через какое-то время (около 30 сек. на странице checkout/php происходит выполнение какого то скрипта (по внешним признакам, появляется курсор колесиком :)) и маска с поля пропадает. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 16 января, 2015 Жалоба Share Опубликовано 16 января, 2015 ajax запрос выполняется когда заполняются поля индекс, город, страна, выбирается доставка. По поводу старых клиентов не знаю, может в базе данных им всем принудительно поменять телефоны, убрав лишний символ. Ссылка на сообщение Поделиться на другие сайты
sdi_68 3 Опубликовано 16 января, 2015 Автор Жалоба Share Опубликовано 16 января, 2015 А что сделать, в таком случае, чтобы после выполнения запроса маска с поля ввода телефона не слетала? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 16 января, 2015 Жалоба Share Опубликовано 16 января, 2015 Если клиент залогинен и у него есть уже телефон, то в поле киви телефона будет проставлен этот телефон. Можно сделать, что б просто пустое поле было. Так: vam_draw_input_field('qiwi_telephone','', 'id="qiwi_telephone"') Ссылка на сообщение Поделиться на другие сайты
sdi_68 3 Опубликовано 16 января, 2015 Автор Жалоба Share Опубликовано 16 января, 2015 Я не это имел ввиду. Если перейти на cytckout/php то в течение 30 секунд в поле телефона qiwi можно ввести номер телефона в соответствие с маской, но после того как отработает ajax запрос, маска исчезает и можно ввести номер как попало. Как можно сделать, чтобы маска не исчезала из этого поля? По поводу старых клиентов ,то действительно, лучше их номера привести к стандарту. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 16 января, 2015 Жалоба Share Опубликовано 16 января, 2015 Если идти по порядку, сверху вниз, то такого быть не должно, т.е. сначала вводятся данные, затем выбирается доставка, затем оплата. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения