B2C

Генерация QR-кода для оплаты

Пром POST https://baas.alfabank.ru/api/sbp/jp/v1/qrcs

Песочница POST https://sandbox.alfabank.ru/api/sbp/jp/v1/qrcs

Scope

c2b-sbp

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

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

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

Accept
stringrequired

application/json

Content-Type
stringrequired

application/json

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

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

amount
integeroptional

Сумма платежа в копейках. Обязательно при значении qrcType = 02

currency
stringoptional

Код валюты. Возможные значения: RUR - Российский рубль. Обязательно при значении qrcType = 02

qrcType
stringrequired

Тип запрашиваемого QR-кода. Возможные значения:

  • 01 – Для статического QR-кода;
  • 02 – Для динамического QR-кода
paymentPurpose
stringoptional

Назначение платежа

ttl
integeroptional

Срок жизни платежной ссылки в минутах

objectoptional

Данные запроса

notificationUrl
stringoptional

Полный URL для получения уведомления о финальном статусе оплаты QR-кода. Если параметр отсутствует, уведомление не производится

subscriptionPurpose
stringoptional

Цель привязки счета. Параметр обязателен в случае регистрации QR-кода для оплаты с последующей привязкой счета. При отсутствии данных в параметре subscriptionPurpose будет зарегистрирована обычная одноразовая платежная ссылка СБП с qrcType = 02 без последующего предоставления плательщику возможности совершить привязку счёта

redirectUrl
stringoptional

Ссылка для автоматического возврата в приложение или на сайт торгово-сервисного предприятия (ТСП)

messageId
stringoptional

Уникальный идентификатор сообщения

Пример запроса
curl -X POST https://baas.alfabank.ru/api/sbp/jp/v1/qrcs \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}' \
  -H 'Content-Type: application/json' \
  -d '{
  "termNo": "9008056701",
  "ttl": 10,
  "amount": 10000,
  "currency": "RUR",
  "qrcType": "02",
  "paymentPurpose": "Назначение платежа",
  "queryData": {
    "notificationUrl": "http ://10.8.18.33:9017/sbp-payment/agent/status"
  },
  "subscriptionPurpose": "Подписка на оплату интернета 500р./мес.",
  "redirectUrl": "https://exampletsp.io/qwertyui"
}'

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

Пример ответа 201 (Created)
{
  "termNo": "9008056701",
  "qrcId": "AS1000670LSS7DN18SJQDNP4B05KLJL2",
  "payload": "https://qr.nspk.ru/AS1000670LSS7DN18SJQDNP4B05KLJL2?type=01&bank=100000000001&sum=100739&cur=RUB&crc=C08B",
  "image": "iVBORw0KGgoAAAANSUhEUgAABEoAAARKCAIAAAQA/w…...YII",
  "payrrn": "000000020512",
  "status": "CREATED"
}
termNo
stringrequired

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

qrcId
stringrequired

Идентификатор QR-кода

payload
stringrequired

Платёжная ссылка

image
stringrequired

Изображение QR-кода

payrrn
stringrequired

Референсный идентификатор запроса в системе Банка

status
stringrequired

Статус регистрации Платежной или Информационной ссылки СБП

Пример ответа 201 (Created)
{
  "termNo": "9008056701",
  "qrcId": "AS1000670LSS7DN18SJQDNP4B05KLJL2",
  "payload": "https://qr.nspk.ru/AS1000670LSS7DN18SJQDNP4B05KLJL2?type=01&bank=100000000001&sum=100739&cur=RUB&crc=C08B",
  "image": "iVBORw0KGgoAAAANSUhEUgAABEoAAARKCAIAAAQA/w…...YII",
  "payrrn": "000000020512",
  "status": "CREATED"
}
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)
Нет тела ответа

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