KoVaLsKy 59 Опубликовано 20 апреля, 2016 Жалоба Share Опубликовано 20 апреля, 2016 Какая то странность происходит. Я касса не у всех заказов меняет статус на "оплачен" после оплаты юзверем заказа. Логику так и не смог уловить. Кто то сталкивался? В интерфейсе Я.кассы заказ проходит как "оплаченный", т.е деньги переведены. Однако статус заказа не изменился. У модулей стоит смена статуса при оплате как "оплачен" Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 20 апреля, 2016 Жалоба Share Опубликовано 20 апреля, 2016 Может на яндексе есть способы оплаты, которые уведомления об оплате не сразу присылают?! Например всякиме "ручные" способы оплаты, типа через терминал, т.е. не моментальные, может как раз на эти способы оплаты уведомления не сразу от яндекса приходят и статус не меняется. Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 20 апреля, 2016 Автор Жалоба Share Опубликовано 20 апреля, 2016 Как СБ РФ, так и Оплата картой - мимо какие то пролетают. говорят прошло все успешно, и зафиксировалось отлично. Саш смотри. Говорят ответ у нас был успещный. Код ответа и код смены отличается вот этой строкой if (number_format($_POST['orderSumAmount'],0) == number_format($order->info['total'],0)) { В заказе использовался купон на скидку. Т.е по сути может быть такое, что суммы отличаются на какие то доли и отсюда не проходит смена Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 20 апреля, 2016 Автор Жалоба Share Опубликовано 20 апреля, 2016 Я правильно понимаю что нужно проверять файл yandex.php в корне? он за смену статуса отвечает? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 20 апреля, 2016 Жалоба Share Опубликовано 20 апреля, 2016 Да, он отвечает. Там есть закомментированный кусок кода записи лог файла, yandex.log вроде. Можно в той же папке что и yandex.php создать файл yandex.log, поставить 777 права на него, раскомментировать этот код логирования и можно будет видеть потом в логе, что присылает яндекс. Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 20 апреля, 2016 Автор Жалоба Share Опубликовано 20 апреля, 2016 да вроде все чисто. думаю проблема в обрезке цифр. Пока закомментировал проверку суммы. Думаю не столь вано, так как сервисы все равно постят только при полной и успешной оплате Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 20 апреля, 2016 Жалоба Share Опубликовано 20 апреля, 2016 Опасно. Можно подменить сумму заказа до перехода на оплату и если не проверять сумму заказа, то статус заказа поменяется всё равно. т.е. заплатят 1 рубль и получать оплаченный статус. Но это опасно только если Вы продаёте элетронные товары, т.е. файлы с моментальной загрузкой. Если нет, то можно конечно и закомментировать. Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 20 апреля, 2016 Автор Жалоба Share Опубликовано 20 апреля, 2016 как тогда поступить? Ответ яндексу и смена статуса отличаютя лишь данной строкой. В чем подвох может быть? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 20 апреля, 2016 Жалоба Share Опубликовано 20 апреля, 2016 Я ж говорил, смотрите лог-файл, какая сумма приходит от яндекса и какая сумма в $order->info['total'] Может не надо округлять, может по-другому округлить надо как-то, что б условие сработало. Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 20 апреля, 2016 Автор Жалоба Share Опубликовано 20 апреля, 2016 Конечно Яша передает сумму, например 1575.70 а в заказе 1.576 как исправить? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 20 апреля, 2016 Жалоба Share Опубликовано 20 апреля, 2016 Например попоробовать округлять - http://php.net/manual/en/function.round.php Хотя, по идее, должна совпадать сумма, во всяком случае в яндекс.кассе для физ. лиц яндекс присылает и сумму заказа и сумму к оплате. т.е. можно сравнивать и без комиссий всяких. Надо документацию смотреть, что там яндекс присылает, какие параметры. Но насколько я помню яндекс присылает именно сумму заказа, без всяких комиссий, должно всё совпадать. Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 21 апреля, 2016 Автор Жалоба Share Опубликовано 21 апреля, 2016 if (round($_POST['orderSumAmount']) == round($order->info['total'])) { не срабатывает найти бы на каком этаме яндексу отдается заказ с копейками Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 21 апреля, 2016 Жалоба Share Опубликовано 21 апреля, 2016 Смотрите документацию яндекс кассы, может там кроме orderSumAmount яндекс ещё что-то присылает, наприме суммы комиссий или ещё что, что б можно было сравнить полную сумму. Но на vamshop.ru я с такой проблемой не стилкивался при работу яндекс кассы, всегда суммы совпадали. Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 21 апреля, 2016 Автор Жалоба Share Опубликовано 21 апреля, 2016 Если юзверь использует, например купоны или у цены товара есть копейки (не путать с точностью цен в админке) - вылезает такая петрушка Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 21 апреля, 2016 Жалоба Share Опубликовано 21 апреля, 2016 Если есть копейки то можно строку: if (number_format($_POST['orderSumAmount'],0) == number_format($order->info['total'],0)) { попробовать поменять на: if (number_format($_POST['orderSumAmount'],2) == number_format($order->info['total'],2)) { Что б не отбрасывало копейки. Вот описание number_format - http://php.net/manual/en/function.number-format.php Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 21 апреля, 2016 Автор Жалоба Share Опубликовано 21 апреля, 2016 не пройдет. в этот момент уже в БД итоговая сумму без копеек Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 21 апреля, 2016 Жалоба Share Опубликовано 21 апреля, 2016 Тогда не знаю, странно как-то очень. Суммы должны совпадать. Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 21 апреля, 2016 Автор Жалоба Share Опубликовано 21 апреля, 2016 очевидно при оформлении заказа сумма сначала отдается яндексу, а потом округляется и заносится в БД Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 22 апреля, 2016 Жалоба Share Опубликовано 22 апреля, 2016 Стоимость заказа, что передаётся в яндекс и что пишется в базу одинаковая. Разве что может в настройках у себя что правили, не знаю, может итоговый модуль купон поставили ниже Всего или ещё что. Лично я не сталкивался с таким, что б суммы были разными. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения