H2H

Выполнение действия по этапам сделки

Песочница
POST https://sandbox.alfabank.ru/api/na/jp/v1/deals/steps
Пром
POST https://baas.alfabank.ru/api/na/jp/v1/deals/steps
Scope

deals

Описание

Метод позволяет создать и завершить этап сделки.

Создание этапа сделки

После регистрации сделки необходимо создать этапы сделки для совершения финансовых операций. Этап сделки можно создать только для сделок в статусе DRAFT.

  • •
    Если сделка предполагает совершение переводов денежных средств одновременно всем реципиентам, то достаточно создать один этап сделки.
  • •
    Если переводы денежных средств должны совершаться последовательно в несколько этапов, то следует создать соответствующее количество этапов сделки.
Завершение этапа сделки

При наступлении момента проведения расчётов по этапу сделки необходимо инициировать завершение этапа сделки. При завершении этапа сделки происходят все финансовые операции между участниками этапа сделки и он переходит в статус COMPLETED.

  • •
    Если при добавлении реципиента в этап сделки был проставлен признак keepOnNominalAccount = false, то денежные средства сперва переводятся с захолдированного кошелька депонента на основной и налоговый (если была передана налоговая сумма при добавлении реципиента в этап сделки) кошельки реципиента (без перевода денежных средств с номинального счёта), затем холдируются на кошельках реципиента, а после этого производится выплата по платёжным реквизитам реципиента с переводом денежных средств с номинального счёта.
  • •
    Если при добавлении реципиента в этап сделки был проставлен признак keepOnNominalAccount = true, то денежные средства переводятся с захолдированного кошелька депонента на основной и налоговый (если была передана налоговая сумма при добавлении реципиента в этап сделки) кошельки реципиента без перевода денежных средств с номинального счёта.

Завершить этап сделки можно только после подтверждения сделки.

Параметры запроса
HEADERS
Атрибут
Описание
Authorization
stringrequired
Accept
stringrequired

application/json

Content-Type
stringrequired

application/json

BODY
Атрибут
Описание
dealId
stringrequired

Идентификатор сделки

stepId
stringrequired

Идентификатор этапа сделки

action
stringrequired

Действие по этапу сделки. Возможные значения:

  • •
    CREATE - создать этап сделки;
  • •
    COMPLETE - завершить этап сделки
distributionMode
stringoptional

Режим этапа сделки. Передаётся только при создании этапа сделки. По умолчанию ONE_TO_MANY. Возможные значения:

  • •
    ONE_TO_MANY - 1 депонент, N реципиентов;
  • •
    MANY_TO_ONE - N депонентов, 1 реципиент
description
stringoptional

Описание этапа сделки. Передаётся только при создании этапа сделки

array of objectsrequired

Электронная подпись УЛ клиента

base64Encoded
stringrequired

Значение электронной подписи, закодированное в Base64

signatureType
stringrequired

Тип электронной подписи. Возможные значения:

  • •
    RSA - RSA;
  • •
    KEP - КЭП
Пример запроса
Язык
1curl --location 'https://baas.alfabank.ru/api/na/jp/v1/deals/steps' \
2--header 'Authorization: Bearer {access-token}' \
3--header 'Content-Type: application/json' \
4--header 'Accept: application/json' \
5--data '{
6  "dealId": "ab9cbb96-360a-4462-a683-955cc29f7f54",
7  "stepId": "ab9cbb96-360a-4462-a683-955cc29f7f54",
8  "action": "CREATE",
9  "distributionMode": "ONE_TO_MANY",
10  "description": "Этап 1",
11  "digestSignatures": [
12    {
13      "base64Encoded": "SEwHwYDVQQDExhDUllQVE8tUFJPIFRlc3QgQ2VudGVyIDICExIAVH4YMX0u3fEONSkAAQBUfhgwCgYIKoUDBwEBAQEEQBU0EntPGWz8EfJ5CFL2m10xeBrkAEeWDglGQDZWLKQ0ff4TyBT9X1NhG/+ETj4TcQhExy6k+WZ9w/CpF5FjyyA=",
14      "signatureType": "rsa"
15    }
16  ]
17}'
Параметры ответа
Пример ответа 200 (OK)
1{
2  "status": "NEW",
3  "dealId": "ab9cbb96-360a-4462-a683-955cc29f7f54",
4  "stepId": "ab9cbb96-360a-4462-a683-955cc29f7f54",
5  "stepNumber": 1,
6  "description": "Описание этапа сделки"
7}
BODY
атрибут
описание
status
stringoptional

