Документация ЮMoney PRO для Opencart

https://store.pe-art.ru/getfiles Лицензионный ключ и доступ к файлам отправляется автоматически на почту аккаунта покупателя, если письма Вы не нашли, проверьте папку спам, если письмо в спаме, то пожалуйста поставьте отметку не спам. При отсутствии ключа в папке спам напишите в поддержку.

Внимание! Теперь работает только основная форма перевода ЮМАНИ , на ней все вместе оплата ЮМАНИ и оплата БАНКОВСКИЕ КАРТЫ, работает основной модуль ЮМАНИ для этой формы (форма отдельно для банковских карт больше не работает), также назначение платежа больше из модуля не управляется.

Последние версии модулей:
Магазины 1.5 - 8.1 (oc1.5)
Магазины 2.0-2.1 - 8.1 (oc2.0-2.1)
Магазины 2.2 - 8.1 (oc2.2)
Магазины 2.3 - 8.1.2 (oc2.3)
Магазины 3.0 - 8.1 (oc3)

I. Установка:

Внимание! Архивы подписаны версией магазина, разные архивы для разных версий не совместимы. В названии архива префикс yandexpro_

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

ВНИМАНИЕ! ПРИ ВОЗНИКНОВЕНИИ КАКИХ ЛИБО СЛОЖНОСТЕЙ/ОШИБОК ЧИТАЙТЕ ОБЯЗАТЕЛЬНО РАЗДЕЛ FAQ НИЖЕ

Установка для магазинов 2.0, 2.1, 2.2, 2.3, 3.0 :

  1. Разархивируйте архив, внутри архива 2 файла - readme.txt и yandexpro.ocmod.zip
  2. В админ панели сайта меню Дополнения - Установка дополнений - Загрузите архив yandexpro.ocmod.zip
  3. Если возникли ошибки с установщиком - проверьте настройки фтп или установите расширение по ссылке (также возможна установка вручную - см. раздел II. Установка вручную)
  4. Меню Менеджер дополнений (Модификации) - обновите кэш модификаций
  5. Установите нужные модули в разделе Дополнения - платежи (Оплата) - при отсутвии пункт 3 установки
  6. Обязательно натройте уведомления , Faq ниже , пункт 1

II. Установка вручную:

  1. Разархивируйте архив, внутри архива 2 файла - readme.txt и yandexpro.ocmod.zip
  2. Разархивируйте архив yandexpro.ocmod.zip, внутри папка upload и файл install.xml
  3. С помощью файлового доступа к сайту (ftp или ssh) загрузите все содержимое папки upload в корень сайта
  4. Переименуйте install.xml в yandexpro.ocmod.xml
  5. В админ панели сайта меню Дополнения - Установка дополнений - Загрузите файл yandexpro.ocmod.xml
  6. Меню Менеджер дополнений (Модификации) - обновите кэш модификаций
  7. Установите нужные модули в разделе Дополнения - платежи (Оплата)
  8. Обязательно настройте уведомления , Faq ниже, пункт 1

Обновление на новую версию:

  1. Создайте резервную копию базы данных и файлов сайта
  2. Удалите модификатор модуля (для версий ниже 3.0)
  3. Установите модуль согласно инструкции УСТАНОВКА выше с перезаписью файлов (не забудте обновить модификаторы)
  4. Обязательно пересохраните Секретное слово и установите корректный адрес уведомлений в настройках кошелька (FAQ пункт 1)
  5. Внимание! Обязательно пересохраните настройки.
  6. Если вы записывали файлы шаблонов модуля изи папки default в папку вашей темы, обязательно запишите актуальные версии этих файлов
  7. Для opencart 3 очистите кеш шаблонов (главная страница админ панели -> шестеренка справа вверху)

