Подключение оплаты через «Яндекс.Деньги» в Shop-Script

Прием платежей в Shop-Script через платежную систему «Яндекс.Деньги» осуществляется с помощью плагина, который можно установить с помощью приложения «Инсталлер». Плагин в магазине Webasyst: http://www.webasyst.ru/store/plugin/payment/yandexmoney/.

Яндекс.Деньги

Принимать оплату через систему «Яндекс.Деньги» в Shop-Script можно двумя способами:

через «Яндекс.Кассу»
с помощью кнопки «Оплатить»

Прием оплаты через «Яндекс.Кассу»

1. Установите SSL-сертификат для доменного имени

Для правильной интеграции с «Яндекс.Кассой» витрина вашего интернет-магазина должна быть доступна про протоколу HTTPS — для этого требуется установка SSL-сертификата.

2. Установите плагин

После регистрации аккаунта установите платежный плагин «Яндекс.Деньги»: в бекенде вашего Вебасиста перейдите в приложение «Инсталлер», найдите плагин «Яндекс.Деньги» в секции «Плагины → Платежные системы». Щелкните по кнопке «Установить».

3. Добавьте способ оплаты в Shop-Script

Перейдите в бекенд Shop-Script, откройте раздел «Настройки → Оплата» и выберите «Яндекс.Деньги» в выпадающем меню «Добавить способ оплаты» в верхнем правом углу (если такого варианта в вашем списке нет, то, значит, вы не установили плагин в «Инсталлере», как было описано выше).

Яндекс.Деньги в Shop-Script

На странице настройки плагина введите желаемое название и описание — так, как они должны отображаться для покупателей в процессе оформления заказа.

4. Заключите договор с платежной системой

Условия регистрации интернет-магазина в «Яндекс.Деньгах» описаны на сайте платежной системы по адресу https://money.yandex.ru/partners/.

