/tinkoff-asdk-android

Primary LanguageJavaOtherNOASSERTION

Tinkoff Acquiring SDK for Android

Maven Central

PayFormActivity

Acquiring SDK позволяет интегрировать Интернет-Эквайринг Tinkoff в мобильные приложения для платформы Android.

Возможности SDK:

  • Прием платежей (в том числе рекуррентных)
  • Сохранение банковских карт клиента
  • Сканирование и распознавание карт с помощью камеры или NFC
  • Получение информации о клиенте и сохраненных картах
  • Управление сохраненными картами
  • Поддержка английского

Требования

Для работы Tinkoff Acquiring SDK необходим Android версии 4.0 и выше (API level 14).

Подключение

Для подключения SDK добавьте в build.gradle вашего проекта следующую зависимость:

compile 'ru.tinkoff.acquiring:ui:$latestVersion'

Подготовка к работе

Для начала работы с SDK вам понадобятся:

  • Terminal key
  • Пароль
  • Public key

которые выдаются после подключения к Интернет-Эквайрингу.

Пример работы

Для проведения оплаты необходимо запустить PayFormActivity. Активити должна быть настроена на обработку конкретного платежа, поэтому для получения интента для ее запуска необходимо вызвать цепочку из методов PayFormActivity#init, PayFormStarter#prepare и PayFormStarter#setCustomerKey:

PayFormActivity
        .init("TERMINAL_KEY", "PASSWORD", "PUBLIC_KEY") // данные продавца
        .prepare(
               "ORDER-ID",                  // ID заказа в вашей системе
                1000,                       // сумма для оплаты
                "НАЗВАНИЕ ПЛАТЕЖА",         // название платежа, видимое пользователю
                "ОПИСАНИЕ ПЛАТЕЖА",         // описание платежа, видимое пользователю
                "CARD-ID",                  // ID карточки
                "batman@gotham.co",         // E-mail клиента для отправки уведомления об оплате
                false,                      // флаг определяющий является ли платеж рекуррентным [1]
                true                        // флаг использования безопасной клавиатуры [2]
        )
        .setCustomerKey("CUSTOMER_KEY")     // уникальный ID пользователя для сохранения данных его карты
        .startActivityForResult(this, REQUEST_CODE_PAYMENT);

[1] Рекуррентный платеж может производиться для дальнейшего списания средств с сохраненной карты, без ввода ее реквизитов. Эта возможность, например, может использоваться для осуществления платежей по подписке.

[2] Безопасная клавиатура используется вместо системной и обеспечивает дополнительную безопасность ввода, т.к. сторонние клавиатуры на устройстве клиента могут перехватывать данные и отправлять их злоумышленнику.

Структура

SDK состоит из следующих модулей:

Core

Является базовым модулем для работы с Tinkoff Acquiring API. Модуль реализует протокол взаимодействия с сервером и позволяет не осуществлять прямых обращений в API. Не зависит от Android SDK и может использоваться в standalone Java приложениях.

Основной класс модуля - AcquiringSdk - предоставляет фасад для взаимодействия с Tinkoff Acquiring API. Для работы необходимы ключи и пароль продавца (см. Подготовка к работе).

UI

Содержит интерфейс, необходимый для приема платежей через мобильное приложение.

Основной класс - PayFormActivity - экран с формой оплаты, который позволяет:

  • просматривать информацию о платеже
  • вводить или сканировать реквизиты карты для оплаты
  • проходить 3DS подтверждение
  • управлять списком ранее сохраненных карт

Sample

Содержит пример интеграции Tinkoff Acquiring SDK в мобильное приложение по продаже книг.

Поддержка

  • Просьба, по возникающим вопросам обращаться на card_acquiring@tinkoff.ru
  • Баги и feature-реквесты можно направлять в раздел issues
  • JavaDoc