Page tree

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


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

Для того, чтобы иметь возможность совершать запросы описанные в этой документации, Вам необходимо иметь доступ к API (см. Получение доступа к API).

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

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

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

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


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


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

Метод CreateOperation


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

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

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

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

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

Правило формирования заголовка Sign: UserToken::PreferenceType::Pan::Account::BankId::Amount::Currency::RecipientName::EshopId::signSecretKey

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

Название

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

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

Тип

Описание

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

UserToken

Да

string

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

Способ выплаты

PreferenceType

Да

string

Способ массовых выплат (структура PreferenceType).

Номер карты

Pan

Да, если поставщик BankCardRussia

string(12,20)

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

Счет

Account

Да, если поставщик QiwiWallet, Sbp

string

Номер Qiwi кошелька или номер телефона СБП в зависимости от поставщика.

Банк СБП

BankId

Да, если поставщик Sbp

string

Номер банка СБП, можно получить по ссылке.

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

Amount

Да

decimal

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

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

Currency

Да

string(3)

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

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

RecipientName

Нет

string(2,50)

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

ID магазина

EshopId

Нет

int

ID магазина

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

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

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

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

Пример

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

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

Метод ExecuteOperation


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

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

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

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

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

Правило формирования заголовка Sign: UserToken::PayoutOperationId::signSecretKey

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

Название

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

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

Тип

Описание

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

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

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

Правило формирования заголовка Sign: UserToken::PayoutOperationId::signSecretKey

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

Название

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

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

Тип

Описание

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

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

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

Правило формирования заголовка Sign: UserToken::PayoutOperationId::signSecretKey

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

Название

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

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

Тип

Описание

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

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Операция удалена

PreferenceType

ЗначениеОписание
OutBankCardВыплата на банковскую карту
OutQiwiWalletВыплата на Qiwi кошелек
OutSbpВыплаты на СБП





  • No labels