Врадж 0 Posted August 22, 2018 Report Share Posted August 22, 2018 Покупатели делают покупки в магазине, но статус заказов не меняется на "Оплачен" автоматически. Оплачивают через модули "Яндекс.Деньги" для физ. лиц и Робокасса. Протестировал покупки сам через оба модуля с заполнением данных нового покупателя. Всё происходит отлично, заказ меняется автоматически на "Оплачен". Подскажите, в чём тут может может быть дело? Link to post Share on other sites
IVAN.Z 2 Posted August 22, 2018 Report Share Posted August 22, 2018 У меня на купи в кредит и яндекс кассе тоже не меняется статус, только вот недавно чел оплатил онлайн через яндекс кассу но статус как стоял так и стоит. Меняем всегда вручную. Link to post Share on other sites
support 447 Posted August 22, 2018 Report Share Posted August 22, 2018 6 часов назад, Врадж сказал: Покупатели делают покупки в магазине, но статус заказов не меняется на "Оплачен" автоматически. Оплачивают через модули "Яндекс.Деньги" для физ. лиц и Робокасса. Протестировал покупки сам через оба модуля с заполнением данных нового покупателя. Всё происходит отлично, заказ меняется автоматически на "Оплачен". Подскажите, в чём тут может может быть дело? А какие способы оплаты выбирают?! Модуль яндекс и робокасса проверены, если они правильно настроены, статусы меняются. Может просто оплачивают такими способами, которые не присылают информацию моментально о смене статуса оплаты. Например при перехода на яндекс кассу или робокс выбираются способ оплаты типа клиент банк или терминал оплаты какой-то. По идее, в этом случае уведомление об оплате не присылается магазина моментально и статус не меняется автоматически. В любом случае, с этим вполне можно разобраться, надо в log файл записывать всё, что присылает робокс или яндекс в магазин. и смотреть, может какое-то условие не выполнятеся в файлах: /robox.php и/или yandex.php Например сумма заказа, в сумме заказа там, к примеру, разделитель тысяч точка, а яндекс присылает без разделителя точки, поэтому, к пример не срабатывает проврека сумма заказ, потому что, допустим, 1000 != 1.000 В общем, всё это выясняется при логировании всех данных, что присылаются в магазин. Link to post Share on other sites
Врадж 0 Posted August 23, 2018 Author Report Share Posted August 23, 2018 Посмотрел, все банковской картой оплачивают. А где log файл, находится, чтобы посмотреть? Link to post Share on other sites
support 447 Posted August 23, 2018 Report Share Posted August 23, 2018 6 минут назад, Врадж сказал: Посмотрел, все банковской картой оплачивают. А где log файл, находится, чтобы посмотреть? Если речь про яндекс, то в /yandex.php есть код: // logging //$fp = fopen('yandex.log', 'a+'); //$str=date('Y-m-d H:i:s').' - '; //foreach ($_POST as $vn=>$vv) { //$str.=$vn.'='.$vv.';'; //} //fwrite($fp, $str."\n"); //fclose($fp); Поменяйте на: // logging $fp = fopen('yandex.log', 'a+'); $str=date('Y-m-d H:i:s').' - '; foreach ($_POST as $vn=>$vv) { $str.=$vn.'='.$vv.';'; } fwrite($fp, $str."\n"); fclose($fp); Создайте в корневой папке магазина (там где index.php) yandex.log файл и всё, что присылает яндекс после оплаты будет записываться. А дальше уже на основе данных, что присылает яндекс можно будет выяснить, почему не меняется статус заказ. Может контрольная подпись не совпадает, может сумма заказа. т.е. всё это и проверяете, собираете контрольную подпись вручную из параметров, сравниваете с той, что присылает яндекс. Link to post Share on other sites
Врадж 0 Posted August 23, 2018 Author Report Share Posted August 23, 2018 Создал. Прошла оплата и опять статус не сменился. Вот такая штука от Яндекса появилась в лог файле: 2018-08-23 15:21:41 - notification_type=card-incoming;amount=2940.00;datetime=2018-08-23T12:21:41Z;codepro=false;withdraw_amount=3000.00;sender=;sha1_hash=c40a39a0ab330eecb02f5064debf424314e6b083;unaccepted=false;operation_label=2310ba3d-0011-5000-9000-13099c42c15c;operation_id=588342101682023012;currency=643;label=1385; Link to post Share on other sites
KoVaLsKy 59 Posted August 23, 2018 Report Share Posted August 23, 2018 1 час назад, Врадж сказал: Создал. Прошла оплата и опять статус не сменился. Вот такая штука от Яндекса появилась в лог файле: 2018-08-23 15:21:41 - notification_type=card-incoming;amount=2940.00;datetime=2018-08-23T12:21:41Z;codepro=false;withdraw_amount=3000.00;sender=;sha1_hash=c40a39a0ab330eecb02f5064debf424314e6b083;unaccepted=false;operation_label=2310ba3d-0011-5000-9000-13099c42c15c;operation_id=588342101682023012;currency=643;label=1385; а итоговая сумма заказа какая? Link to post Share on other sites
support 447 Posted August 23, 2018 Report Share Posted August 23, 2018 1 час назад, Врадж сказал: Создал. Прошла оплата и опять статус не сменился. Вот такая штука от Яндекса появилась в лог файле: 2018-08-23 15:21:41 - notification_type=card-incoming;amount=2940.00;datetime=2018-08-23T12:21:41Z;codepro=false;withdraw_amount=3000.00;sender=;sha1_hash=c40a39a0ab330eecb02f5064debf424314e6b083;unaccepted=false;operation_label=2310ba3d-0011-5000-9000-13099c42c15c;operation_id=588342101682023012;currency=643;label=1385; Сумму заказа какую в админке показывает?! 2940 или 3000 ?! Модуль точно правильно настроен, пароль правильный указан?! Настраивали вот по этой инструкции?! http://blog.vamshop.ru/2016/02/22/новый-модуль-оплаты-яндекс-касса-янде/ Там нужно настроить секретное слово и адрес уведомлений. Вот секретное слово и Вас точно совпадает на сайте яндекс и в настройках модуля в Админке - Модули - Оплата?! Если пароли указаны разные, то статус заказа не изменится автоматически, потому как это секретное слово используется для генерации цифровой подписи. Link to post Share on other sites
Врадж 0 Posted August 23, 2018 Author Report Share Posted August 23, 2018 Сумма заказа в админке 3000. Да, всё настроено правильно. Когда я делаю тестовую покупку в магазине, устанавливаю минимальную цену товара при оплате через Яндекс - 2 руб. Оформляю заказ, регистрируясь в магазине, как новый покупатель. Перехожу дальше для оплаты на Яндекс. Совершаю оплату банковской картой, смотрю в магазине - тут же статус заказа меняется на оплачен. Меняю цену товара на реальную 1500 руб. Через какое-то время настоящий покупатель делает оплату через Яндекс банковской картой, но заказ в магазине статуса не меняет, остаётся как "Ожидает проверки". Вот такая ерунда. Link to post Share on other sites
support 447 Posted August 23, 2018 Report Share Posted August 23, 2018 22 минуты назад, Врадж сказал: Сумма заказа в админке 3000. Да, всё настроено правильно. Когда я делаю тестовую покупку в магазине, устанавливаю минимальную цену товара при оплате через Яндекс - 2 руб. Оформляю заказ, регистрируясь в магазине, как новый покупатель. Перехожу дальше для оплаты на Яндекс. Совершаю оплату банковской картой, смотрю в магазине - тут же статус заказа меняется на оплачен. Меняю цену товара на реальную 1500 руб. Через какое-то время настоящий покупатель делает оплату через Яндекс банковской картой, но заказ в магазине статуса не меняет, остаётся как "Ожидает проверки". Вот такая ерунда. В Админке - Разное - Валюты, в настройках валют что указано в опциях Десятичный знак, Разделитель тысяч, Десятичные порядки?! У меня стоит: , пусто 2 Запятая, пустое место, 2. Вот с этими оциями у меня всё работает на том же vamshop.ru, статус заказа меняется. Все файлы стандартные, yandex.php стандартный из текущей версии VamShop. Link to post Share on other sites
Врадж 0 Posted August 24, 2018 Author Report Share Posted August 24, 2018 У меня стоит: Десятичный знак: , Разделитель тысяч: ' Десятичные порядки: 0 Сейчас поменяю, сделаю такие же. Видимо из-за разделителя тысяч статус не меняется. Проверю. Link to post Share on other sites
support 447 Posted August 24, 2018 Report Share Posted August 24, 2018 5 часов назад, Врадж сказал: У меня стоит: Десятичный знак: , Разделитель тысяч: ' Десятичные порядки: 0 Сейчас поменяю, сделаю такие же. Видимо из-за разделителя тысяч статус не меняется. Проверю. Возможно, проверьте. Я поэтому и пишу, что надо смотреть что присылает яндекс, как выглядит сумма и что у Вас в магазине. Если яндекс прислал 1000 , а у Вас в магзаине 1'000 То причина может быть именно в этом, при сравнении сумм получается что 1000 не равно 1'000 Условие проверки суммы заказа в yandex.php не выполняется и статус заказа автоматически не меняется. Link to post Share on other sites
KoVaLsKy 59 Posted August 24, 2018 Report Share Posted August 24, 2018 Пришлите файл Яндекса, Я пропишу логирование суммы приходящей и заказа Link to post Share on other sites
Врадж 0 Posted August 24, 2018 Author Report Share Posted August 24, 2018 Файл Яндекса - это который? Link to post Share on other sites
Врадж 0 Posted August 24, 2018 Author Report Share Posted August 24, 2018 Была произведена покупка в магазине. Статус сменился на "Оплачен" автоматически. Значит дело было в разделителе тысяч. Link to post Share on other sites
support 447 Posted August 24, 2018 Report Share Posted August 24, 2018 7 часов назад, Врадж сказал: Была произведена покупка в магазине. Статус сменился на "Оплачен" автоматически. Значит дело было в разделителе тысяч. Хорошо Link to post Share on other sites
Recommended Posts