Withdraw
Описание и параметры
double CSaleUserAccount::Withdraw( int userID, double paySum, string payCurrency[, int orderID = 0] );
Метод снимает указанную сумму с внутреннего счета пользователя. Если на внутреннем счете не достаточно средств, то снимается максимально доступная сумма (т.е. все доступные средства). Нестатический метод.
Параметры вызова
| Параметр | Описание |
|---|---|
| userID | Код пользователя. |
| paySum | Снимаемая сумма. |
| payCurrency | Валюта снимаемой суммы. |
| orderID | Код заказа, если снятие денег относится к заказу. |
Возвращаемые значения
Метод возвращает реально снятую со счета сумму или false в случае ошибки.
Замечание: деньги снимаются только со счета той же валюты, которая передается параметром в метод. Счета пользователя в другой валюте не затрагиваются.
Пример использования
<?
// Оплатим полностью или хотя бы частично заказ номер 21 со счета пользователя
$arOrder = CSaleOrder::GetByID(21);
$withdrawSum = CSaleUserAccount::Withdraw(
$arOrder["USER_ID"],
$arOrder["PRICE"],
$arOrder["CURRENCY"],
$arOrder["ID"]
);
if ($withdrawSum > 0)
{
$arFields = array(
"SUM_PAID" => $withdrawSum,
"USER_ID" => $arOrder["USER_ID"]
);
CSaleOrder::Update($arOrder["ID"], $arFields);
if ($withdrawSum == $arOrder["PRICE"])
CSaleOrder::PayOrder($arOrder["ID"], "Y", False, False);
}
?>
© «Битрикс», 2001-2025, «1С-Битрикс», 2025