1.   Общие сведения

SDK Assist.Mobile позволяет упростить разработку мобильного приложения интернет-магазина для проведения через АПК Assist платежей банковской картой с мобильных устройств.

Пользователями SDK Assist.Mobile являются разработчики мобильного приложения интернет-магазина.

Настоящий документ содержит сведения по установке, настройке и использованию SDK Assist.Mobile, достаточные для его применения.

2.   Системные требования

Для работы с Assist.Mobile необходимо использовать Android SDK версии не ниже 15 (Android 4.0.3).

3.   Описание SDK Assist.Mobile

SDK Assist.Mobile представляет собой файл mobilePay-release-X.X.X.aar. Для доступа к функционалу библиотеки необходимо использовать класс:

ru.assisttech.sdk.AssistSDK

Этот класс содержит следующий метод:

AssistPayEngine AssistSDK.getPayEngine(Activity activity)

Метод возвращает экземпляр класса, реализующего функции оплаты для частных лиц.

После получения объекта AssistPayEngine для проведения оплаты необходимо его инициализировать. Для этого требуется установить адрес сервера, через который будет проводиться оплата вызовом метода:

assistPayEngine.setServerURL(String url).

Для контроля и получения результата работы AssistPayEngine используется интерфейс PayEngineListener устанавливаемый методом:

void assistPayEngine.setEngineListener(PayEngineListener listener).

Для запуска процесса оплаты используется метод:

assistPayEngine.payWeb(Activity caller, AssistPaymentData data, boolean useCamera),

где

caller – Activity, из которой осуществляется запуск процесса оплаты;

data — объект, содержащий параметры и данные, необходимые для проведения платежа;

useCamera — флаг, указывающий использовать камеру мобильного устройства для считывания номера банковской карты покупателя или номер вводится вручную.

После успешного завершения платежа можно сохранить подпись покупателя с помощью метода:

void assistPayEngine.setUserSignature(long id, byte[] signature),

где

id — ID транзакции оплаты.

Дополнительно проверить результат платежа можно с помощью метода:

void assistPayEngine.getOrderResult(Activity caller, long id).

Прервать процесс оплаты можно с помощью метода:

void assistPayEngine.stopPayment(Activity caller).

Класс ru.assisttech.sdk.AssistPaymentData, позволяющий устанавливать параметры оплаты, содержит следующие методы:

Формируется строка, сшитая из следующих параметров заказа: MerchantId;OrderNumber;OrderAmount;OrderCurrency, разделенных точкой с запятой. На базе этой строки алгоритмом MD5 формируется дайджест. Дайджест подписывается закрытым RSA ключом мерчанта. Длина ключа - 1024. Полученная байтовая последовательность является подписью магазина. Подпись передается в запросе как дополнительный параметр, закодированный в виде строки BASE64.

Хранение результатов оплаты

Проведенные оплаты сохраняются в SQLite DB, доступ к которой осуществляется через интерфейс AssistTransactionStorage и классы AssistTransactionFilter и AssistTransactionsLoader.

Класс AssistTransactionStorage предназначен для доступа к единичной транзакции по ID, в то время как AssistTransactionsLoader используется для получения списка транзакций без блокирования основного потока приложения.

Класс AssistTransactionFilter используется для фильтрации списка транзакций, получаемых от AssistTransactionStorage.

Получить экземпляр класса AssistTransactionStorage можно с помощью метода:

AssistTransactionStorage assistPayEngine.transactionStorage().

Экземпляр класса AssistTransactionsLoader необходимо создавать в методе onCreateLoader(int id, Bundle args) класса, реализующего интерфейс LoaderManager.LoaderCallbacks<>.

4.   Поддержка AndroidPay

Для работы с AndroidPay рекомендуется предварительно ознакомиться с документацией на сайте разработчика https://developers.google.com/android-pay/.

На данный момент работа с кошельком Google представлена в режиме SANDBOX. Поэтому для определения возможности проведения тестового платежа требуется связаться со службой поддержки Ассист support@assist.ru.

5.   Поддержка SamsungPay

Для использования SamsungPay в своем приложении предприятию необходимо зарегистрироваться в Samsung и зарегистрировать свое приложение, а затем получить SamsungPay SDK http://www.samsung.com/ru/apps/mobile/samsungpay/.

Далее следует создать запрос на сертификат, выпустить сертификат магазина в Samsung и передать его в Ассист через support@assist.ru для подключения услуги SamsungPay.

В своем приложении необходимо следовать инструкции Samsung для инициации платежа через SamsungPay. Для завершения оплаты SamsungPay нужно передать данные, полученные из SamsungPay SDK в Assist с помощью функции AssistPayEngine.payToken().





https://github.com/assist-group/assist-mcommerce-sdk-android