Класс новой платежной системы должен наследоваться от системного класса nc_payment_system, описывающего абстрактную платежную систему, который относится к приему платежей и расположен в папке /modules/payment/system/.
Класс содержит следующие свойства и методы, которые могут быть переопределены в классе-потомке:
Название | Тип | Описание |
---|---|---|
$automatic | bool | TRUE — автоматический прием платежа, FALSE — ручная проверка |
$accepted_currencies | array | Коды валют, которые принимает платежная система (трехбуквенные коды ISO 4217) |
$settings | array | Настройки платёжной системы |
$currency_map | array | Автоматический маппинг кодов валют из внешних в принятые в платежной системе |
Название | Аргументы | Описание |
---|---|---|
execute_payment_request | nc_payment_invoice $invoice | Метод для проведения платежа |
on_response | [nc_payment_invoice $invoice] | Коды валют, которые принимает платежная система (трехбуквенные коды ISO 4217) |
validate_payment_request_parameters | - | Проверка параметров для проведения платежа |
validate_payment_callback_response | - | Проверка параметров при поступлении обратного вызова платежной системы |
get_response_value | $param | Возвращает параметр ответа платежной системы |
get_request_form | nc_payment_invoice $invoice, [$show] | Возвращает форму заполнения деталей платежа |
can_send_receipt_data_with_invoice |
- | Возвращает возможность платежной системы отправлять чеки вместе со счётом |
can_send_custom_receipts |
Возвращает возможность платёжной системы отправлять чеки продажи или возврата независимо от операции возврата средств. Если возвращает true, должен быть переопределён метод create_receipts() |
Созданный класс нужно разместить в папке модуля "Инструменты разработчика" /modules/default/ и подключить его в файле functions.inc.php этого же модуля:
nc_core::get_object()->event->add_listener(nc_event::AFTER_MODULES_LOADED, function() { include 'файл_с_классом_платежной_системы.php'; });
После того, как класс создан и подключен, новую платежную систему нужно добавить в список. Для этого перейдите в раздел "Разработка" - "Списки" и выберите список "Платёжные системы". В этот список нужно добавить новый элемент, в котором его названием будет название вашей платежной системы, а значением поля "Дополнительное значение" - полное название ее класса.
Теперь добавленную платежную систему можно включить и настроить на странице "Модули" - "Прием платежей" - "Платежные системы".