Файл возвращает анонимный класс с методами:
формирует дополнительные поля с информацией
/*
$Invoice - массив с данными платежной квитанции
$infopay - массив с дополнительными параметрами платежа
$more_data - массив с дополнительными полями квитанции
*/
public function prepay( array $Invoice, array|bool $infopay, array &$more_data )
{
$more_data["Оплата за:"] = "покупка товара {$infopay['params']['title']}";
}
проверяет дополнительные параметры (может изменять их) перед совершением платежа и оказанием услуги
в случаи ошибки - вызывает исключение
/*
$Invoice - массив с данными платежной квитанции
&$infopay - массив с дополнительными параметрами платежа
*/
public function prepay_check( array $Invoice, array|bool &$infopay )
{
if( ! $infopay['params']['post_id'] )
{
throw new Exception("Товар не найден");
}
}
возвращает массив с описанием платежа для истории движения средств
должен вернуть: [string 'Описание платежа', {ID}]
/*
$infopay - массив с дополнительными параметрами платежа
*/
public function desc(array $infopay = [])
{
return [
'Оплата услуги',
$infopay['params']['post_id']
];
}
процесс оплаты заказа, выполняется перед списанием средств, но после всех проверок
/*
$Invoice - массив с данными платежной квитанции
$API - экземпляр [api класса](https://dle-billing.ru/doc/api)
*/
public function pay(array $Invoice, BillingAPI $API)
{
$API->db->query(Предоставить оплаченную услугу);
}