Обновление со старой (НЕ PRO) версии на актуальную:

  1. Создайте резервную копию базы данных и файлов сайта
  2. Удалите предыдущие модификаторы
  3. Полностью удалите модуль из раздела платежи (оплата)
  4. Удалите все ФАЙЛЫ МОДУЛЯ по его путям как в исходнике архива, включая все файлы которые вы самостоятельно модифицировали или записывали (например шаблоны модуля для своей темы)
  5. Установите модуль согласно инструкции УСТАНОВКА выше с перезаписью файлов
  6. Для opencart 3  очистите кеш шаблонов (главная страница админ панели -> шестеренка справа вверху)
  7. Обязательно пересохраните Секретное слово и установите корректный адрес уведомлений в настройках кошелька (FAQ пункт 1)

 

III. FAQ

1. Настройка уведомлений https://yoomoney.ru/transfer/myservices/http-notification

Скопировать - вставить данные (адрес уведомлений из настроек модуля в настройки кошелька, секрет из настроек кошелька в настройки модуля), установить галочку отправлять уведомления, нажать сохранить.

2.  Секретное слово, где взять?

См. пункт 1

3. Ошибки в логах

4. Не приходят уведомления о оплате (не меняется статус после оплаты, не создается заказ после оплаты(только для настроек создавать заказ после оплаты "да") )

  1. ВНИМАНИЕ! На локальных (тестовых сайтах) статусы менятся не будет и не будет никаких уведомлений!
  2. Уведомления должны быть настроены верно (пункт 1)
  3. Причиной может быть не правильные статусы заказов в настройках модуля они должны быть разные
  4. смотреть журнал ошибок (переходите на оплату чистите журнал ошибок магазина, оплачиваете, возвращаетесь на сайт, смотрите журнал)
  5. расшифровка ошибок пункт 3
  6. если ошибок нет значит к вам никто не приходит с уведомлением (в ЮMoney неправильно написан адрес для уведомлений, не стоит галка отправлять уведомления) Надо проверять вообще факт наличия калбека от ЮMoney - смотреть лог запросов к серверу на наличие обращения к адресу калбека с ip адреса ЮMoney, код ответа вашего сервера должен быть 200 и никакой другой. Тестирование следующее: перейдите на оплату очистите журнал доступа к сайту на сервере (обычно это access.log, уточните у хостера или системного администратора где найти у вас лог доступа к серверу), очистите лог, оплатите, вернитесь на сайт, смотрите лог (возможна задержка в записи в лог) , в логе должна быть запись обращения сервиса ЮMoney на адрес callback, если ее нет то что то блокирует (фаервол, прокси и тд, меняйте хостера в конечном итоге), если запись есть и код ответа не 200 то смотрите код в зависимости от кода можно опредилить проблему(например переадресация) если код 200 то это значит все прошло успешно или в журнале магазина есть ошибка.
  7. если включен в настройках магазина режим тех обслуживания то уведомления тоже не будут приходить сайт их будет блокировать
  8. Также может влиять преадресация (например на www или с https на http или наоборот) - тогда предаваемые от ЮMoney данные методом post теряются - адрес должен быть конечный (установите адрес для уведомлений c www или https в зависимости от реального адреса)
  9. иногда причиной может быть в названии магазина (настройки магазина) присутствие кавыечек или точек, а также спец символов (попробуйте удалить знаки и провести повторно оплату)
  10. Также причина может быть в настройках статусов заказа в настройкох магазине - статус в процессе и статус завершенный, настройки фрода https://opencartforum.com/topic/65321-fraud-status/
  11. Причина может быть в прокси сервера (например cloudflare)
  12. уведомления не доходят на ssl сертификатах работающих через sni без выделенного ip адреса
    или сертификатах выданных на другой домен (или основной домен, а используется поддомен и сертификат не имеет поддержки поддоменов)
  13. Блокировка возможна фаерволом на сервере
  14. Не исключена блокировка уведомлений на уровне хостера или провайдера интернета у хостера или сервера.

5. Как добавить иконку к методу оплаты

