Плательщик на сайте магазина выбирает услугу и условия платежа. Сайт предварительно передает реквизиты платежа в платежный шлюз МТС, а в ответ получает идентификатор платежной сессии (вызов метода идет с backend магазина, при вызове метода необходимо использовать SSL сертификат - полученный при интеграции). После чего пользователю отображается виджет, в котором проводится прием оплаты. По завершению оплаты Платежный шлюз МТС уведомляет сайт по указанному адресу о приеме платежа. После этого вы сможете выполнить дополнительные операции над платежами.
Заголовок запроса
POST |
Так же, передается SSL сертификат.
Поле | Тип | Обяз. | Описание |
|---|---|---|---|
| Request-Id | guid | да | Идентификатор конкретного запроса |
Requestor-Name | string | нет | Наименование сервиса.
|
| Requestor-Type | string | нет | Тип витрины.
|
| Requestor-Version | string | нет | Версия виджета/sdk |
Тело запроса
Поле | Тип | Обязат. | Описание |
|---|---|---|---|
serviceId | int64 | да | ID сервиса |
serviceParams{} | object | да | Набор пар "параметр": "значение", описывающих реквизиты платежа (специфичных для каждого поставщика, полученных от команды МТС Оплата) |
providerParams | object | нет | Набор дополнительных параметров для каждого провайдера, проводящего платеж |
sessionParams | object | нет | Набор дополнительных настроек платежной сессии |
amount | amount | да | Сумма платежа |
amountInfo | object | нет | Данные о суммах оплаты |
currency | string[3] | нет | Валюта платежа, по умолчанию 643 |
description | string[256] | нет | Описание к платежу |
extClientId | string[256] | да | Идентификатор пользователя в системе Мерчанта: логин или иной идентификатор Плательщика в системе Партнера |
| merchantParams | object | нет | Набор пар "параметр":"значение" - дополнительная информация от партнёра к сессии |
| paymentToolsFilter | object | нет | Набор инструкция для фильтрации ПМ/ПИ |
| receiptId | int64 | нет | id операции фискализации |
Описание структуры providerParams
Поле | Тип | Обяз. | Описание |
|---|---|---|---|
chargingEP | object | нет | Набор дополнительных параметров для каждого провайдера, проводящего платеж |
Описание структуры chargingEP
Поле | Тип | Обяз. | Описание |
|---|---|---|---|
serviceCode | string | да | Код продукта в системе Foris, за который производится оплата |
Описание структуры sessionParams
Поле | Тип | Обяз. | Описание |
|---|---|---|---|
| lifeTime | int64 | нет | Время жизни сессии (в минутах) |
| requestedCloseAt | datetime (UTC) | нет | Дата и время окончания сессии. Если заполнены оба поля requestedCloseAt и lifeTime, сессия будет завершена в соответствии со значением параметра requestedCloseAt |
Описание структуры amountInfo
Поле | Тип | Обяз. | Описание |
|---|---|---|---|
initialAmount | amount | нет | Исходная сумма оплаты, положительное значение. |
Описание структуры paymentToolsFilter
Поле | Тип | Обяз. | Описание |
|---|---|---|---|
| allowedPaymentTools | array | нет | Допустимые платежный инструмент
|
allowedCardTypes | array | нет | Допустимые типы карт
|
Заголовок ответа
Content-Type: application/json; charset=utf-8 |
Тело ответа
Поле | Тип | Обяз. | Описание |
|---|---|---|---|
sessionId | string[32] | да | Идентификатор платежной сессии |
POST https://sandbox.pay.mts.ru/private/v1/payments/sessions/create HTTP/1.1 |
{
"serviceId": 5560,
"serviceParams": {
"NUMBER": "79160026188",
"payerEmail": "tests12345@mts.ru",
"id1": "108882256562"
},
"amount": 13.4,
"currency": "643",
"extClientId": "89150123456"
}
Content-Type: application/json; charset=utf-8 |
{
"sessionId": "0b722ef4eb6b4cbe999e1c5bbcb4e456"
}
code | message | userMessage |
|---|---|---|
00299998 | Validation error | Не пройдена валидация данных |
00299999 | An unexpected error has occurred | Непредвиденная ошибка |
00200001 | Session {0} not found | Сессия не найдена |
01000002 | Inactive merchant | Мерчант не активный |
01000003 | Service not found | Услуга (serviceId) не найдена |
01000004 | Service not available | Выбранный сервис недоступен мерчанту |
| 03000003 | ProductId {0} not found | В процессе проведения операции произошла ошибка. Попробуйте позже. |