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).
Нажимаем в левой верхней части сайта кнопку Создать.
Настройки и опции сгруппированы по вкладкам. Рассмотрим вкладку, связанную с настройкой данных Robokassa:
4.1. Опции метода оплаты
- Тестовый режим - если включен тестовый режим, то никаких реальных перечислений денег не происходит. Этот режим используется для тестирования платежей.
В 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. Настройка оплаты
Настройка налога: При добавлении метода оплаты, по умолчанию ставка не настроена. Нажав на икноку плюса, вы сможете добавить налоговые ставки. Слева берутся значения из настроек магазина, справа – как в Robokassa. Вам нужно выбрать вашу ставку для отправки в Robokassa.
- Отправлять валюту - способ указать валюту, в которой магазин выставляет стоимость заказа. Этот параметр нужен для того, чтобы избавить магазин от самостоятельного пересчета по курсу. Если включено, то плагин отправляет параметр OutSumCurrency и Robokassa показывает полную сумму заказа, конвертированную в рубли по курсу ЦБ на момент оплаты. Код валюты должен быть USD, EUR или KZT.
- Отправлять данные 54-ФЗ - Отправлять данные для чеков (54-ФЗ) в Robokassa. Подробнее.
- Система налогообложения - параметр необходим, только если у вас несколько систем налогообложения.
- Настройка налога - слева - ставка НДС в вашем магазине. Справа - в Robokassa. Пожалуйста, сопоставьте их.
- Способ расчёта – опции для фискализации.
- Предмет расчёта – опции для фискализации.
5. Часто Задаваемые Вопросы
5.1. Что такое 54-ФЗ?
Закон 54-ФЗ «О применении контрольно-кассовой техники» (далее ККТ) регламентирует порядок применения ККТ на территории Российской Федерации. С 1 июля 2017 году вступила в силу поправка в закон 54-ФЗ, которая состоит в изменении схемы работы торговых организаций с налоговыми органами.
Новый порядок применения ККТ предполагает, что данные о продажах с каждого выбитого чека должны передаваться в налоговую инспекцию через Интернет. Однако передача данных происходит не напрямую, а через операторов фискальных данных, с одним из которых предприниматель обязан заключить договор.
Полезные ссылки:
- 54-ФЗ. Что нужно знать клиентам Robokassa
- Варианты решений от Robokassa для приёма оплаты интернет-магазинами по 54-ФЗ
5.2. Плагин не поддерживает округление общей суммы до 0 или 1 знака после запятой. Что такое округление и зачем оно нужно?
В некоторых странах применяется бухгалтерское округление общей суммы заказа при расчёте в Интернет магазинах. Такая норма действует, например, в Чехии, поэтому разработчиком Phoca Cart был заложен данный функционал для универсальности при использовании магазина в разных странах. Логика обработки платежа отличается в различных платёжных системах. При обработке платежа Robokassa оперирует не общей суммой заказа, а суммой всех отдельных товаров в рамках одного заказа, что необходимо для соблюдения закона 54-ФЗ. Поскольку округляется сумма каждого товара, то в результате, при округлении общей суммы заказа она никогда не будет совпадать с суммой всех отдельных товаров. Соответственно, платёж обработан не будет.
При использовании Phoca Cart с Robokassa вам нужно отключить параметры округления суммы (Rounding).
Перейдите в Панель Администрирования > Компоненты > Phoca Cart > Настройки > вкладка "Расчёты" и выставите значение Нет для следующего параметра:
- Rounding Of Total Amount (Calculation) - Нет
5.3. Ошибка: Сумма заказа не совпадает! Пожалуйста, обратитесь к администратору магазина.
Данная ошибка возникает, когда при конвертации валюты произошло расхождение в общей сумме заказа. См.вопрос 5.2. Округление общей суммы заказа
5.4. Оплата проходит, но статус заказа не меняется.
Это означает, что не сработал callback. Проверьте правильность настроек в Личном Кабинете Robokassa. Значения Result URL, Success URL и Fail URL должны соответствовать настройкам плагина.
Обратите внимание, что смена статуса заказа не сработает в случае, если у вас включен тестовый режим работы с Robokassa.
5.5. Как подключить дополнительные способы оплаты?
Управление способами оплаты осуществляется на стороне Robokassa в личном кабинете продавца.