Внутренний счет пользователя. Класс csaleuseraccount.
Внутренний счет пользователя может использоваться, к примеру, для оплаты заказа или части заказа бонусами при оплате. Создается внутренний счет пользователя в админке. Рассмотрим все по шагам.
Как создать внутренний счет покупателя в админке bitrix?

Попасть на страницу создания или редактирования внутреннего счета пользователя (покупателя) можно следующим образом: Магазин -> Покупатели -> Счета.
После чего увидим форму добавления счета, она состоит из 2 обязательных полей это:
- Пользователь: здесь мы привязываем уже зарегистрированного пользователя к создаваемому счету.
- Сумма на счете: здесь указываем сумму, которая содержится на внутреннем счете пользователя, а также валюту, созданную в соответствующем разделе сайта.
Рассмотрим способы пополнения внутреннего счета пользователя через api Битрикс.
Класс CSaleUserAccount:
CSaleUserAccount - класс для работы с внутренним счетом пользователя. Приведу выдержку из документации:
Метод | Описание | С версии |
---|---|---|
Delete | Метод удаляет внутренний счет пользователя. | 4.0.6 |
Pay | Метод снимает указанную сумму с внутреннего счета пользователя. | 4.0.6 |
Withdraw | Метод снимает указанную сумму с внутреннего счета пользователя. | 4.0.6 |
UpdateAccount | Метод изменяет сумму на счете пользователя с кодом userID. | 4.0.6 |
GetByID | Метод возвращает ассоциативный массив параметров счета с кодом ID. | 4.0.6 |
GetByUserID | Метод возвращает ассоциативный массив параметров счета с валютой currency для пользователя с кодом userID. | 4.0.6 |
GetList | Метод возвращает результат выборки записей счетов в соответствии со своими параметрами. | 4.0.6 |
Add | Метод добавляет новый счет пользователя в соответствии с параметрами из массива arFields. | 4.0.6 |
Update | Метод изменяет параметры счета пользователя в соответствии с параметрами из массива arFields. | 4.0.6 |
Далее детально и с примером рассмотрим методы класса CSaleUserAccount, которые будут очень полезны это CSaleUserAccount::UpdateAccount и CSaleUserAccount::Withdraw
Метод CSaleUserAccount::UpdateAccount
Этот метод мы будем использовать для того, чтобы начислить бонусы на внутренний счет пользователя. Рассмотрим пример:
<?
require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php");
CSaleUserAccount::UpdateAccount($_POST["user"], $_POST["use"], "BON", "", "");
?>
Здесь первый параметр это id пользователя, которому будем начислять сумму на бонусный счет. Второй параметр это сумма, которая будет начислена на бонусный счет и последний параметр это валюта в которой начислены средства.
Метод CSaleUserAccount::Withdraw
Этот метод мы будем использовать для того, чтобы списать сумму с внутреннего счета пользователя. Рассмотрим пример:
<?
require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php");
CSaleUserAccount::Withdraw($_POST["user"], $_POST["use"], "BON");
?>
Здесь первый параметр это id пользователя, у которого будем снимать сумму со счета. Второй параметр это сумма, которая будет списана с бонусного счета пользователя и последний параметр это валюта в которой будет списана сумма.
В целом все этой информации достаточно, чтобы разобраться с основными моментами по работе с бонусными счетам в Битрикс. Всем удачи и успехов в работе!