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.

Да
Параметр Описание Требуется
Объект 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 Подробное описание причины ошибки.
Параметр Описание
Объект 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'
      }
   ]
}