Перейти к содержанию
Официальный форум поддержки Simpla

Платежный модуль для Яндекс Денег


Рекомендуемые сообщения

Самому интересно как это сделать не имея профиля в ЯД и прикрученной карты для оплаты.

 

не имея профиля в яд, оплачивать можно так: замените строки 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>';

готово!

pO40vbNbNZM.jpg

Ссылка на сообщение
Поделиться на другие сайты
  • Ответов 156
  • Дата создания
  • Последний ответ

Лучшие авторы в теме

Лучшие авторы в теме

Изображения в теме

Приветствую. Подскажите, плж, можно ли сделать, чтобы деньги списывались только после подтверждения оператора (проверки наличия на складе и т.п.)?

Ссылка на сообщение
Поделиться на другие сайты
  • 2 недели спустя...

Тема заглохла на самом интересном!

Как реализовать метод приема платежей с банковских карт VISA и MasterCard

https://money.yandex.ru/embed/quickpay/shop.xml

Ссылка на сообщение
Поделиться на другие сайты
  • 3 недели спустя...
  • 2 недели спустя...

Сделать проверку на статус заказа и если Заказ Новый - не показывать форму оплаты

Здравствуйте, а поподробнее не могли бы Вы подсказать как это сделать. Т.е. какие изменения и куда внести. А еще если форма оплаты показываться не будет при новом заказе, то когда (где) она покажется, чтобы оплатить?

Ссылка на сообщение
Поделиться на другие сайты
  • 2 месяца спустя...

Подскажите, пожалуйста, мне необходимо подключить протокол MWS. Если ли в этом модуле эта возможность? Или как это можно реализовать?

Ссылка на сообщение
Поделиться на другие сайты

Подскажите, пожалуйста, мне необходимо подключить протокол MWS. Если ли в этом модуле эта возможность? Или как это можно реализовать?[/size]

Что за протокол, где Вы это вычитали?
Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...

Вообщем решил через ЯД принимать оплату как с кошелька ЯД, так и с банковских карт.

 

Доработал форму оплаты ЯД, в результате имеем радиобокс с выбором оплаты:

- Яндекс кошелек

- Банковская карта

 

В обоих случаях открывается разные формы оплаты на сайте ЯД, оплата проходит, деньги списываются, на страницу заказа возвращает. В первом варианте статус заказа меняется на оплачен. Во втором нет. Есть подозрение что это связано с разной комиссией. В первом случае она 0,5% во втором 2%, а в форме прописана только одна комиссия 0,5%.

 

Есть какие то мысли у кого?

Ссылка на сообщение
Поделиться на другие сайты

Сообственно все просто в файле 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%, чтобы сумма заказа была равна сумме оплаты. Все равно статус на оплачен не сменился. Чето я не пойму тогда в чем разница. В первом случае статус меняется, товар списывается. Во втором нет.

 

 

Изменено пользователем Dj_Amulet
Ссылка на сообщение
Поделиться на другие сайты

 

Сообственно все просто в файле 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 это он отвечает за действия после оплаты

Ссылка на сообщение
Поделиться на другие сайты

Да, я вкурсе что за это отвечает callback.php.

Сейчас еще раз перечитал документацию ЯД: https://money.yandex.ru/doc.xml?id=526991

Наткнулся на пункт: 

 

 

Формат HTTP-уведомлений
Уведомление отправляется, если:

 

А у нас в форме используется https://money.yandex.ru/quickpay/confirm.xml может уведомление вообще на callback.php не уходит при оплате с карты?

 

Kosjak76, при оплате Яндекс Деньгами, товар списывается, статус меняется, сообщения на мыло приходят.

при оплате картой, товар не списывается, статус не меняется, сообщения на мыло не приходят. Может реально во втором случае уведомление вообще не уходит на callback.php?

Ссылка на сообщение
Поделиться на другие сайты

Параметр notification_type должен быть:

Для переводов из кошелька - p2p-incoming

Для переводов с произвольной карты - card-incoming

У нас же в cllback.php используется p2p-incoming, подмена на card-incoming результата не дала. Что за хрень то твою мать..

Неужели никто не решил эту проблему?

Ссылка на сообщение
Поделиться на другие сайты

Параметр notification_type должен быть:

Для переводов из кошелька - p2p-incoming

Для переводов с произвольной карты - card-incoming

У нас же в cllback.php используется p2p-incoming, подмена на card-incoming результата не дала. Что за хрень то твою мать..

Неужели никто не решил эту проблему?

 

может проверять на оба значения?

if($_POST['notification_type'] !== 'p2p-incoming' && $_POST['notification_type'] !== 'card-incoming')
Ссылка на сообщение
Поделиться на другие сайты

 

может проверять на оба значения?

if($_POST['notification_type'] !== 'p2p-incoming' && $_POST['notification_type'] !== 'card-incoming')

ДА ДА ДА!!!! 

Заработало!!!! 

Спасибо ОГРОМНОЕ!!  ;)

 

Вообщем сделал две формы оплаты, чтобы для каждого учитывалась своя комиссия 0.5% для ЯД и 2% для Банковской карты.

Файл callback.php разумеется один с проверкой двух значений.

Работает как часы! 

Изменено пользователем Dj_Amulet
Ссылка на сообщение
Поделиться на другие сайты

В архиве две формы оплаты Яндекс Денег для физических лиц:

Форма 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

Ссылка на сообщение
Поделиться на другие сайты

Всплыл какой то странный косяк с оплатой через карту.

Проверял оплату заказов до 10 руб. Сейчас запустил оплату для клиентов и на более больших суммах комиссия не равна 2%

Заказ на 1340 руб с учетом 2% комиссии к оплате выходит 1366 руб. 80 коп.

Клиент оплачивает, в итоге на мой кошелек упала сумма 1339 руб. 46 коп.

Соответственно статус заказа не обновился. Получается что комиссия каким то боком получилась 2.04% вместо равных 2%

 

 

// Комиссия Яндекса, %
private $fee = 2;

// Учесть комиссию Яндекса     
$price = $price+max(0.01, $price*$this->fee/100);
 

 

 

На маленьких суммах этой погрешности нет. ЯД нас дурит или косяк в коде?

Изменено пользователем Dj_Amulet
Ссылка на сообщение
Поделиться на другие сайты

×
×
  • Создать...