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-2025, «1С-Битрикс», 2025