В главное меню

Информация о платежной сессии


Введение

Данный метод позволяет получить:

  • данные платежной сессии
  • список платежей по ней

Важно!

Данные метод имеет ограничения по кол-ву вызовов от имени одного партнера (throttling), не более 1 rps, при превышении нагрузки, запрос будет отклонен с соответствующей ошибкой HTTP status code - 429

Поэтому не рекомендуется использования метода в бизнес логике приложения, для запроса статуса оплаты, необходимо ожидать callback с идентификатором платежа и использовать метода запроса статуса по конкретной оплате - Информация о платеже

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

Заголовок запроса

GET
Endpoint: https://sandbox.pay.mts.ru/private/v1/payments/sessions/{sessionId}/info HTTP/1.1
<Основные параметры>

Основные параметры

Поле

Тип

Обяз.

Описание

Request-IdguidдаИдентификатор конкретного запроса

Requestor-Name

string

нет

Наименование сервиса.

  • Для веба - домен, на котором запущен виджет.
  • Для SDK - идентификатор приложения.
  • Для API - имя вызывающей системы.
Requestor-Typestringнет

Тип витрины.

  • API
  • Web Widget
  • Web Page
  • SDK Apple
  • SDK Android
Requestor-VersionstringнетВерсия виджета/sdk

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

Поле

Тип

Обяз.

Описание

sessionId

string[32]

да

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

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

Заголовок ответа

Content-Type: application/json; charset=utf-8
http-code: 200
http-status: OK

Тело ответа

Поле

Тип


Описание

sessionId

string

да

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

statusstatusEnumда

Статус сессии:

  • active
  • close
  • complete
reasonstring(enum)нет

Причина завершения сессии, заполняется при status=close

  • closeByMerchant
  • closeByTimeout
  • closeByFatalError
createdAtdateTimeдаДата и время создания сессии
requestedCloseAtdateTimeдаДата и время запланированного окончания сессии
closedAtdateTimeдаДата и время фактического окончания сессии
paymentsobjectдаПроведенные по сессии платежи

Описание структуры payments

Поле

Тип

Обяз.

Описание

id

int64

да

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

createdAtdateTimeдаДата и время создания записи в сервисе
statusstatusEnumдаСтатус платежа
serviceIdint64нетИдентификатор сервиса
amountamountдаСумма платежа
currencystringдаВалюта
descriptionstringнетОписание
errorobjectнетНабор полей с описание ошибки

Описание структуры error

Поле

Тип

Обяз.

Описание

code

string

да

Код ошибки

messagestringдаОписание ошибки
isFatalbooleanдаПризнак фатальности ошибки

Пример

Заголовок запроса

GET https://sandbox.pay.mts.ru/private/v1/payments/sessions/8b3c3f9b5a934a1780c93da5cc495b27/info  HTTP/1.1
Host:
Request-Id: 599e4b42-e7ef-4e1b-80fb-cc59119c0dce

Заголовок ответа

Content-Type: application/json; charset=utf-8
http-code: 200
http-status: OK

Тело ответа

{
  "sessionId": "8b3c3f9b5a934a1780c93da5cc495b27",
  "status": "close",
  "reason": "closeByTimeout",
  "createdAt": "2020-11-18T19:06:16.778Z",
  "requestedCloseAt": "2020-11-18T19:16:16.778Z",
  "closedAt": "2020-11-18T19:16:16.778Z",
  "payments": [
    {
      "createdAt": "2021-12-04T12:39:03.103Z",
      "id": 23489,
      "status": "rejected",
      "serviceId": 1150,
      "currency": "643",
      "amount": 10,
      "description": "Оплата",
      "error": {
        "code": "02005009",
        "message": "Processing: Insufficient funds",
        "isFatal": false
      }
    },
    {
      "createdAt": "2021-12-04T13:20:01.103Z",
      "id": 23490,
      "status": "executed",
      "serviceId": 1150,
      "currency": "643",
      "amount": 10,
      "description": "Оплата"
    }
  ]
}

Возможные коды ошибок

code

http-code

message

userMessage

00299998

400

Validation error

Не пройдена валидация данных

00299999

500

An unexpected error has occurred

Непредвиденная ошибка

00200001401Session {0} not foundСессия не найдена
00200002401Certificate is not validСертификат не прошел проверку
01000002460Inactive merchantМерчант не активный