Прием платежей через T-Pay
С 1 сентября 2026 года Т-Банк отключает оплату через T-Pay по QR-коду в десктопном браузере (требование закона об универсальном платежном коде № 248-ФЗ от 23.07.2025).
До указанной даты действует текущий сценарий с QR-кодом. С 1 сентября 2026 года вместо QR-кода плательщика нужно перенаправлять по ссылке в веб-интерфейс Т-Банка для оплаты.
Перейти на новый сценарий можно уже сейчас — уведомлять Т-Банк или согласовывать переход не нужно.
При приеме платежа через T-Pay аутентификация плательщика происходит через вход в приложение Т-Банка. Для платежа не требуется вводить данные карты.
Принимать платежи через T-Pay можно:
- с использованием QR-кода, если платеж производится в десктопном браузере (вы отображаете QR-код самостоятельно);
- с использованием ссылки для перехода в приложение Т-Банка, если платеж производится с мобильного устройства.
Оплата через T-Pay проводится только с холдированием средств.
Сценарий оплаты
Сценарий зависит от канала платежа плательщика: мобильное устройство (mobile) или десктопный браузер (desktop). Параметры устройства плательщика в запросе определяют тип ссылки на оплату, которая придет в вебхуке action_required.
- Мобильное устройство (mobile)
- Десктопный браузер (desktop)
-
Создайте платежную сессию отдельно от платежа методом
session/createи затем начните платеж (session/start/payment), или создайте сессию одновременно с платежом c помощью методаsession/init/payment. Передайте необходимые параметры:- В объекте
internet_bankingпередайте значениеtpayв параметреtype. - В объекте
platform_detailsпередайте значениеmobileв параметреtype. Укажите одно из допустимых значений для параметровosиbrowser.
Пример запроса
curl -X POST \https://proxy.bank131.ru/api/v1/session/init/payment \-H 'Content-Type: application/json' \-H 'X-PARTNER-PROJECT: your_project_name' \-H 'X-PARTNER-SIGN: signature' \-d '{"payment_details": {"type": "internet_banking","internet_banking": {"type": "tpay"}},"amount_details": {"amount": 67000,"currency": "RUB"},"customer": {"reference": "lucky"},"payment_options": {"platform_details": {"type": "mobile","os": "ios","browser": "chrome"}}}'Пример ответа
{"status": "ok","session": {"id": "ps_3813062","status": "in_progress","created_at": "2025-09-05T07:14:28.236854Z","updated_at": "2025-09-05T07:14:28.298522Z","acquiring_payments": [{"id": "pm_2769418","status": "in_progress","created_at": "2025-09-05T07:14:28.310910Z","customer": {"reference": "lucky"},"payment_details": {"type": "internet_banking","internet_banking": {"type": "tpay"}},"amount_details": {"amount": 67000,"currency": "RUB"},"amounts": {}}]}} - В объекте
-
Дождитесь от Банка 131 вебхука
ready_to_confirm— он означает, что Банк готов провести платеж и ждет вашего подтверждения. -
Подтвердите платеж запросом
session/confirmили отмените платеж, отправив запросsession/cancel. -
Дождитесь вебхука
action_requiredсо ссылкой на оплату в параметреredirect.url.Пример вебхука
curl -X POST \https://partner.ru \-H 'content-type: application/json' \-H 'X-PARTNER-SIGN: signature' \-d '{"type": "action_required","session": {"id": "ps_3813062","status": "in_progress","created_at": "2025-09-05T07:49:12.513214Z","updated_at": "2025-09-05T07:49:24.628403Z","acquiring_payments": [{"id": "pm_2769418","status": "pending","created_at": "2025-09-05T07:49:12.605322Z","customer": {"reference": "lucky"},"payment_details": {"type": "internet_banking","internet_banking": {"type": "tpay"}},"amount_details": {"amount": 67000,"currency": "RUB"},"amounts": {},"customer_interaction": {"type": "redirect","redirect": {"url": "https://o.tbank.ru/tpay/3000000000000021275","base_url": "https://o.tbank.ru/tpay/3000000000000021275","method": "GET","params": {}}}}],"actions": {"confirm": "2025-09-05T07:49:24.148058Z"}}}' -
Перенаправьте плательщика по ссылке из параметра
redirect.urlв приложение Т-Банка. Дождитесь, когда плательщик либо подтвердит, либо отменит оплату.У плательщика будет 20 минут на оплату с момента перехода по ссылке. Если не оплатит вовремя, операция автоматически отменится со статусом
canceled. -
Дождитесь от Банка 131 вебхука
ready_to_captureи спишите захолдированную или меньшую сумму (session/capture), либо отмените оплату (session/cancel). -
Дождитесь от Банка 131 вебхука
payment_finishedс результатом проведения платежа. Статусsucceededозначает, что платеж успешно проведен.
-
Создайте платежную сессию отдельно от платежа методом
session/createи затем начните платеж (session/start/payment), или создайте сессию одновременно с платежом c помощью методаsession/init/payment. Передайте необходимые параметры:- В объекте
internet_bankingпередайте значениеtpayв параметреtype. - В объекте
platform_detailsпередайте значениеdesktopв параметреtype. Укажите одно из допустимых значений для параметровosиbrowser.
Пример запроса
curl -X POST \https://proxy.bank131.ru/api/v1/session/init/payment \-H 'Content-Type: application/json' \-H 'X-PARTNER-PROJECT: your_project_name' \-H 'X-PARTNER-SIGN: signature' \-d '{"payment_details": {"type": "internet_banking","internet_banking": {"type": "tpay"}},"amount_details": {"amount": 67000,"currency": "RUB"},"customer": {"reference": "lucky"},"payment_options": {"platform_details": {"type": "desktop","os": "windows","browser": "chrome"}}}'Пример ответа
{"status": "ok","session": {"id": "ps_3813062","status": "in_progress","created_at": "2025-09-05T07:14:28.236854Z","updated_at": "2025-09-05T07:14:28.298522Z","acquiring_payments": [{"id": "pm_2769418","status": "in_progress","created_at": "2025-09-05T07:14:28.310910Z","customer": {"reference": "lucky"},"payment_details": {"type": "internet_banking","internet_banking": {"type": "tpay"}},"amount_details": {"amount": 67000,"currency": "RUB"},"amounts": {}}]}} - В объекте
-
Дождитесь от Банка 131 вебхука
ready_to_confirm— он означает, что Банк готов провести платеж и ждет вашего подтверждения. -
Подтвердите платеж запросом
session/confirmили отмените платеж, отправив запросsession/cancel. -
Дождитесь вебхука
action_requiredсо ссылкой на оплату в параметреredirect.url. Покажите плательщику эту ссылку в виде QR-кода, преобразовав ее в QR-код самостоятельно.Пример вебхука
curl -X POST \https://partner.ru \-H 'content-type: application/json' \-H 'X-PARTNER-SIGN: signature' \-d '{"type": "action_required","session": {"id": "ps_3813062","status": "in_progress","created_at": "2025-09-05T07:49:12.513214Z","updated_at": "2025-09-05T07:49:24.628403Z","acquiring_payments": [{"id": "pm_2769418","status": "pending","created_at": "2025-09-05T07:49:12.605322Z","customer": {"reference": "lucky"},"payment_details": {"type": "internet_banking","internet_banking": {"type": "tpay"}},"amount_details": {"amount": 67000,"currency": "RUB"},"amounts": {},"customer_interaction": {"type": "redirect","redirect": {"url": "https://www.tinkoff.ru/tpay/3000000000000021275","base_url": "https://www.tinkoff.ru/tpay/3000000000000021275","method": "GET","params": {}}}}],"actions": {"confirm": "2025-09-05T07:49:24.148058Z"}}}' -
Отобразите ссылку из параметра
redirect.urlв виде QR-кода. Дождитесь, когда плательщик либо подтвердит, либо отменит оплату.У плательщика будет 20 минут на оплату с момента перехода по ссылке. Если не оплатит вовремя, операция автоматически отменится со статусом
canceled. -
Дождитесь от Банка 131 вебхука
ready_to_captureи спишите захолдированную или меньшую сумму (session/capture), либо отмените оплату (session/cancel). -
Дождитесь от Банка 131 вебхука
payment_finishedс результатом проведения платежа. Статусsucceededозначает, что платеж успешно проведен.
Оплата через веб-интерфейс Т-Банка
С 1 сентября 2026 года сценарий оплаты в десктопном браузере следующий:
- Создайте платежную сессию отдельно от платежа методом
session/createи затем начните платеж (session/start/payment), или создайте сессию одновременно с платежом c помощью методаsession/init/payment. Передайте необходимые параметры:- В объекте
internet_bankingпередайте значениеtpayв параметреtype. - В объекте
platform_detailsпередайте значениеdesktopв параметреtype. Укажите одно из допустимых значений для параметровosиbrowser.
- В объекте
Пример запроса
curl -X POST \
https://proxy.bank131.ru/api/v1/session/init/payment \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_details": {
"type": "internet_banking",
"internet_banking": {
"type": "tpay"
}
},
"amount_details": {
"amount": 67000,
"currency": "RUB"
},
"customer": {
"reference": "lucky"
},
"payment_options": {
"platform_details": {
"type": "desktop",
"os": "windows",
"browser": "chrome"
}
}
}'
- Дождитесь от Банка 131 вебхука
ready_to_confirm— он означает, что Банк готов провести платеж и ждет вашего подтверждения. - Подтвердите платеж запросом
session/confirmили отмените платеж, отправив запросsession/cancel. - Дождитесь вебхука
action_requiredсо ссылкой на оплату в параметреredirect.url.
Пример вебхука
curl -X POST \
https://partner.ru \
-H 'content-type: application/json' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"type": "action_required",
"session": {
"id": "ps_3813062",
"status": "in_progress",
"created_at": "2025-09-05T07:49:12.513214Z",
"updated_at": "2025-09-05T07:49:24.628403Z",
"acquiring_payments": [{
"id": "pm_2769418",
"status": "pending",
"created_at": "2025-09-05T07:49:12.605322Z",
"customer": {
"reference": "lucky"
},
"payment_details": {
"type": "internet_banking",
"internet_banking": {
"type": "tpay"
}
},
"amount_details": {
"amount": 67000,
"currency": "RUB"
},
"amounts": {},
"customer_interaction": {
"type": "redirect",
"redirect": {
"url": "https://www.tinkoff.ru/tpay/3000000000000021275",
"base_url": "https://www.tinkoff.ru/tpay/3000000000000021275",
"method": "GET",
"params": {}
}
}
}],
"actions": {
"confirm": "2025-09-05T07:49:24.148058Z"
}
}
}'
-
Перенаправьте плательщика по ссылке из параметра
redirect.urlв веб-интерфейс Т-Банка. Дождитесь, когда плательщик либо подтвердит, либо отменит оплату.Ссылку на оплату нельзя открывать в
iframe. Плательщика нужно напрямую перенаправить по этой ссылке в веб-интерфейс Т-Банка.У плательщика будет 20 минут на оплату с момента перехода по ссылке. Если не оплатит вовремя, операция автоматически отменится со статусом
canceled. -
Дождитесь от Банка 131 вебхука
ready_to_captureи спишите захолдированную или меньшую сумму (session/capture), либо отмените оплату (session/cancel). -
Дождитесь от Банка 131 вебхука
payment_finishedс результатом проведения платежа. Статусsucceededозначает, что платеж успешно проведен.
Схема платежа
Посмотреть схемы
- Мобильное устройство (mobile)
- Десктопный браузер (desktop)
- Десктопный браузер (desktop): оплата через веб-интерфейс



