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


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. Вызов метода создания операции выплаты (напр. CreateBankCardRussiaOperation или CreateQiwiWalletOperation).
  3. Получить успешный ответ и достать из PayoutOperationData идентификатор созданной операции.
  4. Вызвать метод ExecuteOperation и передать ему ранее полученный идентификатор чтобы отправить ранее созданную операцию на обработку.
  5. Проверять статус операции посредством вызова GetOperationState.

Метод CreateOperation


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

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

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

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

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

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

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

Название

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

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

Тип

Описание

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

UserToken

Да

string

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

Номер карты

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)

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

Поставщик

ProviderType

Да

string

Поставщик массовых выплат (структура ProviderType).

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

В ответ возвращается структура 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", 
    "Pan": "4111111111111111", 
    "Amount": "50.00", 
    "Currency": "RUB", 
    "RecipientName": "Иванов Иван Иванович", 
    "ProviderType": 0  
}
Пример ответа
{
    "OperationState": {
        "Code": 0,
        "Desc": "Успешно обработана"
    },
    "Result": {
        "State": {
            "Code": 0,
            "Desc": "Успешно обработан."
        },
        "PayoutOperationId": "2cf4b4bc-56cf-4ab6-bf4f-1b2aa9743154",
        "PayoutOperationState": "Created"
    }
}

Метод CreateBankCardRussiaOperation (метод устарел, используйте CreateOperation)


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

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

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

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

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

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

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

Название

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

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

Тип

Описание

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

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 (метод устарел, используйте CreateOperation)


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

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

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

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

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

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

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

Название

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

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

Тип

Описание

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

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

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

Правило формирования заголовка 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Операция удалена.

ProviderType

ЗначениеОписание
BankCardRussiaВыплата на карту РФ.
QiwiWalletВыплата на Qiwi кошелек.
SbpВыплаты на СБП.





  • No labels