Общая информация


Payout API позволяет проводить операции массовых выплат в сторону любых получателей.

Все запросы PayoutAPI используют ключ доступа клиента для идентификации пользователя. Чтобы получить такой ключ необходимо воспользоваться методом getUserToken из PersonalAPI

Ключ имеет срок валидности, поэтому имеет смысл вызывать getUserToken перед вызовом любого метода PayoutApi.

Любой запрос к API:

  1. Возвращается в виде результирующей структуры Response.
  2. Поддерживает два варианта Content-Type: application/json и application/x-www-form-urlencoded.


Схема использования методов


  1. Запрос ключа доступа клиента через PersonalAPI.
  2. Вызов метода создания операции выплаты (напр. CreateBankCardRussiaOperation или CreateQiwiWalletOperation).
  3. Получить успешный ответ и достать из PayoutOperationData идентификатор созданной операции.
  4. Вызвать метод ExecuteOperation и передать ему ранее полученный идентификатор чтобы отправить ранее созданную операцию на обработку.
  5. Проверять статус операции посредством вызова GetOperationState.

Метод CreateBankCardRussiaOperation


Позволяет создать операцию выплаты на карту.

Доступ к методу

URL: https://api.intellectmoney.ru/personal/payout/CreateBankCardRussiaOperation

Доступные HTTP-методы: POST

Требуемый уровень доступа: PCI DSS

Передаваемые параметры

Название

Имя параметра

Обязательный

Тип

Описание

Ключ доступа клиента

UserToken

Да

string

Токен пользователя, по которому проводится его идентификация в системе IntellectMoney.

Номер карты

Pan

Да

string(12,20)

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

Сумма операции

Amount

Да

decimal

Сумма, которая будет зачислена получателю.

Валюта операции

Currency

Да

string(3)

Строковый ISO-код валюты.

ФИО получателя

RecipientName

Нет

string(2,50)

ФИО получателя операции.

Возвращаемый ответ

В ответ возвращается структура Response.

Код операции 0 - в поле Result структуры будет находится информация о созданной операции в виде PayoutOperationData.

Код операции 2 - ошибка, причина ошибки будет содержаться в параметре Desc.

Пример

Пример запроса
POST /personal/payout/CreateQiwiWalletOperation HTTP/1.1
Host: api.intellectmoney.ru
Accept: application/json
Content-Type: application/json

{
    "UserToken": "Obhv/VwGegZjbLobTJAYrAKqyAGN8U7HuLrplb+gjftR9wU3zWdomj6HN/aGKRj2", 
    "Pan": "4111111111111111", 
    "Amount": 50.00, 
    "Currency": "RUB"
}
Пример ответа
{
    "OperationState": {
        "Code": 0,
        "Desc": "Успешно обработана"
    },
    "Result": {
        "State": {
            "Code": 0,
            "Desc": "Успешно обработан."
        },
        "PayoutOperationId": "2cf4b4bc-56cf-4ab6-bf4f-1b2aa9743154",
        "PayoutOperationState": "Created"
    }
}

Метод CreateQiwiWalletOperation


Позволяет создать операцию выплаты на Qiwi кошелек.

Доступ к методу

URL: https://api.intellectmoney.ru/personal/payout/CreateQiwiWalletOperation

Доступные HTTP-методы: POST

Требуемый уровень доступа: Базовый

Передаваемые параметры

Название

Имя параметра

Обязательный

Тип

Описание

Ключ доступа клиента

UserToken

Да

string

Токен пользователя, по которому проводится его идентификация в системе IntellectMoney.

Номер Qiwi кошелька

Account

Да

string

Номер Qiwi кошелька, на который производится зачисление средств; формат 70000000000.

Сумма операции

Amount

Да

decimal

Сумма, которая будет зачислена получателю.

Валюта операции

Currency

Да

string(3)

Строковый ISO-код валюты.

ФИО получателя

RecipientName

Нет

string(2,50)

ФИО получателя операции.

Возвращаемый ответ

В ответ возвращается структура Response.

Код операции 0 - в поле Result структуры будет находится информация о созданной операции в виде PayoutOperationData.

Код операции 2 - ошибка, причина ошибки будет содержаться в параметре Desc.

Пример

Пример запроса
POST /personal/payout/CreateQiwiWalletOperation HTTP/1.1
Host: api.intellectmoney.ru
Accept: application/json
Content-Type: application/json

{
    "UserToken": "Obhv/VwGegZjbLobTJAYrAKqyAGN8U7HuLrplb+gjftR9wU3zWdomj6HN/aGKRj2", 
    "Account": "70000000000", 
    "Amount": 50.00, 
    "Currency": "RUB"
}
Пример ответа
{
    "OperationState": {
        "Code": 0,
        "Desc": "Успешно обработана"
    },
    "Result": {
        "State": {
            "Code": 0,
            "Desc": "Успешно обработан."
        },
        "PayoutOperationId": "55ebbacf-acf1-435b-9691-acd121934678",
        "PayoutOperationState": "Created"
    }
}

Метод ExecuteOperation


Отправить операцию выплаты на обработку.

Доступ к методу

URL: https://api.intellectmoney.ru/personal/payout/ExecuteOperation

Доступные HTTP-методы: POST

Требуемый уровень доступа: Базовый

Передаваемые параметры

Название

Имя параметра

Обязательный

Тип

Описание