При регистрации выберите схему подключения интернет-магазина к «Яндекс.Деньгам»: с уведомлением о платеже в виде email-сообщения или в виде http-запроса (подрбнее об схемах подключения: http://money.yandex.ru/partners/doc.xml?id=157411).

Если вы выбрали схему с уведомлением в виде http-запроса, специалисты «Яндекс.Денег» попросят вас сообщить в анкете магазина значения параметров paymentAvisoURL, successURL, failURL, checkURL. Эти значения нужно скопировать на странице настройки способа оплаты в бекенде Shop-Script — они формируются автоматически.

Сообщите специалистам платежной системы название используемого метода шифрования пароля: «md5».

После подписания договора с платежной системой «Яндекс.Деньги» специалисты компании отправят вам электронное письмо с данными платежной формы (в письме будут указаны параметры «Shop ID» и «scid» — для настройки способа оплаты в Shop-Script).

5. Завершите настройку способа оплаты

В настройках способа оплаты в бекенде Shop-Script выберите переключатель «Яндекс.Касса».

В поля «Идентификатор магазина» и «Номер витрины» настройки способа оплаты вставьте значения параметров «Shop ID» и «scid», полученные от платежной системы. Придумайте и напишите пароль длиной до 20 символов в английской раскладке клавиатуры.

Для того чтобы передавать информацию о заказах оператору фискальных данных через «Яндекс.Кассу» в рамках закона РФ №54-ФЗ, включите настройку «Фискализировать чеки через Яндекс.Кассу».

В настройке «Передача ставок НДС» выберите вариант «Передавать ставку НДС по каждой позиции», если вы используете общую систему налогообложения. Ставка НДС (0%, 10% или 18%) должна быть включена в цену товара в настройках налогов в приложении. Если у вас другая система налогообложения, выберите «НДС не облагается».

Настройка «Передача ставок НДС» доступна для Shop-Script начиная с версии 7.2.12. Пользователи более ранних версий, включая Shop-Script 6, могут фискализировать чеки через «Яндекс.Кассу» только при использовании упрощенной схемы налогообложения.

Ставка НДС для стоимости доставки не передается в «Яндекс.Кассу» при использовании общей системы налогообложения.

Настройка «Несколько систем налогообложения» позволяет передавать в «Яндекс.Кассу» систему налогообложения, которую использует ваша компания.

  • Если ваш магазин работает по одной системе налогообложения, то нужно оставить выбранным вариант «Не передавать». В этом случае систему налогообложения передает кассовая техника.
  • Если же вы используете несколько систем, то систему налогообложения нужно передавать с каждым запросом — в этом случае будет передаваться значение, которое вы выберите в этой настройке.


6. Выполните тестирование

Проверьте правильность работы модуля с помощью демо-рублей по инструкции: http://money.yandex.ru/doc.xml?id=459801#2. После успешного прохождения тестирования ваш магазин будет переведен в рабочий режим, а представитель «Яндекс.Денег» отправит вам рекламные материалы платежной системы (тексты, логотипы) для размещения на вашем сайте.

7. Готово!

Ваш интернет-магазин подключен к системе «Яндекс.Деньги».

Прием платежей с помощью кнопки «Оплатить»

При использовании этого способа устанавливать SSL-сертификат для доменного имени не нужно.

Также в этом случае (в отличие от оплаты через «Яндекс.Кассу») автоматически не обновляется статусы заказов после успешной оплаты. Если вы настроили прием платежей с помощью простой кнопки «Оплатить», то проверять платежи и обновлять статусы заказов в интернет-магазине необходимо вручную.

1. Установите плагин

После регистрации аккаунта установите платежный плагин «Яндекс.Деньги»: в бекенде вашего Вебасиста перейдите в приложение «Инсталлер», найдите плагин «Яндекс.Деньги» в секции «Плагины → Платежные системы». Щелкните по кнопке «Установить».

2. Добавьте способ оплаты в Shop-Script

Перейдите в бекенд Shop-Script, откройте раздел «Настройки → Оплата» и выберите «Яндекс.Деньги» в выпадающем меню «Добавить способ оплаты» в верхнем правом углу (если такого варианта в вашем списке нет, то, значит, вы не установили плагин в «Инсталлере», как было описано выше).

Яндекс.Деньги в Shop-Script

На странице настройки плагина введите желаемое название и описание — так, как они должны отображаться для покупателей в процессе оформления заказа.

3. Завершите настройку способа оплаты

В настройках способа оплаты в бекенде Shop-Script выберите переключатель «Кнопка для приема платежей».

Введите номер своего Яндекс.Кошелька и сохраните настройки способа оплаты.

4. Готово!

Ваш интернет-магазин готов принимать оплату с помощью «Яндекс.Денег».

59 комментариев

  • 0
    oleg - oleg - 14 марта 2014 09:07 #
    А какого типа должен быть сертификат?
    WildCard
    SGC

    Хотелось бы поподробней об этом
  • 0
    Дмитрий тимофеев Дмитрий тимофеев 26 июня 2014 00:58 #
    а реализации смены статуса, при оплате яндекс деньгами, реализовано?
  • 0
    Эдуард Жеребчиков Эдуард Жеребчиков 14 октября 2014 13:56 #
    вот такой вопрос: у меня ИП, счета пока нет. Яндекс запретил использование плагина, пока я не открою счет. Но деньги принимать разрешил и дал возможность установки кнопки приема платежей на свой яндекс-кошелек. Так вот, при оформлении кнопки мне в итоге выдали HTML код для установки его на свой сайт. Куда ставить-то? Спасибо
  • 0
    Эдуард Жеребчиков Эдуард Жеребчиков 15 октября 2014 02:09 #
    вот шаблон моей финальной страницы:

    [`Thank you!`]

    [`We successfully accepted your order, and will contact you asap.`]
    [`Your order number is `] {$order.id}.

    {if !empty($payment)}
    {$payment}
    {/if} {if !empty($payment_success)} [`Your payment has been successfully accepted. We will process your order and contact you shortly.`] {/if}
    Вернуться
    В МАГАЗИН
    {* @event frontend_checkout.%plugin_id% *} {foreach $frontend_checkout as $_}{$_}{/foreach}
    В какое место вставить?
  • 0
    Эдуард Жеребчиков Эдуард Жеребчиков 15 октября 2014 05:16 #
    в самый конец пробовал. Не появилась.
    • 0
      Михаил Ушенин Михаил Ушенин Webasyst 15 октября 2014 08:40 #
      Попробуйте добавить вокруг своего кода вот такие теги:
      {literal}
      ... тут ваш код...
      {/literal}
      • +1
        Марина Марина 29 января 2016 19:37 #

        Я добавила в самый конец, ничего не появилось. Добавила в конец перед /div исчезли все картинки с витрины.

      • +3
        Ekaterina - Ekaterina - 13 декабря 2014 06:43 #

        Обратите внимание, что SSL-сертификат стоит от 3000 руб в год.
        При самописных сертификатах у покупателей в браузере будет открываться жуткое предупреждение красного цвета, что сертификат не действительный и покупатель рискует, а некоторые устройства и вовсе будут блокировать такую оплату.

        • +1
          Arti Arti 29 декабря 2014 03:52 #

          SSL сертификат стоит от 3$ в год. Не покупайте SSL у реселлеров в СНГ, переплачиваете 300%

        • +1

          Сертификат нужен для обмена данными между вашим сервером и сервером я.денег. Пользователь тут вообще ни при чем, а Я.Деньги отлично работают с самоподписанным.

        • +3
          Сергей Сергей 4 января 2015 08:48 #

          Вопросы по использованию через "Кнопку"

          1. Будет ли возможность при оплате возложить коммисию системы на клиента (или добавлять принудительно определённый процент)?

          2. Возможность отложенной оплаты (т.е. клиент оплачивает не сразу, а через некоторое время, через личный кабинет)

        • +1
          Сергей Сергей 25 октября 2015 08:20 #

          Возможно ли установить модуль так, что бы было 2 способа оплаты Яндекс деньги и банковская карта. Т.е. когда идет оформление заказа и выбор способа оплаты была ни одна кнопка, где все виды оплаты, а отдельно.

          • +1
            Алексей Алексей Webasyst 26 октября 2015 02:49 #

            Можно, добавьте несколько раз плагин оплаты с разными настройками.

            • +2
              Сергей Сергей 16 ноября 2015 09:25 #

              Возможно ли через "кнопку" оставить оплату только яндекс деньгами, чтобы оплата картой там не появлялась?

            • +1
              Сергей Сергей 31 октября 2015 07:48 #

              В режиме кнопка, мало настроек. Я имел виду, что если клиент нажал оплатить картой, то ему и должен предложен только этот способ, а не выскакивали яндекс деньги и наоборот. Это их пугает.

            • +2
              andrew-avalon andrew-avalon 22 ноября 2015 05:43 #

              Как изменить надпись на кнопке с "перевести" на "оплатить" или "купить"?

            • +1
              Ирина - Ирина - 12 декабря 2015 18:16 #

              Не получается провести тестовый платеж. Информация от специалиста тех. службы Яндекса:

              Проблема в том, что Ваш магазин отклоняет запросы на платежи. Пример:

              <?xml version="1.0" encoding="UTF-8"?>

              <checkOrderResponse

              performedDatetime="2015-12-10T03:13:27+04:00"

              code="1"

              invoiceId="2000000659874"

              shopId="108381"

              techMessage="invalid hash"

              />

              Проверьте корректность поля shopPassword ( пароль магазина).


              Пароль набран в английской раскладке, буквы+цифры. Что там может быть некорректного? Меняла его, удаляла вообще, все равно платежи не проходят. При попытке оплаты на демо-кошельке пишет: Ой! Ничего не получится. При оформлении платежа были указаны неверные данные.

            • +4
              Alex.B Alex.B 16 декабря 2015 05:22 #

              Если выбрать "яндекс касса"

              будет ли возможность настроить так:

              пока заказ новый, оплатить нельзя.

              после подтверждения: кнопки оплаты появлялись в личном кабинете покупателя?

              вот эту конструкцию:

              {if in_array ($order.state_id , ['processing'])}

              <div class="plugin">

              {$payment}

              </div>

              {/if}


              • +2
                zvbard zvbard 23 мая 2016 06:09 #

                И в 7-й версии Shop-Script данной возможности так и не появилось.

                Хоть она и является базовой.

              • +1
                dra_kon dra_kon 20 декабря 2015 09:20 #

                Здравствуйте!

                Помогите решить проблему!


              • +4
                Nikolay Nikolay 13 января 2016 08:35 #

                Добавьте возможность добавить процент комиссии за выбора этого способа оплаты.

              • +1

                Здравствуйте! Каким образом можно установить в настройках плагина successURL и failURL по протоколу https?


              • +3
                Евгений Булдаков Евгений Булдаков 20 января 2016 02:32 #

                Возможно ли реализовать при выборе способа оплаты через Яндекс Кассу принудительное добавление комиссии??? Вопрос уже звучал здесь несколько раз, но ответа так и не было......

              • +1
                il6at@ya.ru il6at@ya.ru 15 апреля 2016 10:10 #

                Если попытаться оплатить кнопкой яндекс.денег сумму больше 15000 рублей, как отреагирует сайт яндекс денег. Будет отказ или сумма перевода уменьшится до 15000 рублей?

                Спасибо заранее за ответ!

                • +1
                  Алексей Алексей Webasyst 15 апреля 2016 10:12 #

                  https://money.yandex.ru/doc.xml?id=523014 зависит от аккаунта, 15к ограничение для анонимных. Сумма оплаты точно не уменьшится.

                  • +1
                    il6at@ya.ru il6at@ya.ru 15 апреля 2016 10:22 #

                    а как то можно изменить код модуля оплаты яндекс денег, чтобы сумма уменьшалась до 15000?

                    • +1
                      il6at@ya.ru il6at@ya.ru 15 апреля 2016 10:23 #

                      Оплата с карты у всех ограничена до 15000

                    • +1
                      Алексей Алексей Webasyst 15 апреля 2016 10:35 #

                      Это будет неправильно.
                      К примеру в корзине товара на 27к, оплата через я.деньги и по вашей настройке сумма снижается до 15000 и ставит заказ как оплаченный т.к. частичной оплаты не предусмотрено.

                      Если стоит задача частой оплаты больших сумм то помимо Я.Деньги, стоит добавить и другие способы, а в шаблоне дизайна добавить проверку сумму заказа и просто скрывать этот способ.

                    • +1
                      Sergey Karnilov Sergey Karnilov 28 апреля 2016 06:35 #

                      Здравствуйте.

                      Подскажите пожалуйста, что вписывать в поле Пароль

                      • +1
                        Михаил Ушенин Михаил Ушенин Webasyst 28 апреля 2016 10:29 #

                        Произвольную строку длиной до 20 случайных символов, набранных в английской раскладке клавиатуры., которую нужно также сохранить и в своём аккаунте в Яндекс.Деньгах.

                      • +1
                        Александр Махов Александр Махов 15 июня 2016 16:16 #

                        Доброго времени.
                        В качестве checkURL и др. выводится адрес не моего сайта в начале, а админки в облаке. Так и должно быть?
                        site.host.webasyst.com/payments.php/yandexmoney/

                        Соответственно сайт расположен в облаке webasyst

                      • +1
                        Spinningmarkt Spinningmarkt 3 августа 2016 16:58 #

                        После НЕ успешной оплаты, возвращает в магазин по ссылке FailURL, но она не работает, открывается XML файл

                        а успешная оплата Success URL работает, корректно возвращает в магазин

                        Как починить FailURL?

                      • +1
                        SAN SAN 29 августа 2016 11:37 #

                        Добрый день!

                        Наш сайт в облаке Webasyst. На странице просмотра своего заказа клиент видит строки:

                        Подскажите, пожалуйста, как изменить надпись "Оплатить заказ на сайте Яндекс.Денег" на другую, например:

                        <span class="yamoney-pay-button__text">Заплатить</span><br/><span class="yamoney-pay-button__subtext">через Яндекс</span>

                        ?

                      • +1
                        getman398 getman398 20 октября 2016 12:00 #

                        Help! Помогите разобраться. Не проходят платежи. При попытке оплатить выдает ошибку что то пошло не так.

                        Яндекс ответили "" Платеж не проходит, т.к. вы нам отвечаете кодом=1000:

                        "" Платеж не проходит, т.к. вы нам отвечаете кодом=1000: <?xml version="1.0" encoding="windows-1251"?> <response performedDatetime="2016-10-14T11:43:34+05:00"> <result code="1000" action="checkOrder" shopId="" invoiceId="2000524424140" /> </response> Тогда необходимо обратиться к разработчику и уточнить, почему возвращается код=1000 и не попадает в ответ shopID. Проверьте, корректно ли он у вас прописан в настройках модуля.""

                        Прописано все корректно. Что делать? Может кто то уже сталкивался с таким?

                        • +1
                          Михаил Ушенин Михаил Ушенин Webasyst 20 октября 2016 18:52 #

                          Посмотрите, что при этом пишется в лог-файл wa-log/payment/yandexmoneyPayment.log.

                          • +1
                            getman398 getman398 2 ноября 2016 11:49 #

                            Вот что последнее написано.

                            #57cc67698a106
                            data:
                            array (
                              'method' => 'waPayment::callback',
                              'request' => 
                              array (
                                'result' => 'fail',
                                'cps_shopPaymentType' => 'AB',
                                'orderNumber' => 'shop_13_41',
                                'shopArticleId' => '223170',
                                'shopId' => '111782',
                                'customerNumber' => '22',
                                'scid' => '42072',
                              ),
                              'ip' => '5.44.172.70',
                              'agent' => 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36',
                            )
                            
                            2016-09-04 23:26:49:
                            #57cc67698a106
                            data:
                            array (
                              'method' => 'waPayment::callbackInit',
                              'app_id' => 'shop',
                              'merchant_id' => '13',
                            )
                            
                            2016-09-04 23:26:49:
                            #57cc67698a106
                            data:
                            array (
                              'method' => 'waPayment::callback',
                              'exception' => 'Invalid currency code',
                            )
                            
                            2016-09-04 23:26:49:
                            #57cc67698a106
                            data:
                            Invalid currency code
                            • +1
                              Михаил Ушенин Михаил Ушенин Webasyst 24 ноября 2016 18:15 #

                              Выглядит так, как будто Яндекс присылает магазину информацию о платеже с кодом валюты, отличным от 643, который воспринимает плагин как единственно правильный. Возможно, в вашем Яндекс-аккаунте продавца выбрана какая-то другая валюта.

                              Можно посмотреть, какую именно валюту присылает Яндекс. Для этого в файле wa-plugins/payment/yandexmoney/lib/yandexmoneyPayment.class.php перед

                              throw new waPaymentException('Invalid currency code', self::XML_PAYMENT_REFUSED);

                              добавьте

                              waLog::log(ifset($transaction_raw_data['orderSumCurrencyPaycash']), 'yandexmarket-debug.log');

                              Это позволит посмотреть присылаемый код валюты в лог-файле wa-log/yandexmarket-debug.log (можно посмотреть с помощью приложения Логи).

                            • +1
                              АвтоКорректор АвтоКорректор 30 декабря 2016 02:01 #

                              Прием платежей с помощью кнопки «Оплатить».
                              В моем магазине все способы оплаты отправляются после подтверждения заказа администратором.

                              Есть ли возможность добавить в уведомление эту кнопку "Перевести"?

                              То есть после нажатия "Подтвердить", клиент получает письмо со всей инфой и этой кнопкой.

                              Очень жду ответа.

                              • +1
                                Михаил Ушенин Михаил Ушенин Webasyst 30 декабря 2016 11:22 #

                                Для реализации такой возможности может потребоваться редактирование исходного кода одного из шаблонов уведомлений, которые отправляются покупателям при оформлении заказа. Вам стоит задать отдельный вопрос о том, как это сделать, в общем хабе поддержки.

                              • +1
                                Дмитрий Дмитрий 29 марта 2017 18:00 #

                                Подскажите, что указывать в поле: "Назначение платежа"

                              • +1
                                LeMs LeMs 5 июня 2017 20:43 #

                                С нетерпением ждем обновление плагина под 54ФЗ

                                • +1
                                  LeMs LeMs 30 июня 2017 21:04 #

                                  Есть какая либо информация по обновлению под 54-ФЗ?

                                  • +1
                                    Игорь Кононов Игорь Кононов 30 июня 2017 21:30 #

                                    С 3 по 6 июля выйдет обновление плагина «Яндекс.Деньги» от Webasyst с адаптацией под 54-ФЗ.

                                  • +1
                                    LeMs LeMs 3 июля 2017 16:20 #

                                    Спасибо! Ждем

                                  • +1
                                    GlobalCode GlobalCode 7 июля 2017 18:51 #

                                    После обновления до версии 1.3.1.16 плагин перестал работать. При выборе способа оплаты «Яндекс.Деньги» сразу появляется окно подтверждения заказа...

                                  • +1
                                    Lormem Lormem 8 августа 2017 12:49 #

                                    Добрый день!

                                    После подключения тестовый платеж проходит, а при оформлении оплаты в рабочем режиме выскакивает ошибка.

                                    При обращении в Яндекс они прислали ЛОГ с рекомендацией обращаться к разработчикам плагина.

                                    Ваш checkOrder передаёт нам некорректный ответ. Ваш лог ниже:

                                    2017-08-07T19:29:14.906 INFO [CommonHttp30Protocol] - paramsToSign: 'checkOrder;1020.00;10643;1003;137597;2000001356493;68'
                                    2017-08-07T19:29:14.906 INFO [CommonHTTPStub] - Request params:
                                    orderNumber=shop_11_31
                                    orderSumAmount=1020.00
                                    cdd_exp_date=1225
                                    shopArticleId=437615
                                    paymentPayerCode=4100322062290
                                    cdd_rrn=507457202274
                                    external_id=deposit
                                    paymentType=AC
                                    requestDatetime=2017-08-07T19:29:14.905+03:00
                                    depositNumber=tJiTGcugDatq289YtPJFuGvOoMwZ.001f.201708
                                    cdd_response_code=00
                                    cps_user_country_code=PL
                                    orderCreatedDatetime=2017-08-07T19:29:14.777+03:00
                                    sk=u17ae36dd5da8887b525253452e923790
                                    action=checkOrder
                                    shopId=137597
                                    scid=553550
                                    shopSumBankPaycash=1003
                                    shopSumCurrencyPaycash=10643
                                    rebillingOn=false
                                    orderSumBankPaycash=1003
                                    cps_region_id=193
                                    orderSumCurrencyPaycash=10643
                                    merchant_order_id=shop_11_31_070817192900_00000_137597
                                    unilabel=211aa90c-0009-5000-8000-0000248681f4
                                    cdd_pan_mask=444444|4448
                                    customerNumber=68
                                    yandexPaymentId=25700101174029
                                    environment=Live
                                    invoiceId=2000001356493
                                    shopSumAmount=984.30
                                    md5=C521F06607B440C691839B6ABF2A2CCB

                                    2017-08-07T19:29:15.237 INFO [CommonHTTPSCAConnector] - 330 ms for https://mediksnab.ru/payments.php/yamodulepay/
                                    2017-08-07T19:29:15.237 WARN [CommonHTTPStub] - Response is not XML: response=payment plugin class yamodulepayPayment not found

                                    2017-08-07T19:29:15.237 WARN [AbstractIPWPaymentHandler] - Техническая ошибка на стороне магазина: Response is not XML
                                    ru.yamoney.calypso.shops.adapters.ShopErrorException: Response is not XML

                                    Вероятнее всего, ваш checkOrder написан на html, а должен быть в xml. Обратитесь с данным логом к своему технику или в тех. поддержку вашей CMS.



                                  • +2
                                    ivanroot ivanroot 11 августа 2017 00:11 #

                                    Не фискализируется чек при покупке на сайте со скидкой по промокоду или бонусному счету (нигде не указывается скидка).

                                    Получается что сумма ИТОГО указана со скидкой, а по позициям цены без скидки.

                                    Как быть?

                                    • +1
                                      Михаил Ушенин Михаил Ушенин Webasyst 11 августа 2017 09:30 #

                                      Возможно, это ошибка в плагине. Разработчикам сообщили об этой ситуации — возможно, вскоре будет выпущено обновление с исправлением.

                                    • +1
                                      Виктор Виктор Партнер-эксперт 1 сентября 2017 22:13 #

                                      Проблема со скидками!! Так же не фискализируются платежи, любых заказов со скидкой, в том числе и со скидкой по сумме заказа... Решили провести акцию на сайте, а тут такой сюрприз!!! Все платежи по заказам были отменены Яндексом из-за отсутствия фискализации!!! =((

                                      Добавить комментарий

                                      Чтобы добавить комментарий, зарегистрируйтесь или войдите