Логотип

logo.png

Описание

5CMS

Это современная, быстрая и функциональная CMS для интернет-магазинов и сайтов с программой лояльности и встроенной Email-рассылкой. 5CMS - изначально имеет интеграцию с мобильным приложением (iOS и Android), аналогичная возможность есть только у Битрикса.

На сайте CMS


5CMS - это быстрая и функциональная CMS для интернет-магазинов (а также корпоративных сайтов, блогов, порталов и тп).

  • При всем многообразии фунционала CMS очень удобна и проста в администрировании. Для начала работы с ней даже не требуется обучения персонала, достаточно следовать инструкциям в админке.
  • 5CMS, благодаря продуманности дизайна, подойдет, как для крупных магазинов, так и для тех, у кого всего несколько десятков товаров.
  • 5CMS обладает собственной встроенной CRM.
  • 5CMS - единственная система управления сайтами, чей дизайн и структура навигации подстраиваются под то, что вы продаете товары или услуги.
  • А еще 5CMS соответствует требованиям 54-ФЗ и 152-ФЗ.
  • 5CMS обладает высокой нагрузоустойчивостью и комфортно себя чувствует с большим кол-вом товаров (>28 тыс) и > 300 категорий даже на обычном хостинге. На простом виртуальном хостинге CMS выдерживает сотни одновременных посетителей не создавая нагрузки на сервер и не заставляя никого ждать.

Платежные модули лежат в папке:

/payment/

В /payment/IntellectMoney/ находятся всего 4 файла:

  • IntellectMoney.php - отправка запроса с информацией о заказе в платежную систему (в т.ч. и фискальных данных)
  • callback.php - обработка ответа платежной системы, проверка приходящих данных, отправка писем пользователю и админку, а также смена статуса заказа на оплачен
  • settings.xml - настройки для вывода полей для заполнения в админке и настройки для использования в платежном модуле типа секретного ключа, url-ов и т.п.
  • TinkoffMerchantAPI.php - необязательный класс взаимодействия с API платежной системы, зачастую разработчики ограничиваются первыми тремя файлами

ДОБАВЛЕНИЕ НОВОЙ ПЛАТЕЖНОЙ СИСТЕМЫ:

Для создания нового платежного модуля достаточно:

1) Создать копию одного из уже имеющихся платежных модулей и переименовать название папки системы онлайн-оплаты,

2) По полученному образцу переделать обмен данными с API согласно документации платежной системы

Взаимодействие с CMS:

  • Подключение к API CMS:

require_once('api/Fivecms.php');

  • Получение информации о заказе:

$order = $this->orders->get_order(intval(OrderId));

  • Способ оплаты:

$payment_method = $this->payment->get_payment_method($order->payment_method_id);

  • Валюта оплаты:

$payment_currency =  $this->money->get_currency(intval($payment_method->currency_id));

  • Настройки платежного модуля:

$settings = $this->payment->get_payment_settings($payment_method->id);

  • Сумма заказа с конвертацией в нужную валюту:

$amount = $this->money->convert($order->total_price, $payment_method->currency_id, false);

  • Получение массива товаров в заказе:

$purchases = $this->orders->get_purchases(array('order_id' => intval($order->id)))

* для версий CMS начиная с v22-3-4 рекомендуем использовать вместо него следующий код с уже нормализованными ценами:

$purchases = $this->payment->normalize((int)$order->id);

для более старых версий нужно добавить функцию нормализации цены в одноименный класс API.

  • Если заказ успешно оплачен:

// Ставим статус оплачен и начисляем баллы
$this->orders->set_pay(intval($order->id));

// Спишем товары со склада
$this->orders->close(intval($order->id));

// Отправляем уведомление администратору
$this->notify->email_order_admin(intval($order->id));
// Отправляем уведомление пользователю
$this->notify->email_order_user(intval($order->id));

3) Не забудьте передать в фискальные данные информацию о доставке (если у доставки не стоит метки "оплачивается отдельно/separate_delivery" и она > 0)

if($order->delivery_id && !$order->separate_delivery && $order->delivery_price > 0) {
    $delivery = $this->delivery->get_delivery($order->delivery_id);
    ...
}

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

$purchases = $this->payment->normalize((int)$order_id);

5) Необходимо обеспечить поддержку ключевых версий PHP 7.4 и 8.1

6) Затем залить в директорию /payment/

После этого новый способ оплаты станет доступен в:

Админка > Настройки > Оплата : Добавить способ оплаты

Функция

2.3.8

2.0.0

1.0.0

Холдирование денежных средствДАНЕТНЕТ
Частичное расхолдированиеНЕТНЕТНЕТ
Указание адреса при успешной оплатеДАДАДА
Указание адреса при неуспешной оплатеДАДАДА
Передача хеша в ИнтеллектМаниДАДАДА
Использование тестового режимаДАНЕТНЕТ
Задание способа оплаты вручнуюНЕТНЕТНЕТ
Генерация параметров для выставления чеков в онлайн кассеДАНЕТНЕТ
Выбор статусов заказа в настройках модуляНЕТНЕТНЕТ
Работа с личным кошельком IntellectMoneyНЕТНЕТНЕТ

Модуль интегрирован в систему. Описание настройки смотрите на странице CMS https://5cms.ru/article/payment.

Техническая поддержка осуществляется пн.-пт. с 9:00 до 18:00 по почте ts@intellectmoney.ru