Запрос реестра операций
Описание сервиса
Клиент направляет запрос на получение сверки итогов за период или детальный реестр по всем проведенным операциям.
В реестре не учитываются операции по статическому QR. В случае получения registryType со значением, отличным от QUANTITY/REGISTRY, получите ErrorCode = 050000. Реестр и агрегация формируются по успешным заказам и отменам со статусами: 'PAID','REFUNDED','REVERSED'; Ограничение по запрашиваемому промежутку между стартовым и конечным временем: 3-ое суток. В случае, превышения допустимого промежутка времени, получите ErrorCode = 170000, реестр в этом случае не формируется.
Ограничение на максимальное количество заказов в реестре в размере 1000 элементов (orderParams) и не более 1000 операций для одного заказа (orderParam). В случае превышения сформируется реестр с количеством операций = 1000 записей и ErrorCode =180000.
Описание сервиса | Процесс | URL | Инициатор | Потребитель | Синхронный |
---|---|---|---|---|---|
Запрос Реестра операций | QR-код ПокупателяQR-код ПродавцаQR-код СБП | /oauth:https://mc.api.sberbank.ru:443/prod/tokens/v3/oauth /registry:https://mc.api.sberbank.ru:443/prod/qr/order/v3/registry scope:auth://qr/order.registry | Клиент | Сбербанк | Да |
Параметры запроса:
Наименование атрибута | Mapping | Формат | Кратность | Паттерн | Описание |
Authorization | header | string | [1] | Авторизационные данные.Заполняется значением токена доступа* (access_token) по шаблону: "Bearer" + пробел + \<access_token>"example: "Bearer f3d29241-f35c-4bfd-b0ef-5f011c993ef9"_________________________________________________________________* - процесс получения токена доступа описан на страницах: Настройки сервиса вызова API и Token 3.0.0 | |
Accept | header | string | [0..1] | Заголовок Accept example: "*/*" | |
Content-Type | header | string | [1] | Заголовок Content-Typeexample: "application/json" | |
RqUID | header | string(32) | [1] | \^(([0-9]|[a-f]|[A-F]){32})\$ | Уникальный идентификатор запроса example: "ac11cA1CEae1D1111dABf1fD1Bb0acAd" |
rqUid | body | string(32) | [1] | \^(([0-9]|[a-f]|[A-F]){32})\$ | Уникальный идентификатор запроса. example: "ac11cA1CEae1D1111dABf1fD1Bb0acAd" |
rqTm | body | string(20) | [1] | \^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z\$ | Дата/время формирования запроса.example: "2005-08-15T15:52:01Z" |
idQR | body | string(36) | [1] | \^[A-Za-z0-9_\\-]*\$ | Идентификатор устройства, на котором сформирован заказ. Правила заполнения: 1. Для операции "QR-код Продавца": IdQR (Уникальный идентификатор устройства в системе "Плати QR"); 2. Для операции "QR-код СБП": tid (Уникальный идентификатор) |
startPeriod | body | string(20) | [1] | \^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z\$ | Дата/время начала периода: дата создания заказа в АС Банка по Мск.example: "2005-08-15T15:52:01Z" |
endPeriod | body | string(20) | [1] | \^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z\$ | Дата/время конца периода: дата создания заказа в АС Банка по Мск.example: "2005-08-15T15:52:01Z" |
registryType | body | string(20) | [1] | Тип реестра. Возможные значения: QUANTITY/REGISTRY.Где: QUANTITY – агрегация по количеству операций, сумме; REGISTRY - детальный отчет по заказам.enum: [QUANTITY,REGISTRY] |
Пример запроса OrderRegistryQrRq
{
"rqUid": "1c120e9ba5234b3abc90a685c1c46582",
"rqTm": "2022-03-14T17:27:42Z",
"idQR": "1000101124",
"startPeriod": "2022-03-14T00:00:01Z",
"endPeriod": "2022-03-15T20:10:01Z",
"registryType": "REGISTRY"
}
Параметры ответа:
Наименование атрибута | Mapping | Формат | Кратность | Паттерн | Описание |
---|---|---|---|---|---|
rqUid | body | string(32) | [1] | ^(([0-9] | [a-f] |
rqTm | body | string(20) | [1] | ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$ | Дата/время формирования запроса example: "2005-08-15T15:52:01Z" |
tid | body | string(8) | [0..1] | ^[A-Za-z0-9_\\-]*$ | Уникальный идентификатор терминала |
idQR | body | string(36) | [0..1] | ^[A-Za-z0-9_\\-]*$ | Идентификатор устройства, на котором сформирован заказ. Правила заполнения: 1. Для операции "QR-код Продавца": IdQR (Уникальный идентификатор устройства в системе "Плати QR"); 2. Для операции "QR-код СБП": tid (Уникальный идентификатор терминала). |
quantityData | body | object | [0..1] | Заполняется в случае, если в запросе RegistryType = QUANTITY | |
totalCount | body | integer(10) | [1] | minimum: 0 maximum: 9999999999 | Общее кол-во успешных операций |
totalPaymentAmount | body | integer(15) | [1] | minimum: 0 maximum: 999999999999999 | Общая сумма покупок: сумма покупок в минимальных единицах Валюты (только успешные). |
totalRefundAmount | body | integer(15) | [1] | minimum: 0 maximum: 999999999999999 | Общая сумма возвратов и отмен в минимальных единицах Валюты |
totalAmount | body | integer(15) | [1] | minimum: 0 maximum: 999999999999999 | Общая сумма покупок: сумма покупок за вычетом суммы возвратов и отмен в минимальных единицах Валюты (только успешные) |
errorCode | body | string(6) | [1] | ^[a-zA-Z0-9_\-\\]+$ | Код выполнения запроса |
errorDescription | body | string(1024) | [0..1] | ^.*$ | Описание ошибки выполнения запроса |
registryData | body | object | [0..1] | Заполняется в случае, если в запросе RegistryType = REGISTRY | |
orderParams | body | object | [0..1] | Блок с перечнем заказов | |
orderParam | body | array | [0..1000] | Перечень заказов | |
orderId | body | string(36) | [1] | ^[a-zA-Z0-9_\-\\]+$ | ID заказа в АС Банка example: "d06112b97ed94215b77714e11c340c7b" |
partnerOrderNumber | body | string(36) | [1] | ^[a-zA-Z0-9_\-\\]+$ | Номер заказа в АС Партнера |
amount | body | integer(15) | [1] | minimum: 0 maximum: 999999999999999 | Сумма заказа в минимальных единицах Валюты |
currency | body | string(3) | [1] | ^[0-9]{3}$ | Валюта заказа, цифровой код по ISO 4217 |
orderCreateDate | body | string(20) | [1] | ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$ | Дата/время формирования заказа. example: "2021-03-31T10:53:01Z" |
orderState | body | string(20) | [1] | Статус заказа. enum: ["PAID", "CREATED", "REVERSED", "REFUNDED", "REVOKED", "DECLINED", "EXPIRED", "AUTHORIZED", "CONFIRMED", "ON_PAYMENT"] | |
orderOperationParams | body | object | [0..1] | Блок с перечнем операций, привязанных к данному заказу с детализацией по каждой операции | |
operationDateTime | body | string(20) | [1] | ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$ | Дата/время совершения операции. example: "2020-03-19T19:00:39Z" |
rrn | body | string(12) | [1] | ^[a-zA-Z0-9_\-\\]+$ | RRN операции |
operationType | body | string(36) | [1] | Тип операции. enum: ["PAY", "REVERSE", "REFUND", "SBP_PAY_ACKNOWL", "SBP_ACK_ONUS", "SBP_STATUS_OUT", "SBP_CREDIT_IN_RQ", "SBP_REFUND_IN_RQ"] | |
operationSum | body | integer(15) | [1] | minimum: 0 maximum: 999999999999999 | Сумма операции в минимальных единицах Валюты. |
operationCurrency | body | string(3) | [1] | ^[0-9]{3}$ | Валюта операции, цифровой код по ISO 4217. example: "643" |
authCode | body | string(8) | [1] | ^[a-zA-Z0-9_\-\\]+$ | Код авторизации |
responseCode | body | string(2) | [1] | ^[a-zA-Z0-9_\-\\]+$ | Код успешности авторизации |
responseDesc | body | string(256) | [0..1] | ^.*$ | Описание кода ответа |
sbpOperationParams | body | object | [0..1] | Блок с перечнем параметров операции СБП. Передается только для операции оплаты через СБП | |
sbpOperationId | body | string(50) | [1] | ^[a-zA-Z0-9_\-\\]*$ | Идентификатор операции в СБП |
sbpPayerId | body | string(50) | [1] | ^[A-Za-z0-9_\-\s\+()\*]*$ | Маскированный идентификатор плательщика |
Пример ответа OrderRegistryQrRs
{
"registryData": {
"orderParams": {
"orderParam": [
{
"amount": 10000,
"orderCreateDate": "2022-03-14T08:51:39Z",
"orderOperationParams": {
"orderOperationParam": [
{
"authCode": "651662",
"operationDateTime": "2022-03-14T11:51:45Z",
"operationId": "8aa51b7a012d42b6b37820068e13dda7",
"operationType": "PAY",
"operationCurrency": "643",
"operationSum": 10000,
"rrn": "207388423368",
"responseCode": "00"
}
]
},
"orderId": "e2408f3e74fa4b23bd4b70ace0a4f0f0",
"partnerOrderNumber": "20220314085139",
"currency": "643",
"orderState": "PAID"
},
{
"amount": 10000,
"orderCreateDate": "2022-03-14T11:39:13Z",
"orderOperationParams": {
"orderOperationParam": [
{
"authCode": "974011",
"operationDateTime": "2022-03-14T14:39:16Z",
"operationId": "6057ec1ab8a14297a43579137919ed19",
"operationType": "PAY",
"operationCurrency": "643",
"operationSum": 10000,
"rrn": "207388423679",
"responseCode": "00"
},
{
"authCode": "073318",
"operationDateTime": "2022-03-14T14:39:18Z",
"operationId": "ea4c0a1fce484576b1d9a89bc45cb7e0",
"operationType": "REFUND",
"operationCurrency": "643",
"operationSum": 10000,
"rrn": "305197073318",
"responseCode": "00"
}
]
},
"orderId": "44183236e004468496fa7cd0ee28b2f1",
"partnerOrderNumber": "20220314113913",
"currency": "643",
"orderState": "REFUNDED"
},
{
"amount": 10000,
"orderCreateDate": "2022-03-14T12:01:02Z",
"orderOperationParams": {
"orderOperationParam": [
{
"authCode": "153305",
"operationDateTime": "2022-03-14T15:01:06Z",
"operationId": "9267c3e8752346a59d5d307b8f26bb77",
"operationType": "PAY",
"operationCurrency": "643",
"operationSum": 10000,
"rrn": "207388423731",
"responseCode": "00"
},
{
"authCode": "000000",
"operationDateTime": "2022-03-14T15:01:08Z",
"operationId": "08aabeb96f15485b900eaac58142d188",
"operationType": "REVERSE",
"operationCurrency": "643",
"operationSum": 10000,
"rrn": "207388423731",
"responseCode": "00"
}
]
},
"orderId": "dc90387bce7042309155b087fa28184a",
"partnerOrderNumber": "20220314120102",
"currency": "643",
"orderState": "REVERSED"
}
]
}
},
"errorCode": "000000",
"rqUid": "1c120e9ba5234b3abc90a685c1c46582",
"rqTm": "2022-03-14T17:27:42Z",
"idQR": "1000101124",
"tid": "20163714"
}