T-Pay
Особенности
- Тип способа оплаты в API:
tinkoff_bank
- Сценарий подтверждения: Redirect
- Срок оплаты: 1 час
- Холдирование: 7 дней, доступно полное и частичное списание оплаты
- Код в реестре: TB
- Возврат: да, полный и частичный
- Автоплатежи: да
- Лимиты: минимальный размер платежа — 1 рубль, максимальный — 700 000 рублей (можно увеличить через менеджера)
Сценарии интеграции
Готовые решения:
Самостоятельная интеграция: Оплата в приложении Т-Банка
Оплата в приложении Т-Банка
Как это работает
В этом сценарии вы самостоятельно реализуете выбор способа оплаты. После создания платежа вы перенаправляете пользователя на страницу ЮKassa. На этой странице отобразится QR-код или кнопка для перехода в приложение Т-Банка.
Пример платежной формы
Для интеграции добавьте на ваш сайт кнопку, по которой пользователь перейдет к оплате. Когда пользователь перейдет по кнопке, получите от ЮKassa ссылку на готовую страницу оплаты и перенаправьте на неё пользователя. Когда пользователь вернется обратно к вам на сайт, запросите у ЮKassa результаты платежа.
Как провести платеж
Шаг 1. Когда пользователь выберет T-Pay, создайте платеж : отправьте ЮKassa запрос с данными для аутентификации запроса, ключом идемпотентности и данными для платежа:
- в объекте
amount
передайте сумму, которую нужно списать с пользователя; сумма должна укладываться в лимиты; - в объекте
payment_method_data
передайте код способа оплатыtinkoff_bank
; - в объекте
confirmation
передайте типredirect
и адрес страницы на вашей стороне, на которую пользователь вернется после оплаты (в параметреreturn_url
); - в параметре
description
передайте описание платежа, которое пользователь увидит при оплате.
Пример запроса
cURL
PHP
Python
curl https://api.yookassa.ru/v3/payments \ -X POST \ -u <Идентификатор магазина>:<Секретный ключ> \ -H 'Idempotence-Key: <Ключ идемпотентности>' \ -H 'Content-Type: application/json' \ -d '{ "amount": { "value": "2.00", "currency": "RUB" }, "payment_method_data": { "type": "tinkoff_bank" }, "confirmation": { "type": "redirect", "return_url": "https://www.example.com/return_url" }, "description": "Заказ №72" }'
Развернуть
В ответ на запрос вернется объект платежа в актуальном статусе.
Шаг 2. Перенаправьте пользователя на страницу ЮKassa, адрес которой придет в
confirmation_url
. Это ссылка на готовую страницу ЮKassa.Пример созданного объекта платежа
JSON
{ "id": "23ce833e-000f-5000-8000-172b6722debf", "status": "pending", "paid": false, "amount": { "value": "2.00", "currency": "RUB" }, "confirmation": { "type": "redirect", "confirmation_url": "https://yoomoney.ru/checkout/payments/v2/contract/tinkoff-pay?orderId=23ce833e-000f-5000-8000-172b6722debf" }, "created_at": "2019-01-14T11:16:14.441Z", "description": "Заказ №72", "metadata": {}, "payment_method": { "type": "tinkoff_bank", "id": "23ce833e-000f-5000-8000-172b6722debf", "saved": false }, "recipient": { "account_id": "100500", "gateway_id": "100700" }, "refundable": false, "test": false }
Развернуть
Шаг 3. Дождитесь успешного завершения платежа: подождите, когда придет уведомление от ЮKassa, или периодически отправляйте запросы, чтобы получить информацию о платеже .
Пример платежа в статусе succeeded
JSON
{ "id": "23ce833e-000f-5000-8000-172b6722debf", "status": "succeeded", "amount": { "value": "2.00", "currency": "RUB" }, "income_amount": { "value": "1.93", "currency": "RUB" }, "description": "Заказ №72", "recipient": { "account_id": "100500", "gateway_id": "100700" }, "payment_method": { "type": "tinkoff_bank", "id": "23ce833e-000f-5000-8000-172b6722debf", "saved": false, "card": { "first6": "555555", "last4": "4444", "expiry_year": "2022", "expiry_month": "07", "card_type": "MasterCard" } }, "captured_at": "2023-09-08T09:30:11.721Z", "created_at": "2023-09-08T09:29:48.933Z", "test": false, "refunded_amount": { "value": "0.00", "currency": "RUB" }, "paid": true, "refundable": true, "metadata": {}, "authorization_details": { "rrn": "10000000000", "auth_code": "000000", "three_d_secure": { "applied": false } } }
Развернуть
Шаг 4. Когда пользователь вернется на
return_url
, отобразите результат проведения платежа (успех или неудача) в зависимости от статуса платежа.Готово! Если вы проводите платеж в две стадии, подтвердите списание оплаты или отмените платеж. Сообщите пользователю финальный результат платежа.
Статья была полезна?
Да
Нет
Что почитать еще