Мобильное приложение
Мобильная интеграция — способ интеграции интернет-эквайринга с платежной формой WebView, с помощью которого мерчант может отобразить форму в своем мобильном приложении.
Для безопасной работы интеграции:
- Подписывайте запросы токеном.
- Отправляйте запросы к API Т-Банка только со своего сервера.
- Используйте WebView — Chrome Custom Tabs для Android и SFSafariViewController для iOS. Эти WebView гарантируют совместимость с платежными системами, поддерживают все нужные сценарии (Deeplink, cookies, безопасность) и исключают ошибки интеграции, которые возникают при использовании других WebView.
Если вы уже применяете альтернативные решения — например, UIWebView, WKWebView и другие, использовать их же для интеграции нельзя.
Подключение
Интеграция работает со следующими способами оплаты:
- карты,
- СБП,
- T-Pay,
- Mir Pay,
- BNPL (Долями).
Для подключения платежной формы в WebView:
Настройте терминал — в личном кабинете интернет-эквайринга перейдите в раздел Магазины, на вкладке Терминалы нажмите Настроить и выберите тип подключения Универсальное.
Включите нужные способы оплаты — на вкладке Способы оплаты у нужного способа нажмите Настроить и включите его на вкладке Платежная форма Т-Банка.
Платежи
Принимать платежи по картам, T-Pay и Mir Pay можно двумя способами:
- Одностадийный платеж — мерчант списывает деньги за покупку сразу после завершения оплаты.
- Двухстадийный платеж — сначала мерчант блокирует деньги за покупку на карте покупателя и только потом списывает их.
По правилам Национальной системы платежных карт (НСПК), холдировать деньги на карте покупателя можно на срок до 7 дней.
Например, покупатель оплатил товар 1 марта, и его банк заморозил деньги на счете. Подтвердить платеж нужно в течение 7 дней, включая день авторизации — то есть до 7 марта включительно. После этого срока деньги на счете покупателя могут быть расхолдированы и покупатель может их потратить — подтвердить списание не получится.
У приема платежей через СБП нет двухстадийной оплаты — деньги со счета списываются сразу.
Одностадийный платеж
- Вызовите метод Инициировать платеж с обязательным указанием параметров
SuccessURL
иFailURL
*. - Получите параметр
PaymentURL
в ответе метода. - Откройте ссылку на платежную форму из параметра
PaymentURL
. Если приложение:- на Android — в Chrome Custom Tabs;
- на iOS — в SFSafariViewController.
- Дождитесь, когда покупатель оплатит заказ.
- При успешном сценарии операция перейдет в статус
CONFIRMED
, и покупатель будет перенаправлен на страницуSuccessURL
. - При неуспешном операция перейдет в статус
AUTH_FAIL
, а после трех попыток неудачной оплаты — вREJECTED
, и покупатель будет перенаправлен на страницуFailURL
. Список кодов ошибок.
- При успешном сценарии операция перейдет в статус
- Вызовите метод Получить статус платежа. Это нужно для дополнительной проверки успешности платежа. Также сравните поле
Amount
, чтобы убедиться, что оно соответствует сумме платежа.
* Для настройки перехода в ваше приложение укажите Deeplink в качестве SuccessURL
и FailURL
:
SuccessURL
—app://payment/success/PaymentId
;FailURL
—app://payment/fail/PaymentId
.
Двухстадийный платеж
- Вызовите метод Инициировать платеж с обязательным указанием параметров
SuccessURL
иFailURL
*. - Получите параметр
PaymentURL
в ответе метода. - Откройте ссылку на платежную форму из параметра
PaymentURL
. Если приложение:- на Android — в Chrome Custom Tabs;
- на iOS — в SFSafariViewController.
- Дождитесь, когда покупатель оплатит заказ.
- При успешном сценарии операция перейдет в статус
AUTHORIZED
, и покупатель будет перенаправлен на страницуSuccessURL
. - При неуспешном операция перейдет в статус
AUTH_FAIL
, а после трех попыток неудачной оплаты — вREJECTED
, и покупатель будет перенаправлен на страницуFailURL
. Список кодов ошибок.
- При успешном сценарии операция перейдет в статус
- Вызовите метод Получить статус платежа. Это нужно для дополнительной проверки успешности платежа. Также сравните поле
Amount
, чтобы убедиться, что оно соответствует ожидаемой сумме платежа. - Вызовите метод Подтвердить списание для подтверждения платежа c параметром
PaymentId
. При успешном сценарии операция перейдет в статусCONFIRMED
.
* Для настройки перехода в ваше приложение укажите Deeplink в качестве SuccessURL
и FailURL
:
SuccessURL
—app://payment/success/PaymentId
;FailURL
—app://payment/fail/PaymentId
.