Ключ доступа клиента

UserToken

Да

string

Токен пользователя, по которому проводится его идентификация в системе IntellectMoney.

Идентификатор операции выплат

PayoutOperationId

Да

Guid

Идентификатор ранее созданной операции выплат.

Возвращаемый ответ

В ответ возвращается структура Response.

Код операции 0 - в поле Result структуры будет находится информация об операции в виде PayoutOperationData.

Код операции 2 - ошибка, причина ошибки будет содержаться в параметре Desc.

Пример

Пример запроса
POST /personal/payout/ExecuteOperation HTTP/1.1
Host: api.intellectmoney.ru 
Accept: application/json
Content-Type: application/json

{
    "UserToken": "4t+5WKHtcey4Ch7P2jodi3s2B4a36wnEX4pi+xCbimJlYgRpQa4QXJ202MiT4LxG",
    "PayoutOperationId" : "81fa5265-de0b-498d-be37-5d48f4aa3ba1"
}
Пример ответа
{
  "OperationState": {
    "Code": 0,
    "Desc": "Успешно обработана"
  },
  "OperationId": "a654fe39-42eb-4ac3-a3ec-76d148b2ba3a",
  "Result": {
    "State": {
      "Code": 0,
      "Desc": "Успешно обработан."
    },
    "PayoutOperationId": "81fa5265-de0b-498d-be37-5d48f4aa3ba1",
    "PayoutOperationState": "InProcess"
  }
}

Метод GetOperationState


Получить статус операции выплаты.

Доступ к методу

URL: https://api.intellectmoney.ru/personal/payout/GetOperationState

Доступные HTTP-методы: POST

Требуемый уровень доступа: Базовый

Передаваемые параметры

Название

Имя параметра

Обязательный

Тип

Описание

Ключ доступа клиента

UserToken

Да

string

Токен пользователя, по которому проводится его идентификация в системе IntellectMoney.

Идентификатор операции выплат

PayoutOperationId

Да

Guid

Идентификатор ранее созданной операции выплат.

Возвращаемый ответ

В ответ возвращается структура Response.

Код операции 0 - в поле Result структуры будет находится информация об операции в виде PayoutOperationData.

Код операции 2 - ошибка, причина ошибки будет содержаться в параметре Desc.

Пример

Пример запроса
POST /personal/payout/GetOperationState HTTP/1.1
Host: api.intellectmoney.ru
Accept: application/json 
Content-Type: application/json

{
    "UserToken": "Obhv/VwGegZjbLobTJAYrOzJxmECG2ixyR9AoS5SK6JpPK36hnFW4JxGZpAg/45y", 
    "PayoutOperationId": "ad22e55f-7e54-4e3a-b04b-0142a0314376"
}
Пример ответа
{
    "OperationState": {
        "Code": 0,
        "Desc": "Успешно обработана"
    },
    "Result": {
        "State": {
            "Code": 0,
            "Desc": "Успешно обработан."
        },
        "PayoutOperationId": "ad22e55f-7e54-4e3a-b04b-0142a0314376",
        "PayoutOperationState": "InProcess"
    }
}

Метод DeleteOperation


Удалить операцию массовых выплат (Разрешено удалять только операции в статусе MassPaymentOperationState.Created).

Доступ к методу

URL: https://api.intellectmoney.ru/personal/payout/DeleteOperation

Доступные HTTP-методы: POST

Требуемый уровень доступа: Базовый

Передаваемые параметры

Название

Имя параметра

Обязательный

Тип

Описание

Ключ доступа клиента

UserToken

Да

string

Токен пользователя, по которому проводится его идентификация в системе IntellectMoney.

Идентификатор операции выплат

PayoutOperationId

Да

Guid

Идентификатор ранее созданной операции выплат.

Возвращаемый ответ

В ответ возвращается структура Response.

Код операции 0 - в поле Result структуры будет находится результат выполнения операции в виде Boolean.

Код операции 2 - ошибка, причина ошибки будет содержаться в параметре Desc.

Пример

Пример запроса
POST /personal/payout/DeleteOperation HTTP/1.1
Host: api.intellectmoney.ru
Accept: application/json
Content-Type: application/json

{
    "UserToken": "Obhv/VwGegZjbLobTJAYrOzJxmECG2ixyR9AoS5SK6JpPK36hnFW4JxGZpAg/45y", 
    "PayoutOperationId": "81fa5265-de0b-498d-be37-5d48f4aa3ba1"
}
Пример ответа
{
    "OperationState": {
        "Code": 0,
        "Desc": "Успешно обработана"
    },
    "Result": true
}


Структуры PayoutAPI


PayoutOperationData

Структура с данными операции выплат.

НазваниеТипОписание
PayoutOperationIdGuidИдентификатор операции выплаты в системе IntellectMoney.
PayoutOperationStateMassPaymentOperationStateТекущий статус операции.
ErrorMessageStringСообщение о причине ошибке операции (если есть).

MassPaymentOperationState

Перечисление возможных статусов операции выплат.

ЗначениеОписание
CreatedОперация создана.
SentToBankЗапрос на проведение операции отправлен в банк.
InProcessЗаявка принята банком и исполняется.
CompletedОперация успешно завершена.
FailedОшибка обработки.
NotEnoughMoneyУ пользователя недостаточно средств, для совершения операции.
DeletedОперация удалена.

  • No labels