Создание QR-кода СБП¶
Запрос возвращает QR-код для оплаты через Систему быстрых платежей (СБП). Может быть использован метод POST или PUT
Сценарии, в которых используется метод создания QR-кода, см. в статьях «Оплата с помощью СБП» и «Платёжный токен»
Запрос¶
POST /payin/v1/sites/{siteId}/sbp/qrCodes
PUT /payin/v1/sites/{siteId}/sbp/qrCodes/{qrCodeUid}
Параметры строки запроса¶
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| siteId | Да | string | Строковый идентификатор сайта ТСП в QIWI Кассе |
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| siteId | Да | string | Строковый идентификатор сайта ТСП в QIWI Кассе |
| qrCodeUid | Да | string | Уникальный идентификатор запроса в информационной системе ТСП. Уникальность означает, что идентификатор должен отличаться от идентификаторов всех таких ранее созданных запросов в рамках одного siteId |
Заголовки¶
Заголовки для методов POST и PUT одинаковые.
| Заголовок | Обязательный | Тип | Описание |
|---|---|---|---|
| Authorization | Да | string | Авторизационные данные. Bearer [access-token] |
| Content-type | Да | string | Тип запроса. application/json |
| Accept | Нет | string | Тип ответа. application/json |
Параметры тела запроса¶
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| qrCodeUid | Да | string | Уникальный идентификатор запроса в информационной системе ТСП. Уникальность означает, что идентификатор должен отличаться от идентификаторов всех таких ранее созданных запросов в рамках одного siteId |
| qrCode | Да | object | Параметры запрашиваемого QR-кода |
| amount | Нет | object | Данные о сумме операции |
| paymentPurpose | Нет | string(140) | Описание товара или услуги, которую получает Плательщик |
| redirectUrl | Нет | string(1000) | URL для переадресации покупателя после оплаты |
| tokenizationPurpose | Нет | string(140) | Описание платёжного токена |
| tokenizationAccount | Нет | string(64) | Уникальный идентификатор Покупателя в системе ТСП. Используется при выдаче токена, когда qrCode.type=TOKEN |
| flags | Нет | array of strings | Дополнительные команды для API.CREATE_TOKEN — флаг для выпуска платёжного токена. |
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| qrCode | Да | object | Параметры запрашиваемого QR-кода |
| amount | Нет | object | Данные о сумме операции |
| paymentPurpose | Нет | string(140) | Описание товара или услуги, которую получает Плательщик |
| redirectUrl | Нет | string(1000) | URL для переадресации покупателя после оплаты |
| tokenizationPurpose | Нет | string(140) | Описание платёжного токена |
| tokenizationAccount | Нет | string(64) | Уникальный идентификатор Покупателя в системе ТСП. Используется при выдаче токена, когда qrCode.type=TOKEN |
| flags | Нет | array of strings | Дополнительные команды для API.CREATE_TOKEN — флаг для выпуска платёжного токена. |
Пример запроса¶
Создание QR-кода
POST /partner/payin/v1/sites/test-01/sbp/qrCodes HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: b2b-api.qiwi.com
{
"qrCodeUid": "Test12",
"amount": {
"value": 1.00,
"currency": "RUB"
},
"qrCode": {
"type": "DYNAMIC",
"ttl": 60,
"image": {
"mediaType": "image/png",
"width": 300,
"height": 300
}
},
"paymentPurpose": "Flower for my girlfriend",
"redirectUrl": "http://example.com"
}
Создание QR-кода
PUT /partner/payin/v1/sites/test-01/sbp/qrCodes/Test12 HTTP/1.1
Accept: application/json
Authorization: Bearer 5c4b25xx93aa435d9cb8cd17480356f9
Content-type: application/json
Host: b2b-api.qiwi.com
{
"amount": {
"value": 1.00,
"currency": "RUB"
},
"qrCode": {
"type": "DYNAMIC",
"ttl": 60,
"image": {
"mediaType": "image/png",
"width": 300,
"height": 300
}
},
"paymentPurpose": "Flower for my girlfriend",
"redirectUrl": "http://example.com"
}
Ответ¶
Ответы для методов POST и PUT одинаковые.
См. также список общих HTTP кодов ошибок
Поля успешного ответа¶
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| qrCodeUid | Да | string | Идентификатор запроса QR-кода |
| qrCode | Да | [object] | Параметры QR-кода |
| createdOn | Да | string | Дата и время создания QR-кода |
| amount | Нет | object | Сумма операции |
| tokenizationPurpose | Нет | string(140) | Описание платёжного токена. Возвращается, если запрошен выпуск токена СБП |
| flags | Нет | array of strings | Дополнительные команды для API из исходного запроса |
| token | Нет | object | Информация о платёжном токене СБП. Возвращается, если запрошен выпуск токена СБП |
| payment | Нет | object | Информация о платеже по QR-коду. Только для type=DYNAMIC |
| refunds | Нет | array of objects | Информация о возвратах по QR-коду. Только для type=DYNAMIC |
Поля ответа с ошибкой¶
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| serviceName | Да | string | Имя сервиса, сгенерировавшего ошибку |
| errorCode | Да | string | Код ошибки |
| description | Да | string | Описание ошибки для ТСП |
| userMessage | Да | string | Описание ошибки для отображения покупателю |
| dateTime | Да | string | Дата и время ошибки |
| traceId | Да | string | Уникальный ID лога ошибки |
Примеры ответов¶
{
"qrCodeUid": "Test12",
"amount": {
"currency": "RUB",
"value": "1.00"
},
"qrCode": {
"type": "DYNAMIC",
"ttl": 60,
"image": {
"mediaType": "image/png",
"width": 300,
"height": 300,
"content": "iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAA"
},
"payload": "https://qr.nspk.ru/AD10006M8KH234K782OQM0L13JI31LQD?type=02&bank=100000000009&sum=200&cur=RUB&crc=C63A",
"status": "CREATED"
},
"createdOn": "2022-08-11T20:10:32+03:00"
}