Внутренний счет пользователя. Класс csaleuseraccount.

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

Как создать внутренний счет покупателя в админке bitrix?

Как создать внутренний счет покупателя в админке 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

Этот метод мы будем использовать для того, чтобы начислить бонусы на внутренний счет пользователя. Рассмотрим пример:

1
2
3
4
<?
	require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php");
	CSaleUserAccount::UpdateAccount($_POST["user"], $_POST["use"], "BON", "", "");
?>

Здесь первый параметр это id пользователя, которому будем начислять сумму на бонусный счет. Второй параметр это сумма, которая будет начислена на бонусный счет и последний параметр это валюта в которой начислены средства.

Метод CSaleUserAccount::Withdraw

Этот метод мы будем использовать для того, чтобы списать сумму с внутреннего счета пользователя. Рассмотрим пример:

1
2
3
4
<?
	require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php");
	CSaleUserAccount::Withdraw($_POST["user"], $_POST["use"], "BON");
?>

Здесь первый параметр это id пользователя, у которого будем снимать сумму со счета. Второй параметр это сумма, которая будет списана с бонусного счета пользователя и последний параметр это валюта в которой будет списана сумма.

В целом все этой информации достаточно, чтобы разобраться с основными моментами по работе с бонусными счетам в Битрикс. Всем удачи и успехов в работе!