Плательщик на сайте магазина выбирает услугу и условия платежа. Сайт предварительно передает реквизиты платежа в платежный шлюз МТС, а в ответ получает идентификатор платежной сессии (вызов метода идет с backend магазина, при вызове метода необходимо использовать SSL сертификат - полученный при интеграции). После чего пользователю отображается виджет, в котором проводится прием оплаты. По завершению сценария, средства на счете холдируются, Платежный шлюз МТС уведомляет сайт по указанному адресу о завершении этапа холдирования платежа. После этого вы сможете выполнить дополнительные операции над платежами.
POST |
Так же, передается SSL сертификат.
Поле | Тип | Обязат. | Описание |
|---|---|---|---|
| Request-Id | guid | да | Идентификатор конкретного запроса |
Requestor-Name | string | нет | Наименование сервиса.
|
| Requestor-Type | string | нет | Тип витрины.
|
| Requestor-Version | string | нет | Версия виджета/sdk |
Поле | Тип | Обязат. | Описание |
|---|---|---|---|
serviceId | int64 | да | ID сервиса |
serviceParams{} | object | нет | Набор пар "параметр":"значение", описывающих реквизиты платежа (специфичных для каждого поставщика) |
sessionParams | object | нет | Набор дополнительных настроек платежной сессии |
amount | amount | да | Сумма платежа, положительное значение. |
| amountInfo | object | нет | Данные о суммах оплаты |
currency | string[3] | нет | Валюта платежа, по умолчанию 643 |
description | string[256] | нет | Описание к платежу |
| extClientId | string[256] | да | Идентификатор пользователя в системе Мерчанта |
| paymentToolsFilter | object | нет | Набор инструкция для фильтрации ПМ/ПИ |
| receiptId | int64 | нет | id операции фискализации |
Поле | Тип | Обяз. | Описание |
|---|---|---|---|
| initialAmount | amount | нет | Исходная сумма оплаты, положительное значение. |
Поле | Тип | Обяз. | Описание |
|---|---|---|---|
| lifeTime | int64 | нет | Время жизни сессии (в минутах) |
| requestedCloseAt | datetime (UTC) | нет | Дата и время окончания сессии. Если заполнены оба поля requestedCloseAt и lifeTime, сессия будет завершена в соответствии со значением параметра requestedCloseAt |
Поле | Тип | Обяз. | Описание |
|---|---|---|---|
| allowedPaymentTools | 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",
"sessionParams": {
"lifeTime": 14
},
"amount": 13.4,
"currency": "643",
"extClientId": "89150123456@box.net"
}
{
"serviceId": "5560",
"paymentToolsFilter": {
"allowedPaymentTools": [
"boundCard"
]
},
"sessionParams": {
"lifeTime": 14
},
"amount": 13.4,
"currency": "643",
"extClientId": "89150123456@box.net"
}
Content-Type: application/json; charset=utf-8 |
{
"sessionId": "0b722ef4eb6b4cbe999e1c5bbcb4e456"
}
code | message | userMessage |
|---|---|---|
| 00299998 | Validation error | Не пройдена валидация данных |
| 00299999 | An unexpected error has occurred | Непредвиденная ошибка |
| 01000002 | Inactive merchant | Мерчант не активный |
| 01000003 | Service not found | Услуга (serviceId) не найдена |
| 01000004 | Service not available | Выбранный сервис недоступен мерчанту |
| 00200037 | Payment with pre-authorization is not available for the service | Операция холдирования недоступна для сервиса |