В настройках модуля
поле название метода оплаты
<img src="путь к картинке" /> ЮMoney

6. Что это за ошибка? PHP Notice:  Undefined index: withdraw_amount in /catalog/controller/account/yandexplusplus.php

эта ошибка возникает когда вы нажимаете кнопку протестировать в кошельке яденег
так как при этогм не передается номер заказа
при реальных платежах такой ошибки не будет

7. При переходе на страницу оплаты пишет No currency RUB

так как ЮMoney принимает только рубли валюта с кодом RUB должна существовать в валютах, ее можно не включать если она не нужна

8. Смена кошелька

Для смены кошелька необходимо ввести в настройках модуля новый номер кошелька
В новом кошельке по ссылке https://yoomoney.ru/transfer/myservices/http-notification совершить действия указанные ниже пунктами

  1. вставить адрес для уведомлений указанный в настройках модуля в графе * Адрес HTTP-уведомления:
    обязательно внимательно без пробелов вначале и в конце
  2. нажать показать секрет и вставить его в настройки модуля в графу * Секретное слово
  3. поставить галку отправлять уведомления
  4. нажать кнопку сохранить

9. Как испольовать несколько кошельков

  1. В разделе * Номер счета я.денег укажите несколько кошельков разделив их точкой с запятой
    НОМЕРКОШЕЛЬКА-1; НОМЕРКОШЕЛЬКА-2; НОМЕРКОШЕЛЬКА-3;
  2. Настройте все кошельки по ссылке https://yoomoney.ru/transfer/myservices/http-notification
    1. вставить адрес для уведомлений указанный в настройках модуля в графе * Адрес HTTP-уведомления:
      обязательно внимательно без пробелов вначале и в конце
    2. нажать показать секрет и сохраните его (в текстовом редакторе) для последующей вставки в графу * Секретное слово
    3. поставить галку отправлять уведомления
    4. нажать кнопку сохранить
  3. В разделе * Секретное слово укажите секретные слова от кошельков которые вы сохранили на предыдущем шаге в том же порядке через точку с запятой
    СЕКРЕТКОШЕЛЬКА-1; СЕКРЕТКОШЕЛЬКА-2; СЕКРЕТКОШЕЛЬКА-3;

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

Обратите внимание на кнопку вернутся в магазин на стороне ЮMoney, скорее всего в ссылках подменены символы & на &amp; , поэтому корректный возврат не происходит, по данному вопросу необходимо обратится в поддержку ЮMoney
по адресу https://yoomoney.ru/page?id=536316
выбрав в форме Что делать, если нужна помощь
указать свой кошелек и адрес сайта
описать проблему что ссылки возврата меняются на некорректные с подменой &

11. Как отправить ссылку на оплату через админ панель (при новом заказе или повторно)

Для работы данного функционла обязательно должен быть установлен модификатор от модуля (для магазинов ниже 3.0) или событие (для магазинов 3.0 и выше). Это работает по умолчанию при корректной установке модуля как указано в документации.

Установите метод оплаты yandex_pro через редактирование заказа (если у заказа выбран другой метод оплаты), в просмотре заказа (не редактировании) установите статус из настроек модуля который обозначен как "Статус заказа после неуспешной или ожидаемой оплаты:
Статус для активации Отложенной оплаты", установите флажок уведомить покупателя и нажмите кнопку добавить историю, покупатель получить ссылку на оплату в письме (Внимание! гарантирована работа только в стандартном письме магазина о смене статуса заказа, если вы изменяли стандартное письмо или у вас установлен шаблонизатор писем, то ссылки может не быть), а в личном кабинете у покупателя появится кнопка для перехода на оплату (работает только при стандартных классах личного кабинета если шаблон полностью изменяет классы css, то кнопки может не быть).

12. Ошибка при оплате "Укажите сумму"

Минимальная сумма к оплате должна быть не менее 5 рублей, увеличте сумму, ошибки быть не должно.
 

