Документация для разработчиков
Темная тема

События платежных систем

События

СобытиеОписание и параметрыС версии
OnSalePsServiceProcessRequestBeforePaid Событие происходит если метод processRequest обработчика платёжной системы отработал без ошибок и требуется изменить статус оплаты.

Параметры
paymentОбъект оплаты.
statusСтатус (Y/N).
pay_system_idИдентификатор платёжной системы.
OnSaleGetHandlerDescription Событие происходит при получении описания платёжной системы. В обработчике события можно дополнить значения ключа CODE.

Параметры
handlerОбработчик платёжной системы.
onSalePsInitiatePaySuccessСобытие происходит в случае успешной инициализации платёжной системы. В обработчике доступен объект оплаты.

Параметры
paymentОбъект оплаты.
20.0.200
onSalePsInitiatePayErrorСобытие происходит в случае ошибки при инициализации платёжной системы. В обработчике доступен объект оплаты и массив ошибок.

Параметры
paymentОбъект оплаты.
errorsмассив ошибок полученный через getErrorMessages с объекта ServiceResult.
20.0.200

Примеры

OnSalePsServiceProcessRequestBeforePaid

use Bitrix\Main;
use Bitrix\Sale\Payment;
Main\EventManager::getInstance()->addEventHandler(
	'sale',
	'OnSalePsServiceProcessRequestBeforePaid',
	'myFunction'
);
function myFunction(Main\Event $event)
{
	/** @var Payment $payment */
	$payment = $event->getParameter('payment');
	/** @var string $status */
	$status = $event->getParameter('status');
	/** @var string $paySystemId */
	$paySystemId = $event->getParameter('pay_system_id');
	/**
	* Произвольный код
	* Например, получение платёжной системы $paySystem = $payment->getPaySystem();
	*/
}

OnSaleGetHandlerDescription

use Bitrix\Main;
use Bitrix\Sale\Payment;
Main\EventManager::getInstance()->addEventHandler(
	'sale',
	'OnSaleGetHandlerDescription',
	'myFunction'
);
function myFunction(Main\Event $event)
{
	/** @var string $handler */
	$handler = $event->getParameter("handler");
	if ($handler === 'my_handler')
	{
		return array(
			'USER_COLUMNS' => array(
				"NAME" => "Пользовательское поле",
				"SORT" => 6000,
				'GROUP' => 'COLUMN_SETTINGS',
			)
		);
	}
	return array();
}

onSalePsInitiatePaySuccess

use Bitrix\Main;
use Bitrix\Sale\Payment;
Main\EventManager::getInstance()->addEventHandler(
	'sale',
	'onSalePsInitiatePaySuccess',
	'myFunction'
);
function myFunction(Main\Event $event)
{
	/** @var Payment $payment */
	$payment = $event->getParameter('payment');
	/**
	* Произвольный код
	*/
}

onSalePsInitiatePayError

use Bitrix\Main;
use Bitrix\Sale\Payment;
Main\EventManager::getInstance()->addEventHandler(
	'sale',
	'onSalePsInitiatePayError',
	'myFunction'
);
function myFunction(Main\Event $event)
{
	/** @var Payment $payment */
	$payment = $event->getParameter('payment');
	/** @var array $errors массив ошибок полученный через getErrorMessages с объекта ServiceResult */
	$errors = $event->getParameter('errors');
	/**
	* Произвольный код
	*/
}

© «Битрикс», 2001-2024, «1С-Битрикс», 2024