API QR Pay (PortalAPI/SBP)

Режим песочницы недоступен для методов QR Pay. Рекомендуется проводить тестирование на бою малыми суммами. По динамическим QR-кодам возможен возврат платежа.

Базовый адрес

https://api.modulbank.ru/v1/

Авторизация

https://api.modulbank.ru/data.html

Требуемые права токена

operation-upload

Методы

Получение данных

Описание операций описано по ссылке:

https://api.modulbank.ru/data.html#transactionHistory

Описание колбэков расположено в разделе:

https://api.modulbank.ru/data.html#webHooks

Получение списка точек продаж

Получение списка точек продаж, зарегистрированных в Системе Быстрых платежей. ID компании можно получить через запрос, который описан по ссылке:

https://api.modulbank.ru/data.html#userCompaniesInfo

Метод в API

GET https://api.modulbank.ru/v1/sbp/retail-points?companyId={companyId} 

Пример вызова

GET /v1/sbp/retail-points?companyId=2906db8c-fc96-4473-9698-58d3d7b15501 HTTP/1.1
Host: api.modulbank.ru
Authorization: Bearer
aWQwMDAwMDAwMC0wMDAwLTAwMDArMDAwMC0wMDAwMDAwMDAwMDA3MTQ5M2FhYy1lZTFjLTQ1ZWMtYTZkNC1kNTk4ZTQzM2

Входные параметры

ИсточникНазваниеТипОписание
query stringcompanyIdguidID компании

Возвращает

В случае успеха возвращает JSON-документ со следующим содержимым:

ПараметрыТипОписание
idguidID торговой точки СБП (ТСП)
namestringНазвание ТСП
phonestringТелефон
сitystringГород регистрации ТСП
zipstringИндекс адреса регистрации ТСП
addressstringАдрес регистрации ТСП
typeenum stringТип ТСП
createddatetimeДата регистрации ТСП
hasStaticQrCodeboolЗарегистрирован статический QR-код
bindedboolПривязан к приложению QRPay
activationCodestringКод активации ТСП
merchantCategoryCode.codestringКод MCC
merchantCategoryCode.namestringНаименовании области деятельности
merchantCategoryCode.categorystringКатегория деятельности
bankAccountstringСчет, на который перечисляются средства от оплаты через СБП
statusenum string Статус регистрации ТСП

Пример ответа (JSON)

 [
	{
		"id": "51d693fb-c7f7-48c4-911f-65055203a533",
		"name": "Торговая точка СБП",
		"phone": "3221110189",
		"сity": "Уфа",
		"zip": "450076",
		"address": "г. Уфа, ул. ул Аксакова, 4",
		"type": "QRPay",
		"created": "2021-03-18T03:37:27.036396",
		"hasStaticQrCode": true,
		"binded": false,
		"activationCode": "A79EC1DE",
		"merchantCategoryCode": {
			"code": "5411",
			"name": "Бакалейные магазины, Супермаркеты",
			"category": "Супермаркеты"
		},
		"bankAccount": "40802810570010294158",
		"status": "Registered"
	}
]

Создание нового динамического QR-кода

Метод в API

POST https://api.modulbank.ru/v1/sbp/qr-codes/dynamic

Пример вызова

POST /v1/sbp/qr-codes/dynamic
Host: api.modulbank.ru
Content-Type: application/json
Authorization: Bearer 
aWQwMDAwMDAwMC0wMDAwLTAwMDArMDAwMC0wMDAwMDAwMDAwMDA3MTQ5M2FhYy1lZTFjLTQ1ZWMtYTZkNC1kNTk4ZTQzM2
{
	"retailPointId": "bbdf834b-d68a-443d-ad5b-9cc00a0e07e9",
	"sum": 50,
	"extraInfo": "инфа"
}

Входные параметры

ИсточникНазваниеТипОписание
bodyretailPointIdguidID ТСП из предыдущего запроса
bodysumdecimalСумма платежа (0 < сумма < 1000000000)
bodyextraInfostringНазначение платежа/описание/и т.п. (обязательное, макс. 140 символов)

Возвращает

В случае успеха возвращает JSON-документ со следующим содержимым:

ПараметрыТипОписание
qrcIdguidID QR-кода (далее QrcId)
payloadstringСсылка на платеж СБП (содержимое QR-кода)

Пример ответа (JSON)

{
	"qrcId": "AD10002AO71M5BPV96LOCN7B315SBFAG",
	"payload": "https://qr.nspk.ru/AD10002AO71M5BPV96LOCN7B315SBFAG?type=02&bank=100000000099&sum=5000&cur=RUB&crc=565A"
}

Получение QR-кода

Получение QR-кода, его статуса и свойств по QrcId

Метод в API