13. Техническая Ошибка при оплате после ввода банковской карты на стороне платежной системы

Банковсике карты и сами платежи обрабатываются только на стороне платежной системы, модуль и сайт в этом не участвует. Данная проблема никакого отношения к работе модуля не имеет.
При наличии такой ошибки когда вы ввели данные от банковской карты убедитесь что данные сайта передались корректно(если данные передались не корректно то ошибка имеет место быть как после ввода банковской карты так и в момент перехода с сайта до ее ввода), включите режим отладки и перейдите на оплату, в форме не должно быть ошибок php и битой кодировки в полях.

Если с формой все впорядке то решения всего 4 они указаны в порядке приоритета, делать от 1 к последнему

  1. У вас в кошельке не введены паспотные данные, введите их
  2. Ваш кошелек попал в черный список платежной системы, выйдите из аккаунта, войдите в браузере через режим инкогнита, создайте новый кошелек и ВВЕДИТЕ ДРУГИЕ ПАСПОРТНЫЕ ДАННЫЕ( ВНИМАНИЕ! ПАСПОРНЫЕ ДАННЫЕ ОБЯЗАТЕЛЬНО ИСПОЛЬЗОВАТЬ ДРУГИЕ)
  3. Ваш ip адрес сервера попал в черный список платежной системы, попросите хостера(системного администратора) сменить ip адрес сайта
  4. Ваш домен попал в черный список платежной системы.

99.9% это проблема блокировки приема платежей через формы и кнопки службой безопасности платежной системы (дополнительно могут заблокировать и сам кошелек на вывод средств), ОБЫЧНО СВЯЗАНЫ С ПРОДАЖЕЙ ЗАПРЕЩЕННЫХ ТОВАРОВ (В ТОМ ЧИСЛЕ ЗАПРЕЩЕННЫХ ЗАКОНДАТЕЛЬСТВОМ ДЛЯ ПРОДАЖИ ЧЕРЕЗ ИНТЕРНЕТ ИЛИ ТРЕБУЩИХ СЕРТИФИКАТОВ ДЛЯ ПРОДАЖИ, А ТАКЖЕ НЕ ЗАКОННОЙ ДЕЯТЕЛЬНОСТЬЮ).

Блокировка приема платежей обычна просиходит на сайтах где ведется не легальная торговля товарами требующими сертификации или запрещенными товарами, а также любыми другими причинами которые платежная система посчитает правомерными. По все вопросам обращайтесь по ссылке  https://yoomoney.ru/page?id=536316 (в самом низу выбирайте тестирую форму и кнопку- вижу ошибку)

 

14. назначение платежа: перевод по кнопке
Данное назначение больше не управляется - Его изменить нельзя на данный момент

 

IV. Работа отложенной оплаты:

Для работы данного функционла обязательно должен быть установлен модификатор от модуля (для магазинов ниже 3.0) или событие (для магазинов 3.0 и выше). Это работает по умолчанию при корректной установке модуля как указано в документации.

Если Вы актировали данный функционал, то алгоритм активации после создания заказа следующий:

Для активации оплаты, необходимо в просмотре(не редактировании) заказа установить статус из настроек модуля - Статус для активации Отложенной оплаты и установить галку уведомить покупателя, нажать кнопку добавить историю, при этом покупателю в письме о смене статуса придет ссылка на оплату (гарантированно работает только на стандартных письмах магазина о смене статуса, если вы используете шаблонизатор писем, то ссылке может не быть), а также в личном кабинете покупателя (в списке всех заказов) появится кнопка для оплаты (работает только при стандартных классах личного кабинета если шаблон полностью изменяет классы css, то кнопки может не быть)
 

V. Доступные переменные для настроек текстовых полей (указано где доступны):
Некоторые переменные могут не работать, зависит от версии магазина и места вывода.

