TransferMoney

Переводит средства между общими счетами клиентов.

Метод доступен только рекламным агентствам.

Перевод средств выполняется с небольшой задержкой, обычно не превышающей пять минут.

Ограничения

Средства можно перевести с общего счета одного клиента на общий счет другого клиента, при условии что они работают в одной и той же валюте.

В рамках одного вызова операции можно выполнить только один перевод.

Для одного счета возможно не более 3 переводов в день.

Входные данные

Ниже показана структура входных данных в формате JSON.

Внимание. В запрос необходимо включать параметры finance_token и operation_num. Об особенностях формирования токена см. раздел Работа с общим счетом.
{
   "method": "AccountManagement",
   "finance_token": (string),
   "operation_num": (int),
   "param": {
      /* AccountManagementRequest */
      "Action": (string),
      "Transfers": [
         {  /* Transfer */
            "FromAccountID": (int),
            "ToAccountID": (int),
            "Amount": (float),
            "Currency": (string)
         }
         ...
      ]
   }
}

Ниже приведено описание параметров.

Параметр Описание Требуется
Объект AccountManagementRequest
Action Выполняемая операция: TransferMoney. Да
Transfers Массив, содержащий единственный объект Transfer. Да
Объект Transfer
FromAccountID Идентификатор общего счета, с которого списываются средства. Да
ToAccountID Идентификатор общего счета, на который зачисляются средства. Да
Amount

Сумма перевода (в валюте, указанной в параметре Currency). Значение в реальной валюте следует указывать без учета НДС.

Перед списанием/зачислением сумма округляется по математическим правилам с точностью до второго знака после запятой (для всех валют, в том числе тенге).

Доступную для перевода сумму можно узнать с помощью операции Get.

Да
Currency

Валюта, в которой указана сумма.

Возможные значения: RUB, CHF, EUR, KZT, TRY, UAH, USD, BYN. Значение должно совпадать с валютой общего счета, в противном случае возвращается ошибка с кодом 245.

Да

Результирующие данные

Ниже показана структура результирующих данных в формате JSON.

{
   "data": {
      /* AccountManagementResponse */
      "ActionsResult": [
         {  /* AccountActionResult */
            
            "AccountID": (int)
            "Errors": [
               {  /* Error */
                  "FaultCode": (int),
                  "FaultString": (string),
                  "FaultDetail": (string)
               }
               ...
            ]
         }
         ...
      ]
   }
}

Ниже приведено описание параметров.

Параметр Описание
Объект AccountManagementResponse
ActionsResult

Массив объектов AccountActionResult. Каждый объект соответствует элементу входного массива Transfers и содержит:

  • в случае успешного перевода — идентификатор общего счета;
  • в случае ошибки — массив Errors.

Элементы массива следуют в том же порядке, что и объекты входного массива Transfers.

Объект AccountActionResult
AccountID Идентификатор общего счета, с которого списаны средства.
Errors Массив объектов Error — ошибок, возникших при переводе средств.
Объект Error
FaultCode Код ошибки.
FaultString Текст сообщения об ошибке.
FaultDetail Подробное описание причины ошибки.

Примеры входных данных

Python

{
   'Action': 'TransferMoney',
   'Transfers': [
      {
         'FromAccountID': 1327837,
         'ToAccountID': 1327944,
         'Amount': 25000.0,
         'Currency': 'RUB'
      }
   ]
}

PHP

array(
   'Action' => 'TransferMoney',
   'Transfers' => array(
      array(
         'FromAccountID' => 1327837,
         'ToAccountID' => 1327944,
         'Amount' => 25000.0,
         'Currency' => 'RUB'
      )
   )
)

Perl

{
   'Action' => 'TransferMoney',
   'Transfers' => [
      {
         'FromAccountID' => 1327837,
         'ToAccountID' => 1327944,
         'Amount' => 25000.0,
         'Currency' => 'RUB'
      }
   ]
}