GET https://api.modulbank.ru/v1/sbp/qr-codes/{qrcId}

Пример вызова

GET /v1/sbp/qr-codes/AD10002AO71M5BPV96LOCN7B315SBFAG
Host: api.modulbank.ru
Authorization: Bearer
aWQwMDAwMDAwMC0wMDAwLTAwMDArMDAwMC0wMDAwMDAwMDAwMDA3MTQ5M2FhYy1lZTFjLTQ1ZWMtYTZkNC1kNTk4ZTQzM2

Входные параметры

ИсточникНазваниеТипОписание
pathqrcIdstringQrcId (ID QR-кода)

Возвращает

В случае успеха возвращает JSON-документ со следующим содержимым:

ПараметрыТипОписание
qrcIdstringID QR-кода (далее QrcId)
localQrcIdstringВнутренний ID (однозначно связан с QrcId), предназначен для операций возврата, где UI с клиентом не позволяет ввести исходный длинный QrcId (например, только цифровая клавиатура)
amountdecimalСумма платежа
payloadstringСсылка на платеж СБП (содержимое QR-кода)
createddatetimeДата создания QR-кода
typeenum stringТип QR-кода
statusenum stringСтатус платежа
paymentPurposestringНазначение платежа/описание/и т.п.

Пример ответа (JSON)

 {
	"qrcId": "AD10002AO71M5BPV96LOCN7B315SBFAG",
	"localQrcId": "9976",
	"amount": 50.0,
	"payload": "https://qr.nspk.ru/AD10002AO71M5BPV96LOCN7B315SBFAG?type=02&bank=100000000099&sum=5000&cur=RUB&crc=565A",
	"created": "2021-03-18T12:24:38.604538",
	"type": "QRD",
	"status": "Accepted",
	"paymentPurpose": "Тестовый платеж"
}

Получение изображения QR-кода

Получение изображения QR-кода по QrcId в формате PNG

Метод в API

GET https://api.modulbank.ru/v1/sbp/qr-codes/{qrcId}

Пример вызова

GET /v1/sbp/qr-codes/AD10002AO71M5BPV96LOCN7B315SBFAG/image
Host: api.modulbank.ru
Authorization: Bearer
aWQwMDAwMDAwMC0wMDAwLTAwMDArMDAwMC0wMDAwMDAwMDAwMDA3MTQ5M2FhYy1lZTFjLTQ1ZWMtYTZkNC1kNTk4ZTQzM2

Входные параметры

ИсточникНазваниеТипОписание
pathqrcIdstringQrcId (ID QR-кода)

Возвращает

В случае успеха возвращает изображение QR-кода в формате PNG

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

QR-код

Типы перечислений

Тип ТСП

ЗначениеОписание
QRPayСтандартная точка продаж СБП
InternetAcquiringИнтернет-эквайринг
ModulKassaМодульКасса

Статус регистрации ТСП

ЗначениеОписание
NewНовый запрос
ProcessingВ обработке
RegisteredЗарегестрирован в СБП
RejectedОтклонен
BlockedЗаблокирован (приостановка от фрод-мониторинга)
ErrorОшибка при регистрации
RejectedFBRОтклонен фрод-мониторингом
NotRegisteredЗаявка не зарегистрирована, ожидает начала регистрации

Тип QR-кода

ЗначениеОписание
QRSСтатический (QR наклейка)
QRDДинамический (QR на кассе)

Статусы QR-кода

ЗначениеОписание
NotStartedОперации по QR коду не существует
ReceivedОперация в обработке
InProgressОперация в обработке
AcceptedОперация завершена успешно
RejectedОперация отклонена
TimedOutВремя ожидания операции превышено

Возвраты

Осуществление возврата платежа по QrcId

Метод в API

POST https://api.modulbank.ru/v1/sbp/qr-codes/refund

Пример вызова

POST /v1/sbp/qr-codes/refund
Host: api.modulbank.ru
Authorization: Bearer
aWQwMDAwMDAwMC0wMDAwLTAwMDArMDAwMC0wMDAwMDAwMDAwMDA3MTQ5M2FhYy1lZTFjLTQ1ZWMtYTZkNC1kNTk4ZTQzM2
{
	"sbpOperId": "A44616542132165465",
	"type": "full"
}

Входные параметры

ИсточникНазваниеТипОписание
bodysbpOperIdstringНомер операции СБП, по которой необходимо выполнить возврат средств
bodytypestringТип возврата «full». Частичный возврат не реализован
bodyamountnumberНеобязательный. Будет использоваться для частичного возврата

Возвращает

В случае успеха возвращает идентификатор запроса requestId.

Не хватило возможностей?

Напишите нам

Отвечаем в течение одного рабочего дня.