Skip to main content

Robokassa для Phoca Cart

1. Общая информация

Данный плагин оплаты обеспечивает интеграцию Интернет-магазина Phoca Cart c популярной российской системой приёма оплаты за товары и услуги Robokassa, обеспечивающей поддержку свыше 40 различных способов оплаты, а также соответствующий требованиям безопасности PCI DSS. Кроме того, Robokassa предлагает решение с 54-ФЗ и выполняет требования о передаче фискальных данных чеков в налоговую службу. Подробнее: закон 54-ФЗ

Системные требования:
  • Joomla 4.2+
  • Phoca Cart 4.0+
  • Валидный SSL сертификат
  • cURL
  • PHP 8.0+

Для корректной работы метода оплаты Robokassa ваш хостинг должен соответствовать следующим техническим характеристикам: cURL, PHP 8.0 и выше!
Также на вашем сайте должен быть установлен валидный SSL сертификат, обеспечивающий безопасную передачу данных по шифрованному каналу.

2. Установка плагина и настройка обновлений

Установка плагина осуществляется через установщик маркетплейса SovMart.

Обновление всех расширений осуществляется в несколько кликов также через установщик SovMart. В настройках установщика вам указать ключ, который можно взять в личном кабинете маркетплейса. Ознакомьтесь, как установить плагин и правильно настроить обновление расширений в соответствующей статье:

Установка и настройка обновлений расширений в несколько кликов

3. Настройка аккаунта Robokassa

Для того, чтобы принимать платежи при помощи Robokassa, вы должны зарегистрироваться по данной ссылке и заполнить форму, приложив сканы документов. После одобрения заявки на ваш E-mail придут данные продавца, которые понадобятся для настройки метода оплаты в Phoca Cart.

3.1. Параметры для живых платежей

Параметры для живых платежей
  • Алгоритм расчета хеша – выберите MD5
  • Пароль #1 – сгенерируйте и запишите пароль
  • Пароль #2 – сгенерируйте и запишите пароль
  • Result Url – формат: index.php?option=com_phocacart&view=response&task=response.paymentnotify&type=robokassa&tmpl=component
  • Метод отсылки данных по Result Url – выберите POST
  • СМС оповещение на телефон – опционально
  • Success Url – формат: index.php?option=com_phocacart&view=response&task=response.paymentreceive&type=robokassa&tmpl=component
  • Метод отсылки данных по Success Url – выберите POST
  • Fail Url – формат: index.php?option=com_phocacart&view=response&task=response.paymentcancel&type=robokassa&tmpl=component
  • Метод отсылки данных по Fail Url – выберите POST

Метод отсылки данных везде должен быть выставлен как POST!

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

https://site.ru/index.php?option=com_phocacart&view=response&task=response.paymentnotify&type=robokassa&tmpl=component

3.2. Параметры проведения тестовых платежей

Параметры проведения тестовых платежей
  • Алгоритм расчета хеша – выберите MD5
  • Пароль #1 - сгенерируйте и запишите пароль
  • Пароль #2 - сгенерируйте и запишите пароль

4. Добавление метода оплаты в Phoca Cart

После успешной установки плагина нам нужно добавить новый платёжный метод в Phoca cart. Для этого перейдём в раздел Оплата (Payments).

Добавление метода оплаты в Phoca Cart

Нажимаем в левой верхней части сайта кнопку Создать.

Добавление способа оплаты в Phoca Cart

Настройки и опции сгруппированы по вкладкам. Рассмотрим вкладку, связанную с настройкой данных Robokassa:

4.1. Опции метода оплаты

Опции метода оплаты Phoca Cart
  • Тестовый режим - если включен тестовый режим, то никаких реальных перечислений денег не происходит. Этот режим используется для тестирования платежей.

В Phoca cart имеется опция округления суммы. Данный платёжный метод не поддерживает настройку округления общей суммы до 0 и 1 знака после запятой. Удостоверьтесь, что данная опция отключена! Подробнее здесь.

4.1.1. Статусы заказа

  • Платёж завершён - выберите статус заказа, который будет применён в результате успешного выполнения платёжной транзакции.
  • Ошибочный платёж - выберите статус заказа, который будет применён в результате неуспешного платежа или ошибки во время обработки платёжной транзакции.
  • Платёж отменён - выберите статус заказа, который будет применён в результате отменённого платежа.

