trainracing Posted June 17, 2015 Report Share Posted June 17, 2015 Самому интересно как это сделать не имея профиля в ЯД и прикрученной карты для оплаты. не имея профиля в яд, оплачивать можно так: замените строки 41-52 в /payment/Yandex/Yandex.php на: $button = '<form method="POST" action="https://money.yandex.ru/quickpay/confirm.xml"> <input name="receiver" type="hidden" value="'.$settings['yandex_id'].'"> <input name="formcomment" type="hidden" value="'.$desc.'"> <input name="short-dest" type="hidden" value="'.$desc.'"> <input name="targets" type="hidden" value="'.$desc.'"> <input name="is-inner-form" type="hidden" value="true"> <input name="quickpay-form" type="hidden" value="shop"> <input name="sum" data-type="number" type="hidden" value="'.$price.'"> <input name="label" type="hidden" value="'.$order->id.'"> <input name="paymentType" type="hidden" value="AC"> <input name="submit-button" type="submit" value="'.$button_text.'" class="checkout_button"> </form>'; готово! Link to post Share on other sites
valera Posted June 22, 2015 Report Share Posted June 22, 2015 Приветствую. Подскажите, плж, можно ли сделать, чтобы деньги списывались только после подтверждения оператора (проверки наличия на складе и т.п.)? Link to post Share on other sites
Kosjak76 Posted June 22, 2015 Report Share Posted June 22, 2015 Сделать проверку на статус заказа и если Заказ Новый - не показывать форму оплаты Link to post Share on other sites
ProHoster Posted June 27, 2015 Report Share Posted June 27, 2015 Что-то не работает. В чем может быть дело? Link to post Share on other sites
LUN Posted July 8, 2015 Report Share Posted July 8, 2015 Тема заглохла на самом интересном!Как реализовать метод приема платежей с банковских карт VISA и MasterCardhttps://money.yandex.ru/embed/quickpay/shop.xml Link to post Share on other sites
Json Posted July 29, 2015 Report Share Posted July 29, 2015 почему то статуса что оплачен товара нет (( Link to post Share on other sites
bsod9145 Posted August 13, 2015 Report Share Posted August 13, 2015 Сделать проверку на статус заказа и если Заказ Новый - не показывать форму оплатыЗдравствуйте, а поподробнее не могли бы Вы подсказать как это сделать. Т.е. какие изменения и куда внести. А еще если форма оплаты показываться не будет при новом заказе, то когда (где) она покажется, чтобы оплатить? Link to post Share on other sites
chubr Posted October 28, 2015 Report Share Posted October 28, 2015 Подскажите, пожалуйста, мне необходимо подключить протокол MWS. Если ли в этом модуле эта возможность? Или как это можно реализовать? Link to post Share on other sites
Noxter Posted October 28, 2015 Report Share Posted October 28, 2015 Подскажите, пожалуйста, мне необходимо подключить протокол MWS. Если ли в этом модуле эта возможность? Или как это можно реализовать?[/size]Что за протокол, где Вы это вычитали? Link to post Share on other sites
chubr Posted October 28, 2015 Report Share Posted October 28, 2015 Что за протокол, где Вы это вычитали?Поддержка Яндекс.Кассы поведала Link to post Share on other sites
Kasha Posted October 28, 2015 Report Share Posted October 28, 2015 Запросите более подробные данные по API. Посмотрим, может реализуем. Link to post Share on other sites
chubr Posted October 30, 2015 Report Share Posted October 30, 2015 вот файл с описанием https://docviewer.yandex.ru/?url=ya-disk%3A%2F%2F%2Fdisk%2F%D0%97%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8%2FMerchant%20Web%20Services%203.1.docx&name=Merchant%20Web%20Services%203.1.docx&c=563317d3e097 Link to post Share on other sites
Booster Posted December 9, 2015 Report Share Posted December 9, 2015 Вообщем решил через ЯД принимать оплату как с кошелька ЯД, так и с банковских карт. Доработал форму оплаты ЯД, в результате имеем радиобокс с выбором оплаты:- Яндекс кошелек- Банковская карта В обоих случаях открывается разные формы оплаты на сайте ЯД, оплата проходит, деньги списываются, на страницу заказа возвращает. В первом варианте статус заказа меняется на оплачен. Во втором нет. Есть подозрение что это связано с разной комиссией. В первом случае она 0,5% во втором 2%, а в форме прописана только одна комиссия 0,5%. Есть какие то мысли у кого? Link to post Share on other sites
Kosjak76 Posted December 9, 2015 Report Share Posted December 9, 2015 Выложите код, посмотрим и обсудим Link to post Share on other sites
Booster Posted December 9, 2015 Report Share Posted December 9, 2015 (edited) Сообственно все просто в файле Yandex.php: $button = '<form method="POST" action="https://money.yandex.ru/quickpay/confirm.xml"> <input name="receiver" type="hidden" value="'.$settings['yandex_id'].'"> <input name="targets" type="hidden" value="'.$desc.'"> <input name="quickpay-form" type="hidden" value="shop"> <input name="sum" data-type="number" type="hidden" value="'.$price.'"> <input name="label" type="hidden" value="'.$order->id.'"> <input type="radio" name="paymentType" value="PC">Яндекс.Деньгами</input> <input type="radio" name="paymentType" value="AC">Банковской картой</input> <input type="submit" name="submit-button" value="'.$button_text.'" class="checkout_button"> </form>'; Ошибка с комиссией не подтвердилась. Ставил 2%, чтобы сумма заказа была равна сумме оплаты. Все равно статус на оплачен не сменился. Чето я не пойму тогда в чем разница. В первом случае статус меняется, товар списывается. Во втором нет. Edited December 9, 2015 by Dj_Amulet Link to post Share on other sites
mishanya Posted December 9, 2015 Report Share Posted December 9, 2015 Сообственно все просто в файле Yandex.php: $button = '<form method="POST" action="https://money.yandex.ru/quickpay/confirm.xml"> <input name="receiver" type="hidden" value="'.$settings['yandex_id'].'"> <input name="targets" type="hidden" value="'.$desc.'"> <input name="quickpay-form" type="hidden" value="shop"> <input name="sum" data-type="number" type="hidden" value="'.$price.'"> <input name="label" type="hidden" value="'.$order->id.'"> <input type="radio" name="paymentType" value="PC">Яндекс.Деньгами</input> <input type="radio" name="paymentType" value="AC">Банковской картой</input> <input type="submit" name="submit-button" value="'.$button_text.'" class="checkout_button"> </form>'; Ошибка с комиссией не подтвердилась. Ставил 2%, чтобы сумма заказа была равна сумме оплаты. Все равно статус на оплачен не сменился. Чето я не пойму тогда в чем разница. В первом случае статус меняется, товар списывается. Во втором нет. нужно смотреть что возвращает callback в случае первого и второго способов оплаты. и смотреть надо callback.php это он отвечает за действия после оплаты Link to post Share on other sites
Kosjak76 Posted December 9, 2015 Report Share Posted December 9, 2015 Товары списываются?Письма приходят? Link to post Share on other sites
Booster Posted December 9, 2015 Report Share Posted December 9, 2015 Да, я вкурсе что за это отвечает callback.php.Сейчас еще раз перечитал документацию ЯД: https://money.yandex.ru/doc.xml?id=526991Наткнулся на пункт: Формат HTTP-уведомленийУведомление отправляется, если:пользователь получил перевод от другого пользователя Яндекс.Денег.пользователь получил пополнение с банковской карты через универсальную форму, форму для благотворителей или кнопку. А у нас в форме используется https://money.yandex.ru/quickpay/confirm.xml может уведомление вообще на callback.php не уходит при оплате с карты? Kosjak76, при оплате Яндекс Деньгами, товар списывается, статус меняется, сообщения на мыло приходят.при оплате картой, товар не списывается, статус не меняется, сообщения на мыло не приходят. Может реально во втором случае уведомление вообще не уходит на callback.php? Link to post Share on other sites
Kosjak76 Posted December 9, 2015 Report Share Posted December 9, 2015 Или не уходит, или ошибку возвращает Link to post Share on other sites
Booster Posted December 13, 2015 Report Share Posted December 13, 2015 Параметр notification_type должен быть:Для переводов из кошелька - p2p-incomingДля переводов с произвольной карты - card-incomingУ нас же в cllback.php используется p2p-incoming, подмена на card-incoming результата не дала. Что за хрень то твою мать..Неужели никто не решил эту проблему? Link to post Share on other sites
mishanya Posted December 13, 2015 Report Share Posted December 13, 2015 Параметр notification_type должен быть:Для переводов из кошелька - p2p-incomingДля переводов с произвольной карты - card-incomingУ нас же в cllback.php используется p2p-incoming, подмена на card-incoming результата не дала. Что за хрень то твою мать..Неужели никто не решил эту проблему? может проверять на оба значения? if($_POST['notification_type'] !== 'p2p-incoming' && $_POST['notification_type'] !== 'card-incoming') Link to post Share on other sites
Booster Posted December 13, 2015 Report Share Posted December 13, 2015 (edited) может проверять на оба значения? if($_POST['notification_type'] !== 'p2p-incoming' && $_POST['notification_type'] !== 'card-incoming') ДА ДА ДА!!!! Заработало!!!! Спасибо ОГРОМНОЕ!! Вообщем сделал две формы оплаты, чтобы для каждого учитывалась своя комиссия 0.5% для ЯД и 2% для Банковской карты.Файл callback.php разумеется один с проверкой двух значений.Работает как часы! Edited December 13, 2015 by Dj_Amulet Link to post Share on other sites
Kosjak76 Posted December 13, 2015 Report Share Posted December 13, 2015 Скиньте код или архивом, я думаю, многие вам будут благодарны. Link to post Share on other sites
Booster Posted December 13, 2015 Report Share Posted December 13, 2015 В архиве две формы оплаты Яндекс Денег для физических лиц:Форма Yandex - для оплаты с кошелька ЯД на кошелек ЯДФорма YandexCard - для оплаты с произвольной банковской карты на кошелек ЯД В файлах Yandex/Yandex.php и YandexCard/YandexCard.php изменить 27 строку на свой сайт: // описание заказа $desc = 'Оплата заказа №'.$order->id.' на сайте www.MySite.ru'; В Яндексе в личном кабинете https://money.yandex.ru/myservices/online.xml указываем путь до единственного callback.php расположенного по адресу http://MySite.ru/payment/Yandex/callback.php Генерируем секретный ключ, ставим галку отправлять уведомления. В админке Симплы создаем два способа оплаты и выбираем соотвествующую форму оплаты:Для Банковская карта выбираем (Яндекс Деньги - Банковская карта)Для Яндекс Деньги выбираем (Яндекс Деньги - Кошелёк) Заполняем Ваш кошелек ЯД и секретный ключ со страницы https://money.yandex.ru/myservices/online.xml На этом все. Вроде все работает. Проверил неоднократно.YandexCard.zip Link to post Share on other sites
Booster Posted December 13, 2015 Report Share Posted December 13, 2015 (edited) Всплыл какой то странный косяк с оплатой через карту.Проверял оплату заказов до 10 руб. Сейчас запустил оплату для клиентов и на более больших суммах комиссия не равна 2%Заказ на 1340 руб с учетом 2% комиссии к оплате выходит 1366 руб. 80 коп.Клиент оплачивает, в итоге на мой кошелек упала сумма 1339 руб. 46 коп.Соответственно статус заказа не обновился. Получается что комиссия каким то боком получилась 2.04% вместо равных 2% // Комиссия Яндекса, % private $fee = 2; // Учесть комиссию Яндекса $price = $price+max(0.01, $price*$this->fee/100); На маленьких суммах этой погрешности нет. ЯД нас дурит или косяк в коде? Edited December 13, 2015 by Dj_Amulet Link to post Share on other sites
Recommended Posts