Kosjak76 Posted December 13, 2015 Report Share Posted December 13, 2015 Попробуйте спросить у Яндекса, потому как Симпла скорее всего тут ни при чем. Link to post Share on other sites
Kosjak76 Posted December 13, 2015 Report Share Posted December 13, 2015 А лучше спросите Корса Он вам расскажет, что проблема в том, что в Симпле нельзя посчитать число ПИ до 28го знака)))А если серьезно - нужно выяснить, где считается процент и с какой точностью.Весьма возможно, что так любимая Корсом точность все нафиг поломала... Link to post Share on other sites
Booster Posted December 13, 2015 Report Share Posted December 13, 2015 Судя по документации ЯД sum — сумма перевода. Из нее вычитается комиссия по формуле amount_due = sum - sum * (a / (1 + a) ), где:amount_due — сумма к получению;sum — сумма к списанию;a — коэффициент комиссии. При переводе из кошелька — 0,005, при переводе с карты — 0,02. Исходя из этого расчет должен быть таким: $price_yandex = $price+$price*(0.02/(1+0.02)); Но к оплате получается еще меньше 1 366 руб. 27 коп. Link to post Share on other sites
Kors Posted December 13, 2015 Report Share Posted December 13, 2015 Заказ на 1340 руб с учетом 2% комиссии к оплате выходит 1366 руб. 80 коп. Клиент оплачивает, в итоге на мой кошелек упала сумма 1339 руб. 46 коп. Соответственно статус заказа не обновился. Получается что комиссия каким то боком получилась 2.04% вместо равных 2%В Вашем примере "на мой кошелек упала сумма" - это как раз 98% от "к оплате выходит". Соответственно этому меняйте свой подсчет... Link to post Share on other sites
Booster Posted December 13, 2015 Report Share Posted December 13, 2015 Я был бы Вам очень благодарен, и думаю не только я, если бы Вы подсказали верный расчет... Link to post Share on other sites
Andrey Terkin Posted December 13, 2015 Report Share Posted December 13, 2015 100 + 2% - 2% = 99.96Думаю проблема где то здесь Link to post Share on other sites
Booster Posted December 13, 2015 Report Share Posted December 13, 2015 (edited) Все понял.. Переделал..Работает! Edited December 13, 2015 by Dj_Amulet Link to post Share on other sites
win1337 Posted December 14, 2015 Report Share Posted December 14, 2015 (edited) РебятОплата прошла,но вот статус заказа не изменился,почему может быть? UPРазобралсяне включил уведомления в яде Edited December 14, 2015 by win1337 Link to post Share on other sites
ninelle Posted January 20, 2016 Report Share Posted January 20, 2016 Добрый день!подскажите, пожалуйста, как прописать, чтобы сумма к оплате была равна сумме заказа, а на кошелек приходило за минусом комиссии яндекса? Link to post Share on other sites
mishanya Posted January 20, 2016 Report Share Posted January 20, 2016 Добрый день!подскажите, пожалуйста, как прописать, чтобы сумма к оплате была равна сумме заказа, а на кошелек приходило за минусом комиссии яндекса? комиссию яндекса оплачивает пользователь а не магазин. в таком случае вам нужно передавать сумму = сумма-%ЯД тогда по идее пользователь будет оплачивать ту сумму на которую заказал а вам уйдет все за вычетом процента. так же нужно учитывать это в принимающем callback.php Link to post Share on other sites
baarseek Posted March 3, 2016 Report Share Posted March 3, 2016 Все понял.. Переделал..Работает! У меня такая же фигня Что именно вы переделали? Link to post Share on other sites
komrad Posted March 6, 2016 Report Share Posted March 6, 2016 Сделал все как написал Dj_Amulet, но все равно после оплаты заказ не переходит в статус оплаченного. В чем может быть проблема? Link to post Share on other sites
naimit Posted March 6, 2016 Report Share Posted March 6, 2016 (edited) подскажите что именно поменяли в коде , в Платежном модуле для Яндекс Денег. а именно расчёт процента комиссии для оплаты карточкой. Edited March 6, 2016 by naimit Link to post Share on other sites
komrad Posted March 6, 2016 Report Share Posted March 6, 2016 подскажите что именно поменяли в коде , в Платежном модуле для Яндекс Денег. а именно расчёт процента комиссии для оплаты карточкой.Дело в том, что заказ не переходит в статус "Оплачен" как в случае перевода денег с кошелька на кошелек, так и при переводе с карты на кошелек. Видимо проблема в несоответствии цены товара и денег, упавших на карту. В случае Dj_Amulet комиссия взимается с продавца, а не покупателя. Скорее всего именно из-за этого статус заказа не меняется. Я вижу два выхода:1) либо как и было в изначальном варианте симплы брать комиссию с покупателя. Тогда все будет соответствовать2) Сделать так, чтобы в callback количество денег, переведенных на карточку, сверялось не с ценой товара, а с ценой за вычетом комиссии.Поменял все четко в соответствии с рекомендациями. Никуда не отклонялся. Расчет комиссии везде по одной формуле:$price = $price+max(0.01, $price*$this->fee/100); Link to post Share on other sites
naimit Posted March 7, 2016 Report Share Posted March 7, 2016 подскажите как в callback сделать чтобы сверка была не с ценой товара а с ценой за вычетом коммиссии Link to post Share on other sites
UmJammer Posted March 12, 2016 Report Share Posted March 12, 2016 поставил модуль от Dj_Amulet, но как и с другим модулем статус заказа не меняется. от чего еще это может зависить? Link to post Share on other sites
Maksclub Posted April 24, 2016 Report Share Posted April 24, 2016 Все понял.. Переделал..Работает! Во втором случае (оплата картой) не меняется статус на оплаченный! Как вы сделали? Сделаете? Сколько будет стоить и за какое время? В первом случае все меняется, спасибо модулю Noxter-а Link to post Share on other sites
Booster Posted May 4, 2016 Report Share Posted May 4, 2016 Во втором случае (оплата картой) не меняется статус на оплаченный! Как вы сделали? Сделаете? Сколько будет стоить и за какое время? В первом случае все меняется, спасибо модулю Noxter-аКакая сумма заказа?Какая сумма отображается при оплате?Какая сумма падает на счет ЯД после оплаты? Link to post Share on other sites
Booster Posted May 4, 2016 Report Share Posted May 4, 2016 Чтобы работало все 100% идеально при оплате картой, нужно учитывать комиссию Яндекса по следующей формуле: $price = round(($price/98)*100, 2); Оплачено несколько тысяч заказов, все идеально. Копейка к копейке. Статус меняется 100 из 100. Link to post Share on other sites
Gragory Posted May 4, 2016 Report Share Posted May 4, 2016 (edited) Чтобы работало все 100% идеально при оплате картой, нужно учитывать комиссию Яндекса по следующей формуле: $price = round(($price/98)*100, 2); Оплачено несколько тысяч заказов, все идеально. Копейка к копейке. Статус меняется 100 из 100. То есть, мы меняем вот эту строку: $price = $price+max(0.01, $price*$this->fee/100); все верно? Edited May 4, 2016 by Gragory Link to post Share on other sites
Booster Posted May 4, 2016 Report Share Posted May 4, 2016 Да, в файле YandexCard.php Link to post Share on other sites
Maksclub Posted May 9, 2016 Report Share Posted May 9, 2016 То есть, мы меняем вот эту строку: $price = $price+max(0.01, $price*$this->fee/100); все верно? Вообще закомментировал эту строку — сумма стала верной (как я понял — у Яндекса при переводе с карты на кошелек нет комиссии) Но вот статус у заказа на оплаченный не меняется.Подскажите пожалуйста! Link to post Share on other sites
Booster Posted May 9, 2016 Report Share Posted May 9, 2016 Вообще закомментировал эту строку — сумма стала верной (как я понял — у Яндекса при переводе с карты на кошелек нет комиссии) Но вот статус у заказа на оплаченный не меняется.Подскажите пожалуйста! А как у вас статус изменится если суммы не равны? Если вы убрали надбавку комиссии Яндекса к итоговой сумме, то нужно убрать/поправить проверку по сумме в callback.php Link to post Share on other sites
Maksclub Posted May 12, 2016 Report Share Posted May 12, 2016 (edited) А как у вас статус изменится если суммы не равны? Если вы убрали надбавку комиссии Яндекса к итоговой сумме, то нужно убрать/поправить проверку по сумме в callback.php не могу найти строку эту! Тем более я так понял 1 callback на 2 способа оплаты в вашем решении, отсюда вообще запутался Edited May 12, 2016 by Maksclub Link to post Share on other sites
Booster Posted May 12, 2016 Report Share Posted May 12, 2016 В корзине 100 рубК оплате 100 рубА на кошелек поступит 98 рубВ итоге 98 руб не равно 100 руб!!! Правьте файл callback.php! Link to post Share on other sites
Recommended Posts