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

Создание ссылки на оплату СБП


Процесс взаимодействия

  1. Для проведения платежа вам необходимо создать ссылку для оплаты.
  2. Предоставьте эту ссылку плательщику.
  3. Получите уведомление о результате платежа.
  4. При необходимости можно:
    1. убедиться, что уведомление пришло от нас, получив самостоятельно информацию о платеже (статус платежа).
    2. отменить платеж или вернуть часть средств.

Создание платежной сессии с ссылкой СБП

В платежный шлюз будет передана информация по платежу и будет создан счет, для которого будет сгенерирована ссылка на оплату. Результатом вызова будет являться идентификатор счета и ссылка на оплату. При вызове метода, необходимо использовать SSL сертификат.

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

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

POST
Endpoint: https://sandbox.pay.mts.ru/private/v1/invoicing/sbp/create HTTP/1.1
Content-Type: application/json
<Основные параметры>

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

Поле

Тип

Обяз.

Описание

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

Requestor-Name

string

нет

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

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

Тип витрины.

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

Тело запроса

Поле

Тип

Обяз.

Описание

account

string

нет

Номер банковского счета юр.лица для зачисления платежа. Если у юридического лица только один счет, то параметр может не передаваться. Для получения QR кода счет должен быть зарегистрирован в СБП

accAlias

string[127]

нет

Алиас банковского счета юр.лица для зачисления платежа. Если у юридического лица более 1 счета, то в запросе должен быть указан либо Account, либо AccAlias

amount

amount

да

Сумма платежа в рублях (валюта только RUB). Сумма обязательна для qrcType = 02
Decimal формате. Разделитель точка. 2 знака после точки для копеек
Пример "amount" : 1300.01

serviceId

int64

нет

ID сервиса

serviceParams

object

нет

Набор пар "параметр":"значение", описывающих реквизиты платежа (специфичных для каждого поставщика)

description

string[140]

нет

Назначение платежа (UTF-8). Длина не более 140. В случае сценария пополнения, поле должно содержать номер пополняемого телефона в формате (9999999999)

redirectUrlstringнетСсылка для редиректа пользователя после оплаты
lifeTimeint32нет

Время жизни ссылки (в минутах). Если значение не передано, то по умолчанию устанавливается - 72 часа.

Если указано меньше 5 минут, то  сервисом МТС Банка устанавливается значение - 5 минут.
Если указано больше 90 дней, то  сервисом МТС Банка устанавливается значение - 90 дней.

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

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

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

Тело ответа

Поле

Тип

Обяз.

Описание

id

int64

да

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

paymentId

int64

да

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

status

string

да

Статус счета:

  1. сreated (Создан)
  2. receiveInvoiceLink (Сформирован счет)
  3. issued (Счет передан клиенту)
  4. paid (Счет оплачен)
  5. overdue (Счет не оплачен в установленный срок)
  6. success (Счет оплачен, средства получены на счет получателя)
  7. failed (Средства не поступили на счет получателя)
  8. refund (Средства возвращены клиенту)

invoicePaymentPageUrl

string

нет

Ссылка на форму оплаты счета (платежную страницу).

Форма оптимизирована для оплаты счета и должна использоваться в случае использования сервиса как платежной системы.

Перейдя по данной ссылке покупатель имеет возможность оплатить счет через свой банк или скачать счет в PDF

Пример

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

POST https://sandbox.pay.mts.ru/private/v1/invoicing/sbp/create HTTP/1.1
Host: 
Content-Type:  application/json

Тело запроса

{
  "account" : "40702810520030000157",
  "accAlias" : "28db3bf4-2090-4d70-84ff-7319378a90cb",
  "amount" : 1300.01,
  "serviceId": "5560",
  "serviceParams": {
    "NUMBER": "79160026188",
    "payerEmail": "tests12345@mts.ru",
    "id1": "108882256562"
  },
  "description" : "Покупка чего-то там",
  "lifeTime": 14,
  "redirectUrl": "pay.mts.ru/success"
}

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

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

Тело ответа

{
  "id": 677,
  "paymentId": 121425,
  "status": "issued",
  "invoicePaymentPageUrl": "https://qr.nspk.ru/AD10004ER7VBKGFA9I2PQUI50GG13K3C?type=02&bank=100000000017&sum=285000&cur=RUB&crc=58B8"
}

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

code

message

userMessage

00299998

Validation error

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

00299999

An unexpected error has occurred

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

01000001

Invalid certificate

Сертификат не прошел проверку

01000002

Inactive merchant

Мерчант не активный

01000004

Service not available

Выбранный сервис недоступен мерчанту

06005101

Validation error

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

06005102

Authorization Error

Ошибка авторизации

06005103

An unexpected error has occurred

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