Использование библиотеки PayKeeper в собственном Android приложении

Для того, чтобы добавить библиотеку PayKeeper в существующее приложение для Android необходимо установить ее в качестве зависимости в настройках Вашего приложения для Android в режиме исходного кода либо библиотеки AAR.

Подключение mSDK PayKeeper в режиме исходного кода

Для добавления зависимости в режиме исходного кода, добавьте следующие директивы в файл settings.gradle:

При этом папка с исходным кодом библиотеки Paykeeper должна находится в одной корневой директории с Вашим проектом на Android.
В файл build.gradle добавьте:

Для корректной работы библиотеки PayKeeper в Вашей среде разработки Android Studio должны быть установлены плагины Flutter и Dart.

Подключение mSDK PayKeeper в режиме библиотеки AAR

Вы можете подключить mSDK PayKeeper в виде заранее скомпилированной библиотеки AAR. Актуальную версию архива с библиотекой AAR можно скачать здесь.
Для подключения библиотеки в Ваше приложение необходимо добавить в настройки файла app/build.gradle слеюущие параметры:

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

Использование функционала оплаты

Чтобы инициализировать процедуру оплаты с помощью библиотеки PayKeeper, в приложение для Android необходимо добавить реализацию активности, которая будет содержать обработчик сообщений, отправляемых библиотекой PayKeeper. Обмен сообщениями реализован при помощи класса MethodChannel платформы Flutter, поэтому активность с обработчиком сообщений будем называть активностью Флаттера.
Пример вызова активности Флаттера (MainFlutterActivity) — например, по нажатию на кнопку «Оплатить» в приложении — ниже:

Пример реализации активности MainFlutterActivity ниже:

В вышеуказанном примере в методе по-умолчанию configureFlutterEngine() должен быть задан обработчик сообщений от библиотеки PayKeeper:

В нашем примере методом обработчика является метод json(). В дальнейшей реализации последнего создается объект класса Gson, с помощью которого в блоке switch() осуществляется обработка сообщений. Сообщения могут быть следующими:

  • Код 1: Инициализация оплаты.

    В обработчике инициализируются данные авторизации на служебном сервере PayKeeper (publicKeyId и publicKey), а также параметры формы оплаты: sum,clientid,orderid,client_email,cart (более подробную информацию о параметрах оплаты Вы можете прочитать в нашей базе знаний в разделе Методы интеграции > HTML-форма). Параметры оплаты возвращаются обработчиком в формате JSON-строки, как указано в примере.

  • Код 3: Успешная оплата.

    Обработчик реализует действия, которые должны осуществляться после успешной оплаты. В нашем примере вызывается активность, которая выводит сообщение об успешной оплате.

  • Код 4: Ошибка оплаты.

    Обработчик реализует действия, которые производятся в случае неуспешной оплаты. При обработке данного сообщения при необходимости можно получить сообщение с конкретной ошибкой оплаты, а также подробный лог (stackTrace).

Библиотека PayKeeper в процессе работы может также отправлять сообщения с другими кодами. Сообщения с кодом, отличным от вышеуказанных, можно игнорировать — их появление не должно приводить к ошибкам со стороны приложения для Android, которое использует библиотеку PayKeeper.