СКОРО В РЕЛИЗЕB2BH2H

Выполнение платежа в СБП

Пром PUT https://baas.alfabank.ru/api/sbp/jp/v1/outgoing-payments/{outgoingPaymentId}

Песочница PUT https://sandbox.alfabank.ru/api/sbp/jp/v1/outgoing-payments/{outgoingPaymentId}

Scope

b2b-sbp

Параметры запроса

HEADER
Атрибут
Описание
Authorization
stringrequired

Bearer {access_token}, полученный по Client Credentials Flow

Accept
stringrequired

application/json

Content-Type
stringrequired

application/json

PATH
Атрибут
Описание
outgoingPaymentId
stringrequired

Идентификатор исходящего платежа

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

Контекст клиента

b2bClientId
stringrequired

Идентификатор клиента, от имени которого выполняется запрос

partnerId
integerrequired

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

array of objectrequired

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

base64Encoded
stringrequired

Значение ЭП документа, закодированное в Base64

certificateUuid
stringoptional

Серийный номер сертификата, использованного при создании ЭП

signatureType
stringrequired

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

  • KEP - Квалифицированная электронная подпись (КЭП);
  • RSA - RSA
poaNumber
stringoptional

Номер машиночитаемой доверенности

Пример запроса
curl -X PUT https://baas.alfabank.ru/api/sbp/jp/v1/outgoing-payments/22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}' \
  -H 'Content-Type: application/json' \
  -d '{
  "client": {
    "b2bClientId": "021be5ed-6312-4982-a4e9-2a2cc44bc88c",
    "partnerId": 214
  },
  "digestSignatures": [
    {
      "base64Encoded": "HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT+/T24S0mPfVCU75sieOMt71TBS7w==",
      "certificateUuid": "61000366d11e143acbc03a56d70001000366d1",
      "signatureType": "RSA",
      "poaNumber": "DOVER_CBR_7702235133_20211102_1"
    }
  ]
}'

Параметры ответа

Пример ответа 200 (ОК)
{
  "outgoingPaymentId": "22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6",
  "qrcId": "AD1000038AQ1FG409KGACUQU5QRSH3FM",
  "status": "COMPLETE"
}
outgoingPaymentId
stringrequired

Идентификатор платежа в СБП

qrcId
stringrequired

Идентификатор платёжной ссылки

status
stringrequired

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

  • SENDING_MESSAGE - Платёж в обработке;
  • COMPLETE - Платёж выполнен;
  • ERROR - Платёж отклонен
Пример ответа 200 (ОК)
{
  "outgoingPaymentId": "22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6",
  "qrcId": "AD1000038AQ1FG409KGACUQU5QRSH3FM",
  "status": "COMPLETE"
}
error
stringrequired

Код ошибки. Принимает возможные значения: invalid_request - Неверные входные параметры запроса

error_description
stringoptional

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

Пример ошибки 400 (Bad Request)
{
  "error": "invalid_request",
  "error_description": "Authorization header is not present in request headers"
}
error
stringrequired

Код ошибки. Принимает возможные значения: invalid_token - Предоставленный токен просрочен, отозван, имеет неправильный формат или недействителен по другим причинам

error_description
stringoptional

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

Пример ошибки 401 (Unauthorized)
{
  "error": "invalid_token",
  "error_description": "The access token provided is expired, revoked, malformed, or invalid for other reasons"
}
error
stringrequired

Код ошибки. Принимает возможные значения: insufficient_scope - У пользователя нет прав на использование запрашиваемого сервиса, доступ к которому не предусмотрен настройками scope

error_description
stringoptional

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

Пример ошибки 403 (Forbidden)
{
  "error": "insufficient_scope",
  "error_description": "The request requires higher privileges than provided by the access token"
}
error
stringrequired

Код ошибки. Принимает возможные значения: unknown_endpoint - Эндпоинт не найден или неактивен

error_description
stringoptional

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

Пример ошибки 404 (Not Found)
{
  "error": "unknown_endpoint",
  "error_description": "Endpoint is not found or not active"
}
Пример ответа 429 (Too Many Requests)
Нет тела ответа
error
stringrequired

Код ошибки. Принимает возможные значения: internal_error - Внутренняя ошибка сервиса при выполнении обработки запроса

error_description
stringoptional

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

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

Значения параметров ошибок могут изменяться. Рекомендуем предусмотреть стандартную обработку ошибок, не описанных в текущей версии документации.

Подписание по алгоритму RSA

Для подписания может использоваться сертификат, выпущенный в Альфа-Бизнес, или сертификат, выпущенный при помощи сервиса Alfa API согласно разделу "Электронная подпись".

1

Подготовить данные в формате JSON

2

Провести каноникализацию JSON-данных используя правила RFC 8785

3

Сформировать отсоединенную ЭЦП используя подготовленный JSON и закрытый ключ, при помощи которого был создан RSA-сертификат

4

В запросе передать значения из шага 1, и данные отсоединенной подписи в массиве digestSignatures

Пример JSON
{
  "clientId": "021be5ed-6312-4982-a4e9-2a2cc44bc88c",
  "outcomingPaymentId": "22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6"
}

Для передачи ЭП под документом используется массив digestSignatures , в котором передаются объекты типа Signature . Серийный номер сертификата certificateUuid заполняется значением поля serialNumber из ответа метода "Получение RSA-сертификата". Поле poaNumber необязательное и зарезервировано для передачи номера машиночитаемой доверенности (МЧД).

SIGNATURE
Атрибут
Описание
array of objectoptional

Электронные подписи по дайджесту документа

base64Encoded
stringrequired

Значение ЭП документа, закодированное в Base64

certificateUuid
stringrequired

Серийный номер сертификата, использованного при создании ЭП

signatureType
stringrequired

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

  • KEP - Квалифицированная электронная подпись (КЭП);
  • RSA - RSA
poaNumber
stringoptional

Номер машиночитаемой доверенности

Пример электронной подписи по дайджесту документа
"digestSignatures": [
  {
      "base64Encoded": "HlaeIHXXEcGT1bFxo1NlpAzpr+kJ2IQrcxVdvDTep6xjsmD1FDb+6NIyLT+/T24S0mPfVCU75sieOMt71TBS7w==",
      "certificateUuid": "61000366d11e143acbc03a56d70001000366d1",
      "signatureType": "RSA",
      "poaNumber": "DOVER_CBR_7702235133_20211102_1"
  }
]