Рекуррентные платежи
Чтобы проводить рекуррентные платежи MIT или рекуррентные платежи CIT через T-Pay:
-
Получите рекуррентный токен, передав в запросе
recurrent=true(в объектеpayment_options). Если платеж пройдет успешно, в вебхукеpayment_finishedв параметреrecurrent.tokenвернется токен.Пример запроса
curl -X POST \https://proxy.bank131.ru/api/v1/session/init/payment \-H 'Content-Type: application/json' \-H 'X-PARTNER-PROJECT: your_project_name' \-H 'X-PARTNER-SIGN: signature' \-d '{"payment_details": {"type": "internet_banking","internet_banking": {"type": "tpay"}},"amount_details": {"amount": 670000,"currency": "RUB"},"customer": {"reference": "lucky"},"payment_options": {"recurrent": true,"platform_details": {"type": "mobile","os": "ios","browser": "chrome"}}}'Пример ответа
{"status": "ok","session": {"id": "ps_3813071","status": "in_progress","created_at": "2025-09-05T07:24:45.996726Z","updated_at": "2025-09-05T07:24:46.081328Z","acquiring_payments": [{"id": "pm_2769427","status": "in_progress","created_at": "2025-09-05T07:24:46.108909Z","customer": {"reference": "lucky"},"payment_details": {"type": "internet_banking","internet_banking": {"type": "tpay"}},"amount_details": {"amount": 670000,"currency": "RUB"},"amounts": {},"payment_options": {"recurrent": true}}]}} -
При проведении последующих платежей передавайте рекуррентный токен.
Примеры
- Рекуррентный платеж MIT
- Рекуррентный платеж CIT
- Пример запроса
- Пример ответа
curl -X POST \https://proxy.bank131.ru/api/v1/session/init/payment \-H 'Content-Type: application/json' \-H 'X-PARTNER-PROJECT: your_project_name' \-H 'X-PARTNER-SIGN: signature' \-d '{"payment_details": {"type": "recurrent","recurrent": {"token": "e9876f32bcd947f79c324cf2da5726304a894f6ae2037de7705fdb3e0a134d39","initiator":"merchant"}},"amount_details": {"amount": 670000,"currency": "RUB"},"customer": {"reference": "lucky"},"payment_options": {"platform_details": {"type": "mobile","os": "android","browser": "chrome"}}}'{"status": "ok","session": {"id": "ps_3812845","status": "in_progress","created_at": "2025-09-03T11:04:27.322539Z","updated_at": "2025-09-03T11:04:27.381848Z","acquiring_payments": [{"id": "pm_2769255","status": "in_progress","created_at": "2025-09-03T11:04:27.394705Z","customer": {"reference": "lucky"},"payment_details": {"type": "internet_banking","internet_banking": {"type": "tpay"}},"amount_details": {"amount": 670000,"currency": "RUB"},"amounts": {}}]}}- Пример запроса
- Пример ответа
curl -X POST \https://proxy.bank131.ru/api/v1/session/init/payment \-H 'Content-Type: application/json' \-H 'X-PARTNER-PROJECT: your_project_name' \-H 'X-PARTNER-SIGN: signature' \-d '{"payment_details": {"type": "recurrent","recurrent": {"token": "e9876f32bcd947f79c324cf2da5726304a894f6ae2037de7705fdb3e0a134d39","initiator":"client"}},"amount_details": {"amount": 670000,"currency": "RUB"},"customer": {"reference": "lucky"},"payment_options": {"platform_details": {"type": "mobile","os": "ios","browser": "chrome"}}}'{"status": "ok","session": {"id": "ps_3812844","status": "in_progress","created_at": "2025-09-03T11:04:27.322539Z","updated_at": "2025-09-03T11:04:27.381848Z","acquiring_payments": [{"id": "pm_2769254","status": "in_progress","created_at": "2025-09-03T11:04:27.394705Z","customer": {"reference": "lucky"},"payment_details": {"type": "internet_banking","internet_banking": {"type": "tpay"}},"amount_details": {"amount": 670000,"currency": "RUB"},"amounts": {}}]}}
Возврат платежей
Сценарий возврата платежей через T-Pay ничем не отличается от стандартного.