~href~ - ссылка на оплату
~order_id~ - номер заказа 
~orderlist~ - таблица с перечнем заказа (товары, количество, цены, сумма и т.д)
~koplate~ - сумма к оплате
~koplate-comis~ - комиссия к оплате
~ostatok~ - осталось оплатить
~oplacheno~ - оплаченная сумма
~itogo~ - сумма того к оплате
~itogobez~ - итого заказа в валюте из настроек модуля (без знака валюты)
~itogozakaz~ - итого заказа в валюте заказа (без знака валюты)
~komis~ - комисcия в процентах
~total-komis~ - посчитанная комиссия от суммы
~plus-komis~ - общая сумма с комиссией
~totals~ - сумма заказа в валюте заказа
~invoice_no~ - номер счета 
~invoice_prefix~ - префикс счета 
~store_id~ - id магазина 
~store_name~ - название магазина 
~store_url~ - url магазина 
~customer_id~ - id покупателя 
~customer_group_id~ - id группы покупателя
~firstname~ - имя 
~lastname~ - фамилия 
~telephone~ - телефон 
~fax~ - факс 
~email~ - почта 
~payment_firstname~ - имя плательщика 
~payment_lastname~ - фамилия плательщика 
~payment_company~ - компания плательщика 
~payment_address_1~ - адрес плательщика 
~payment_address_2~ - адрес2 плательщика 
~payment_postcode~ - индекс плательщика 
~payment_city~ - город плательщика 
~payment_zone_id~ - id гео зоны плательщика 
~payment_zone~ - гео зона плательщика 
~payment_zone_code~ - код зоны плательщика 
~payment_country_id~ - id страны плательщика 
~payment_country~ - страна плательщика 
~payment_iso_code_2~ - iso код плательщика 
~payment_iso_code_3~ - iso код плательщика 
~payment_address_format~ - формат адреса плательщика 
~payment_method~ - метод оплаты 
~payment_code~ - код оплаты    
~shipping_firstname~ - имя для доставки 
~shipping_lastname~ - фамилия для доставки 
~shipping_company~ - компания для доставки 
~shipping_address_1~ - адрес доставки 
~shipping_address_2~ - адрес2 доставки 
~shipping_postcode~ - индекс для доставки 
~shipping_city~ - город доставки 
~shipping_zone_id~ - id гео зоны доставки 
~shipping_zone~ - гео зона доставки 
~shipping_zone_code~ - код зоны доставки 
~shipping_country_id~ - id страны доставки 
~shipping_country~ - страна доставки 
~shipping_iso_code_2~ - iso код доставки 
~shipping_iso_code_3~ - iso код доставки 
~shipping_address_format~ - формат адреса доставки 
~shipping_method~ - метод доставки 
~shipping_code~ - код метода доставки 
~comment~ - комментарий 
~total~ - итого (в валюте по умолчанию) 
~order_status_id~ - id статуса заказа 
~order_status~ - статус заказа 
~language_id~ - id языка 
~language_code~ - код языка 
~language_filename~ - файл языка 
~language_directory~ - дирректория языка 
~currency_id~ - id валюты 
~currency_code~ - код валюты 
~currency_value~ - курс валюты 
~ip~ - ip 
~forwarded_ip~ - переадресованный ip 
~user_agent~ - юзер агент 
~accept_language~ - язык 
~date_modified~ - дата изменения заказа 
~date_added~ - дата создания заказа

Использование полей из Simple (в настройках текстовых полей):
Название берется из вкладки "Настройка полей" строка ID
Внимание! Данный метод только для созданных вами полей, которые вы сами создавали и указывали id, для полей которые вы не создавали работают стандартные переменные из списка выше.


Для Simple 4.x
~paymentsimple4_имяполя~ - поле привязанное к адресу оплаты
~shippingsimple4_имяполя~ - поле привязанное к адресу доставки
~simple4_имяполя~ - поле привязанное к учетной записи покупателя или поле привязанное к методу

Выбор отображения отчества покупателя
Пример: 
Отчество: ~simple4_otchestvo~