Класс Models_Payment
Реализует логику взаимодействия с новой системой оплат.
Методы со знаком * содержат хуки
array | getPayments() |
Возвращает все оплаты новой системы. |
array|null | getPayment() |
Возвращает оплату по заданному условию.
$payments = Models_Payment::getPayment('WHERE `rate` > 0', true);
|
array|null | getPaymentById() |
Возвращает оплату по её id. |
array|null | getPaymentByCode() |
Возвращает оплату по её коду. |
array|null | getPaymentByPlugin() |
Возвращает оплату по её плагину. |
bool | updatePayment() |
Обновление оплаты. Метод используется для изменения оплаты системой. Например, при редактировании оплаты через административную панель. Изменять оплату в плагине рекомендуется напрямую в базе данных.
$result = Models_Payment::updatePayment(1002, [ |
bool | createCustomPayment() |
Создаёт пользовательскую оплату (не привязанную к плагину).
$result = Models_Payment::createCustomPayment([ |
bool | addPayment() |
Создаёт новую оплату (из плагина)
$defaultParams = [ |
string | mergeParams() |
Задаёт настройкам оплаты новые значения.
$newParamsJson = Models_Payment(1066, [ |
string | getPaymentsByDeliveryId() |
Используется при AJAX запросе, возвращает html список способов оплаты в зависимости от выбранного способа доставки. |
array | getDeliveries() |
Возвращает массив доставок. |
string | getPaymentForm() |
Создаёт событие отрисовки формы оплаты для конкретной оплаты. |
array | getPaymentParams() |
Возвращает подготовленный список параметров оплаты. |
array | handleRequest() * |
Создаёт событие запроса к оплатам. Срабатывает когда от банков приходит вебхук (нотификация), чтобы плагины оплат могли их обработать. |
bool | loger() |
Метод записывает лог оплаты. Логи, записанные с использованием этого метода доступны для скачивания в настройках оплаты только пользователям с полным доступом к настройкам.
$url = 'api.somebank.domainzone/merchant'; |
bool | isLogsExists() |
Проверка существования логов по коду оплаты. |
bool | togglePaymentLog() |
Переключение логирования оплаты. |
bool | clearLogs() |
Удаляет логи оплаты. |
void | downloadLogs() |
Отправляет на скачивание логи оплаты. |
bool | disablePayment() |
Отключает оплату. |
bool | deletePluginPayment() * |
Удаляет оплату и отключает / снимает с аренды плагин оплаты. |
bool | checkPaymentOutdated() |
Проверка, отосится ли оплата к устаревшей или новой системе. |
array | getPaymentsIcons() |
Возвращает иконки оплат новой системы |
Метод
array getPayments (bool $withDeliveries = false, bool $decryptParams = false)
Параметры
Описание
Возвращает все оплаты новой системы.
Метод
array|null getPayment (string $whereClause, string $decryptParams = false)
Параметры
Описание
Возвращает оплату по заданному условию.
$payments = Models_Payment::getPayment('WHERE `rate` > 0', true);
Метод
array|null getPaymentById (int $id, string $decryptParams = false)
Параметры
Описание
Возвращает оплату по её id.
Метод
array|null getPaymentByCode (string $code, string $decryptParams = false)
Параметры
Описание
Возвращает оплату по её коду.
Метод
array|null getPaymentByPlugin (string $plugin, string $decryptParams = false)
Параметры
Описание
Возвращает оплату по её плагину.
Метод
bool updatePayment (int $id, array $data, string $pluginCode)
Параметры
Описание
Обновление оплаты.
Метод используется для изменения оплаты системой. Например, при редактировании оплаты через административную панель.
Изменять оплату в плагине рекомендуется напрямую в базе данных.
$result = Models_Payment::updatePayment(1002, [
'name' => 'Тестовая оплата',
'public_name' => 'Тестовая оплата',
'activity' => 0,
'deliveryMethod' => [3,4,7]
], 'PLUG688');
Метод
bool createCustomPayment ($data)
Параметры
Описание
Создаёт пользовательскую оплату (не привязанную к плагину).
$result = Models_Payment::createCustomPayment([
'name' => 'Тестовая оплата',
'public_name' => 'Тестовая оплата',
'activity' => 0,
'description' => 'Примечание для тестовой оплаты',
'rate' => 0,
'permission' => 'fiz',
'icon' => 'https://mysite.domainzone/uploads/payment.png'
]);
Метод
bool addPayment (string $code, string $name, string $publicName, string $plugin, array $defaultParams, string $icon, int $logs, array $urls, float $rate, string $permission = fiz, bool $disablePayment = true)
Параметры
Описание
Создаёт новую оплату (из плагина)
$defaultParams = [
[
'name' => 'stringOption',
'title' => 'Текстовая настройка',
'type' => 'text',
'value' => '',
'tip' => 'Подсказка для текстовой настройки',
],
[
'name' => 'cryptOption',
'title' => 'Шифруемая текстовая настройка',
'type' => 'crypt',
'value' => '',
],
[
'name' => 'checkboxOption',
'title' => 'Чекбокс-настройка',
'type' => 'checkbox',
'value' => false,
],
[
'name' => 'selectOption',
'title' => 'Настройка с выбором',
'type' => 'select',
'value' => 'option1',
'options' => [
[
'name' => 'option1',
'title' => 'Первый вариант',
],
[
'name' => 'option2',
'title' => 'Второй вариант',
],
]
],
[
'name' => 'multiSelectOption',
'title' => 'Настройка с множественным выбором',
'type' => 'multiselect',
'values' => ['option2'],
'options' => [
[
'name' => 'option1',
'title' => 'Первый вариант',
],
[
'name' => 'option2',
'title' => 'Второй вариант',
],
]
],
];
$urls = [
[
'type' => 'info',
'title' => 'Result URL',
'link' => SITE.'/payment?payment=yourpayment&pay=result',
],
[
'type' => 'success',
'title' => 'Success URL',
'link' => SITE.'/payment?payment=yourpayment&pay=success',
],
[
'type' => 'fail',
'title' => 'Fail URL',
'link' => SITE.'/payment?payment=yourpayment&pay=fail',
],
];
$result = Models_Payment::addPayment(
'payment-example',
'Тестовая оплата',
'Тестовая оплата',
'payment-example',
$defaultParams,
'https://mysite.domainzone/uploads/payment.png',
$urls,
0,
'yur',
true
);
Метод
string mergeParams (int $id, array $newParams)
Параметры
Описание
Задаёт настройкам оплаты новые значения.
$newParamsJson = Models_Payment(1066, [
'stringOption' => 'Новое значение',
'checkboxOption' => true,
'multiselectOption' => [option1, option2],
]);
Метод
string getPaymentsByDeliveryId ($deliveryId, $customer, $nojson = false, $countDeliv)
Параметры
Описание
Используется при AJAX запросе,
возвращает html список способов оплаты в зависимости от
выбранного способа доставки.
Метод
string getPaymentForm (int $paymentId, int $orderId)
Параметры
Описание
Создаёт событие отрисовки формы оплаты для конкретной оплаты.
Метод
array getPaymentParams (string $code, bool $decrypt = false)
Параметры
Описание
Возвращает подготовленный список параметров оплаты.
Метод
array handleRequest ()
Результат работы метода можно изменить хуком: Models_Payment_handleRequest
Описание
Создаёт событие запроса к оплатам. Срабатывает когда от банков приходит вебхук (нотификация), чтобы плагины оплат могли их обработать.
Метод
bool loger (string $code, string $action, Метод записывает $content)
Параметры
Описание
Метод записывает лог оплаты. Логи, записанные с использованием этого метода доступны для скачивания в настройках оплаты только пользователям с полным доступом к настройкам.
$url = 'api.somebank.domainzone/merchant';
$request = [
'action' => 'getPaymentLink',
'summ' => 17500
];
$response = ApiLib::sendRequest($url, $request);
$logData = [
'url' => $url,
'request' => $request,
'response' => $response,
];
Models_Payment::loger('payment-example', 'getPaymentLink', $logData);
Метод
bool isLogsExists (string $code)
Параметры
Описание
Проверка существования логов по коду оплаты.
Метод
bool togglePaymentLog (string $code, bool $active)
Параметры
Описание
Переключение логирования оплаты.
Метод
bool clearLogs (string $code)
Параметры
Описание
Удаляет логи оплаты.
Метод
void downloadLogs (string $code)
Параметры
Описание
Отправляет на скачивание логи оплаты.
Метод
bool disablePayment ($id)
Параметры
Описание
Отключает оплату.
Метод
bool deletePluginPayment (string $code, string $pluginCode)
Параметры
Результат работы метода можно изменить хуком: Models_Payment_deletePluginPayment
Описание
Удаляет оплату и отключает / снимает с аренды плагин оплаты.