public class PayControl
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static class |
PayControl.PCCodeType
Тип кода для вычисления
|
static class |
PayControl.TypeConfirmation
Тип подтверждения
|
static class |
PayControl.TypeSystem
Тип системы
|
static class |
PayControl.TypeTransaction
Тип транзакции
|
| Modifier and Type | Field and Description |
|---|---|
static int |
KEYS_MAX_COUNT
Максимальное количество ключей, хранимых в хранилище
|
static int |
PC_LOG_DEBUG
Уровень логирования библиотеки - выводить отладочную информацию в logcat
|
static int |
PC_LOG_KEY_VALUES
Уровень логирования библиотеки - выводить значения ключей в logcat.
|
static int |
PC_NO_LOGGING
Уровень логирования библиотеки - без логирования
|
| Constructor and Description |
|---|
PayControl(android.content.Context context)
Конструктор класса
|
| Modifier and Type | Method and Description |
|---|---|
void |
calculateConfirmationCode(PCKey key,
java.lang.String data,
int confirmationCodeLength,
PCCalculateConfirmationCodeCallback callback)
Генерация кода подтверждения
|
void |
calculateConfirmationCode(PCKey key,
Transaction transaction,
int confirmationCodeLength,
PCCalculateConfirmationCodeCallback callback)
Генерация кода подтверждения
|
void |
calculateDeclineCode(PCKey key,
java.lang.String data,
int declineCodeLength,
PCCalculateDeclineCodeCallback callback)
Генерация кода отмены транзакции
|
void |
calculateDeclineCode(PCKey key,
Transaction transaction,
int declineCodeLength,
PCCalculateDeclineCodeCallback callback)
Генерация кода отмены транзакции
|
void |
calculateSignature(PCKey key,
java.lang.String data,
PCCalculateSignatureCallback callback)
Генерация подписи с использованием асимметричной криптографии
|
void |
calculateSignature(PCKey key,
Transaction transaction,
PCCalculateSignatureCallback callback)
Генерация подписи с использованием асимметричной криптографии
|
boolean |
closeQRScanner()
Закрывает QR сканер
|
void |
deleteKey(java.lang.String keyID,
PCSimpleCallback callback)
Удаление ключа из хранилища
|
void |
destroy()
Деструктор класса
|
void |
doGetTransactionData(PCKey key,
java.lang.String transactionId,
PCISTransactionDataCallback pccallack)
Метод для получения данных транзакции
|
void |
doGetTransactionsList(PCKey key,
PCISListTransactionsCallback pccallack)
Метод для получения списка неподтвержденных транзакций для пользователя
|
void |
doRegisterDevice(PCKey key,
java.lang.String deviceToken,
PCISSimpleCallback pccallack)
Метод для регистрации токена устройства для пушей
|
void |
doRegisterFingerprint(PCKey key,
java.lang.String fingerPrint,
PCISSimpleCallback pccallack)
Метод для регистрации отпечатка устройства
|
void |
doRegisterPublicKey(PCKey key,
PCISSimpleCallback pccallack)
Метод для регистрации открытого ключа для объекта PCKey
Если ранее была сгенерирована ключавая пара, то будет использовано текущее значение В противном случае будет сформирована новая ключевая пара |
void |
doSendConfirmationCodeByPush(PCKey key,
java.lang.String transactionId,
java.lang.String fullConfirmationCode,
java.lang.String signature,
PCISSimpleCallback pccallack)
Метод для подтверждения операции через IS
Должно быть установлено значение fullConfirmationCode и, опционально, singature При работе с сервером PayControl настоятельно рекомендуется вычислять значение signature При работе с DSS вычисление signature не поддерживается, и значение указывать не нужно |
void |
doSendConfirmationCodeByUrl(PCKey key,
java.lang.String transactionId,
java.lang.String fullConfirmationCode,
java.lang.String signature,
PCISSimpleCallback pccallack)
Метод для подтверждения операции Online
Должно быть установлено значение fullConfirmationCode и, опционально, singature При работе с сервером PayControl настоятельно рекомендуется вычислять значение signature При работе с DSS вычисление signature не поддерживается, и значение указывать не нужно |
void |
doSendDeclineCodeByPush(PCKey key,
java.lang.String transactionId,
java.lang.String fullConfirmationCode,
PCISSimpleCallback pccallack)
Метод для отправки кода подтверждения через IS
|
void |
doSendDeclineCodeByUrl(PCKey key,
java.lang.String transactionId,
java.lang.String fullConfirmationCode,
PCISSimpleCallback pccallack)
Метод для отправки кода подтверждения Online
|
void |
exportKey(java.lang.String keyID,
PCExportKeyCallback callback)
Экспорт ключа
|
java.lang.String |
getFingerPrint(int fingerprintLength)
Формирование отпечатка устройства
|
int |
getKeysCount()
Возвращает количество ключей в базе данных
|
java.util.HashMap<java.lang.String,java.lang.String> |
getSpyAppsList()
Метод для формирования списка приложений с запросом на разрешения PACKAGE_USAGE_STATS и SYSTEM_ALERT_WINDOW,
за исключением системных приложений Приложения с такими разрешениеми имеют возможность отслеживать название запущенного в любой момент времени приложения и выводить собственное содержание поверх него, что необходимо для выполнения Overlay-атаки (перекрытия окна) Функция не добавляет в список следующие приложения: com.sec.android.easyMover - https://play.google.com/store/apps/details ? |
void |
getTransactionInfo(java.lang.String data,
PCTransactionInfoCallback callback)
Получение информации о транзакции.
|
PCKey |
importFromQRValue(java.lang.String qrData)
Импорт ключа из данных QR-кода.
|
PCKey |
importFromStorage(java.lang.String keyID)
Заполнение ключа из хранилища PayControl.
|
PCKey |
importFromXML(java.lang.String exportedKey)
Импорт ключа в XML-формате.
|
boolean |
isEmpty()
Проверяет, есть ли ключи в базе данных
|
boolean |
isRooted()
Метод проверки аппарата на рут-права
Если вернется true, значит аппарат рутован При проверке не учитывается наличие BusyBox |
void |
listKeys(PCListKeysCallback callback)
Перечисление доступных наборов ключевой информации
|
void |
pause()
Используется для сохранения сессий ключей
|
void |
processActivityResult(int requestCode,
int resultCode,
android.content.Intent data,
PCQRScanResultCallback callback)
Обработка результатов вызовов служебных Activity (QR-сканер).
|
void |
resume()
Используется для восстановления сессий ключей и проверки их валидности
|
void |
scanQR(java.lang.String title,
java.lang.String textToShow,
java.lang.String localizationMsgs,
android.app.Activity activity,
PCProcessQRScanResultCallback callback)
Сканирование QR-кода.
|
void |
setLogging(int logLevel)
Установка уровня логирования библиотеки.
|
public static final int PC_NO_LOGGING
public static final int PC_LOG_DEBUG
public static final int PC_LOG_KEY_VALUES
public static int KEYS_MAX_COUNT
public PayControl(android.content.Context context)
context - Контекст приложенияpublic void destroy()
public void setLogging(int logLevel)
logLevel - Уровень логирования PC_NO_LOGGING, PC_LOG_DEBUG, PC_LOG_KEY_VALUES public void resume()
public void pause()
public boolean isEmpty()
public int getKeysCount()
public void scanQR(java.lang.String title,
java.lang.String textToShow,
java.lang.String localizationMsgs,
android.app.Activity activity,
PCProcessQRScanResultCallback callback)
title - Заголовок на экране сканирования QRtextToShow - Текст для отображения на экране сканирования QRlocalizationMsgs - Строки для локализацииactivity - Текущее Activity приложенияcallback - Служит для обработки неверных QR кодовpublic void processActivityResult(int requestCode,
int resultCode,
android.content.Intent data,
PCQRScanResultCallback callback)
requestCode - Используется, чтобы определить от кого вернулся результатresultCode - Код возврата. Определяет успешно прошел вызов или нет.data - Intent, в котором возвращаются данныеcallback - Callback выполнения функции. Возвращает данные QR-кода и true, если это ключ (false, если это транзакция), либо ошибку (для QR-сканера)
PCQRScanResultCallbackpublic boolean closeQRScanner()
public void listKeys(PCListKeysCallback callback)
callback - Callback выполнения функции. Возвращает массив описаний ключевой информации, либо ошибку
PCListKeysCallbackpublic void exportKey(java.lang.String keyID,
PCExportKeyCallback callback)
keyID - Идентификатор ключевой информации в хранилище PayControlcallback - Callback выполнения функции. Возвращает экспортированный ключ в XML-формате
PCExportKeyCallbackpublic void deleteKey(java.lang.String keyID,
PCSimpleCallback callback)
keyID - Идентификатор ключевой информации в хранилище PayControlcallback - Callback выполнения функции
PCSimpleCallbackpublic java.lang.String getFingerPrint(int fingerprintLength)
fingerprintLength - DEPRECATED Длина отпечатка устройства <= 64 символов (32 байта в виде hex-строки) public void getTransactionInfo(java.lang.String data,
PCTransactionInfoCallback callback)
data - Данные транзакцииcallback - Callback выполнения функции. Возвращает тобъект класса Transaction, либо ошибку
PCTransactionInfoCallbackpublic void calculateConfirmationCode(PCKey key, java.lang.String data, int confirmationCodeLength, PCCalculateConfirmationCodeCallback callback)
key - Ключ для формирования кода подтверждения. Handle ключевой информации должен иметь валидное значениеdata - Данные для подтвержденияconfirmationCodeLength - Длина кода подтверждения (в десятичных символах)callback - Callback выполнения функции. Возвращает код подтверждения, либо ошибку
PCCalculateConfirmationCodeCallbackpublic void calculateConfirmationCode(PCKey key, Transaction transaction, int confirmationCodeLength, PCCalculateConfirmationCodeCallback callback)
key - Ключ для формирования кода подтверждения. Handle ключевой информации должен иметь валидное значениеtransaction - Транзакция для подтвержденияcallback - Callback выполнения функции. Возвращает код подтверждения, либо ошибкуconfirmationCodeLength - Длина кода подтверждения (в десятичных символах)
PCCalculateConfirmationCodeCallbackpublic void calculateSignature(PCKey key, Transaction transaction, PCCalculateSignatureCallback callback)
key - Ключ для формирования кода подписи. Handle ключа подписи должен иметь валидное значениеtransaction - Транзакция для подтвержденияcallback - Callback выполнения функции. Возвращает подпись, либо ошибку
PCCalculateConfirmationCodeCallbackpublic void calculateSignature(PCKey key, java.lang.String data, PCCalculateSignatureCallback callback)
key - Ключ для формирования кода подписи. Handle ключа подписи должен иметь валидное значениеdata - Транзакция для подтвержденияcallback - Callback выполнения функции. Возвращает подпись, либо ошибку
PCCalculateConfirmationCodeCallbackpublic void calculateDeclineCode(PCKey key, Transaction transaction, int declineCodeLength, PCCalculateDeclineCodeCallback callback)
key - Ключ для формирования кода отмены. Handle ключевой информации должен иметь валидное значениеtransaction - Транзакция для отменыcallback - Callback выполнения функции. Возвращает код отмены транзакции, либо ошибкуdeclineCodeLength - Длина кода отмены (в десятичных символах)
PCCalculateDeclineCodeCallbackpublic void calculateDeclineCode(PCKey key, java.lang.String data, int declineCodeLength, PCCalculateDeclineCodeCallback callback)
key - Ключ для формирования кода отмены. Handle ключевой информации должен иметь валидное значениеdata - Данные для отменыcallback - Callback выполнения функции. Возвращает код отмены транзакции, либо ошибкуdeclineCodeLength - Длина кода отмены (в десятичных символах)
PCCalculateDeclineCodeCallbackpublic PCKey importFromXML(java.lang.String exportedKey)
exportedKey - Экспортированный ключ в XML-форматеPCKeypublic PCKey importFromQRValue(java.lang.String qrData)
qrData - Данные QR-кодаPCKeypublic PCKey importFromStorage(java.lang.String keyID)
keyID - Идентификатор ключевой информации в хранилище PayControlPCKeypublic void doSendConfirmationCodeByUrl(PCKey key, java.lang.String transactionId, java.lang.String fullConfirmationCode, java.lang.String signature, PCISSimpleCallback pccallack)
key - Объект ключаtransactionId - Идентификатор транзакцииfullConfirmationCode - Код подтвержденияsignature - Подписьpccallack - Callbackpublic void doSendConfirmationCodeByPush(PCKey key, java.lang.String transactionId, java.lang.String fullConfirmationCode, java.lang.String signature, PCISSimpleCallback pccallack)
key - Объект ключаtransactionId - Идентификатор транзакцииfullConfirmationCode - Код подтвержденияsignature - Подписьpccallack - Callbackpublic void doSendDeclineCodeByUrl(PCKey key, java.lang.String transactionId, java.lang.String fullConfirmationCode, PCISSimpleCallback pccallack)
key - Объект ключаtransactionId - Идентификатор транзакцииfullConfirmationCode - Код подтвержденияpccallack - Callbackpublic void doSendDeclineCodeByPush(PCKey key, java.lang.String transactionId, java.lang.String fullConfirmationCode, PCISSimpleCallback pccallack)
key - Объект ключаtransactionId - Идентификатор транзакцииfullConfirmationCode - Код подтвержденияpccallack - Callbackpublic void doGetTransactionsList(PCKey key, PCISListTransactionsCallback pccallack)
key - Объект ключаpccallack - Callback со списком транзакцийpublic void doGetTransactionData(PCKey key, java.lang.String transactionId, PCISTransactionDataCallback pccallack)
key - Объект ключаtransactionId - Идентификатор транзакцииpccallack - Callback с транзакциейpublic void doRegisterFingerprint(PCKey key, java.lang.String fingerPrint, PCISSimpleCallback pccallack)
key - Объект ключаfingerPrint - DEPRECATED Отпечаток устройства pccallack - Callbackpublic void doRegisterDevice(PCKey key, java.lang.String deviceToken, PCISSimpleCallback pccallack)
key - Объект ключаdeviceToken - токен устройстваpccallack - Callbackpublic void doRegisterPublicKey(PCKey key, PCISSimpleCallback pccallack)
key - Объект ключаpccallack - Callbackpublic boolean isRooted()
public java.util.HashMap<java.lang.String,java.lang.String> getSpyAppsList()