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

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
Наверх