Статус этапа сделки. Принимает возможные значения:

  • •
    NEW - принят для последующей обработки;
  • •
    PAYMENT_FAILED - платёж завершился неуспешно;
  • •
    PAYMENT_IN_PROGRESS - платёж в процессе исполнения;
  • •
    CANCELED - отменён;
  • •
    COMPLETED - успешно завершён
dealId
stringoptional

Идентификатор сделки

stepId
stringoptional

Идентификатор этапа сделки

stepNumber
integeroptional

Порядковый номер этапа сделки

description
stringoptional

Описание этапа сделки

Пример ответа 200 (OK)
1{
2  "status": "NEW",
3  "dealId": "ab9cbb96-360a-4462-a683-955cc29f7f54",
4  "stepId": "ab9cbb96-360a-4462-a683-955cc29f7f54",
5  "stepNumber": 1,
6  "description": "Описание этапа сделки"
7}
BODY
атрибут
описание
status
stringoptional

Статус запроса. Принимает возможные значения:

  • •
    FAILED - обработка запроса завершилась ошибкой;
  • •
    TIMEOUT - превышено время ожидания при обработке запроса;
  • •
    PENDING - запрос в процессе обработки;
  • •
    PAYMENT_FAILED - внешний платёж завершился неуспешно;
  • •
    TRANSFER_FAILED - внутренний платёж (внутри НС) завершился неуспешно;
  • •
    COMPLETED - обработка запроса завершилась успешно
requestId
stringoptional

Идентификатор запроса

description
stringoptional

Описание ошибки

Пример ответа 202 (Accepted)
1{
2  "status": "PENDING",
3  "requestId": "ab9cbb96-360a-4462-a683-955cc29f7f54",
4  "description": "Описание причины ошибки"
5}
BODY
атрибут
описание
error
stringrequired

Код ошибки. Принимает возможные значения:

  • •
    invalid_request - неверные входные параметры запроса
error_description
stringoptional

Описание ошибки

Пример ошибки 400 (Bad Request)
1{
2  "error": "invalid_request",
3  "error_description": "Authorization header is not present in request headers"
4}
BODY
атрибут
описание
error
stringrequired

Код ошибки. Принимает возможные значения:

  • •
    invalid_token - предоставленный токен просрочен, отозван, имеет неправильный формат или недействителен по другим причинам
error_description
stringoptional

Описание ошибки

Пример ошибки 401 (Unauthorized)
1{
2  "error": "invalid_token",
3  "error_description": "The access token provided is expired, revoked, malformed, or invalid for other reasons"
4}
BODY
атрибут
описание
error
stringrequired

Код ошибки. Принимает возможные значения:

  • •
    insufficient_scope - при запросе кода авторизации не были переданы все необходимые scopes. Необходимо переподписать договор согласия, повторно отправив запрос на получение кода авторизации с указанием всех доступных scopes и параметра prompt=consent
error_description
stringoptional

Описание ошибки

Пример ошибки 403 (Forbidden)
1{
2  "error": "insufficient_scope",
3  "error_description": "The request requires higher privileges than provided by the access token"
4}
BODY
атрибут
описание
error
stringrequired

Код ошибки. Принимает возможные значения:

  • •
    unknown_endpoint - эндпоинт не найден или неактивен
error_description
stringoptional

Описание ошибки

Пример ошибки 404 (Not Found)
1{
2  "error": "unknown_endpoint",
3  "error_description": "Endpoint is not found or not active"
4}
Нет тела ответа
BODY
атрибут
описание
error
stringrequired

Код ошибки. Принимает возможные значения:

  • •
    internal_error - внутренняя ошибка сервиса при выполнении обработки запроса
error_description
stringoptional

Описание ошибки

Пример ошибки 500 (Internal Server Error)
1{
2  "error": "internal_error",
3  "error_description": "Internal server error"
4}
Нет тела ответа