4.1.2. Параметры магазина

  • ID магазина - укажите идентификатор магазина. Он доступен в настройках магазина Robokassa (см.личный кабинет).
  • Алгоритм хеша - укажите алгоритм расчёта хеша. Он доступен в настройках магазина Robokassa. Значение должно быть MD5!
  • Пароль #1 - укажите пароль #1. Он доступен в настройках магазина Robokassa.
  • Пароль #1 - укажите пароль #2. Он доступен в настройках магазина Robokassa.
  • Result/Success/Fail URL - скопируйте эту ссылку в поля Result URL, Success URL и Fail URL настроек магазина Robokassa.

4.1.3. Параметры тестовых платежей

  • Параметры тестовых платежей - укажите алгоритм расчёта хеша. Он доступен в настройках магазина Robokassa.
  • Пароль #1 - укажите пароль #1. Он доступен в параметрах проведения тестовых платежей настроек магазина Robokassa.
  • Пароль #2 - укажите пароль #2. Он доступен в параметрах проведения тестовых платежей настроек магазина Robokassa.
  • Алгоритм хеша - укажите алгоритм расчёта хеша. Он доступен в настройках магазина Robokassa. Значение должно быть MD5!

4.1.4. Настройка оплаты

Настройка оплаты - налоги и данные для чеков 54-ФЗ

Настройка налога: При добавлении метода оплаты, по умолчанию ставка не настроена. Нажав на икноку плюса, вы сможете добавить налоговые ставки. Слева берутся значения из настроек магазина, справа – как в Robokassa. Вам нужно выбрать вашу ставку для отправки в Robokassa.

  • Отправлять валюту - способ указать валюту, в которой магазин выставляет стоимость заказа. Этот параметр нужен для того, чтобы избавить магазин от самостоятельного пересчета по курсу. Если включено, то плагин отправляет параметр OutSumCurrency и Robokassa показывает полную сумму заказа, конвертированную в рубли по курсу ЦБ на момент оплаты. Код валюты должен быть USD, EUR или KZT.
  • Отправлять данные 54-ФЗ - Отправлять данные для чеков (54-ФЗ) в Robokassa. Подробнее.
  • Система налогообложения - параметр необходим, только если у вас несколько систем налогообложения.
  • Настройка налога - слева - ставка НДС в вашем магазине. Справа - в Robokassa. Пожалуйста, сопоставьте их.
  • Способ расчёта – опции для фискализации.
  • Предмет расчёта – опции для фискализации.

5. Часто Задаваемые Вопросы

5.1. Что такое 54-ФЗ?

Закон 54-ФЗ «О применении контрольно-кассовой техники» (далее ККТ) регламентирует порядок применения ККТ на территории Российской Федерации. С 1 июля 2017 году вступила в силу поправка в закон 54-ФЗ, которая состоит в изменении схемы работы торговых организаций с налоговыми органами.

Новый порядок применения ККТ предполагает, что данные о продажах с каждого выбитого чека должны передаваться в налоговую инспекцию через Интернет. Однако передача данных происходит не напрямую, а через операторов фискальных данных, с одним из которых предприниматель обязан заключить договор.

Полезные ссылки:

5.2. Плагин не поддерживает округление общей суммы до 0 или 1 знака после запятой. Что такое округление и зачем оно нужно?

В некоторых странах применяется бухгалтерское округление общей суммы заказа при расчёте в Интернет магазинах. Такая норма действует, например, в Чехии, поэтому разработчиком Phoca Cart был заложен данный функционал для универсальности при использовании магазина в разных странах. Логика обработки платежа отличается в различных платёжных системах. При обработке платежа Robokassa оперирует не общей суммой заказа, а суммой всех отдельных товаров в рамках одного заказа, что необходимо для соблюдения закона 54-ФЗ. Поскольку округляется сумма каждого товара, то в результате, при округлении общей суммы заказа она никогда не будет совпадать с суммой всех отдельных товаров. Соответственно, платёж обработан не будет.

При использовании Phoca Cart с Robokassa вам нужно отключить параметры округления суммы (Rounding).

Перейдите в Панель Администрирования > Компоненты > Phoca Cart > Настройки > вкладка "Расчёты" и выставите значение Нет для следующего параметра:

  • Rounding Of Total Amount (Calculation) - Нет
Rounding Of Total Amount (Calculation) - Нет

5.3. Ошибка: Сумма заказа не совпадает! Пожалуйста, обратитесь к администратору магазина.

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

5.4. Оплата проходит, но статус заказа не меняется.

Это означает, что не сработал callback. Проверьте правильность настроек в Личном Кабинете Robokassa. Значения Result URL, Success URL и Fail URL должны соответствовать настройкам плагина.

Обратите внимание, что смена статуса заказа не сработает в случае, если у вас включен тестовый режим работы с Robokassa.

5.5. Как подключить дополнительные способы оплаты?

Управление способами оплаты осуществляется на стороне Robokassa в личном кабинете продавца.