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

UpdateAccount

Описание и параметры

int
CSaleUserAccount::UpdateAccount(
	int userID, 
	double sum, 
	string currency[, 
	string description = ""[,
	int orderID = 0[,
	string notes = ""]]]
);

Метод изменяет сумму на счете пользователя с кодом userID. Метод статический.

Параметры вызова

ПараметрОписание
userID Код пользователя.
sum Величина изменения суммы на счете. Для увеличения суммы на счете величина должна быть со знаком "+" или без знака, а для уменьшения - со знаком "-". 
currency Валюта суммы.
description Описание причины изменения суммы.
orderID Код заказа, если изменение суммы относится к заказу.
notes Произвольное текстовое описание.

Возвращаемые значения

Метод возвращает код пользовательского счета или false в случае ошибки.

Замечания:
  • Деньги снимаются только со счета той же валюты, которая передается параметром в метод. Счета пользователя в другой валюте не затрагиваются.
  • Если счета в данной валюте раньше у пользователя не было, то он автоматически создастся (и будет возвращен код созданного счета).

Пример использования

<?
// Напишем функцию обратного вызова, которая будет вызываться при изменении
// флага "Доставка разрешена" заказа и добавлять (или снимать) 100 USD на счет

function MyDeliveryOrderCallback($productID, $userID, $bPaid, $orderID)
{
	global $DB;

	// Обработаем входные параметры
	$productID = IntVal($productID);    // Код заказанного товара
	$userID = IntVal($userID);  // Код пользователя-покупателя
	$bPaid = ($bPaid ? True : False);   // Устанавливается или снимается флаг доставки
	$orderID = IntVal($orderID);    // Код заказа

	if ($userID <= 0)
		return False;

	if ($orderID <= 0)
		return False;

	// Внесем (снимем) деньги на счет
	if (!CSaleUserAccount::UpdateAccount(
		$userID,
		($bPaid ? 100 : -100),
		"USD",
		"MANUAL",
		$orderID
	))
	return False;

	return True;
}
?>


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