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-сканера)
PCQRScanResultCallback
public boolean closeQRScanner()
public void listKeys(PCListKeysCallback callback)
callback
- Callback выполнения функции. Возвращает массив описаний ключевой информации, либо ошибку
PCListKeysCallback
public void exportKey(java.lang.String keyID, PCExportKeyCallback callback)
keyID
- Идентификатор ключевой информации в хранилище PayControlcallback
- Callback выполнения функции. Возвращает экспортированный ключ в XML-формате
PCExportKeyCallback
public void deleteKey(java.lang.String keyID, PCSimpleCallback callback)
keyID
- Идентификатор ключевой информации в хранилище PayControlcallback
- Callback выполнения функции
PCSimpleCallback
public java.lang.String getFingerPrint(int fingerprintLength)
fingerprintLength
- DEPRECATED Длина отпечатка устройства <= 64 символов (32 байта в виде hex-строки) public void getTransactionInfo(java.lang.String data, PCTransactionInfoCallback callback)
data
- Данные транзакцииcallback
- Callback выполнения функции. Возвращает тобъект класса Transaction, либо ошибку
PCTransactionInfoCallback
public void calculateConfirmationCode(PCKey key, java.lang.String data, int confirmationCodeLength, PCCalculateConfirmationCodeCallback callback)
key
- Ключ для формирования кода подтверждения. Handle ключевой информации должен иметь валидное значениеdata
- Данные для подтвержденияconfirmationCodeLength
- Длина кода подтверждения (в десятичных символах)callback
- Callback выполнения функции. Возвращает код подтверждения, либо ошибку
PCCalculateConfirmationCodeCallback
public void calculateConfirmationCode(PCKey key, Transaction transaction, int confirmationCodeLength, PCCalculateConfirmationCodeCallback callback)
key
- Ключ для формирования кода подтверждения. Handle ключевой информации должен иметь валидное значениеtransaction
- Транзакция для подтвержденияcallback
- Callback выполнения функции. Возвращает код подтверждения, либо ошибкуconfirmationCodeLength
- Длина кода подтверждения (в десятичных символах)
PCCalculateConfirmationCodeCallback
public void calculateSignature(PCKey key, Transaction transaction, PCCalculateSignatureCallback callback)
key
- Ключ для формирования кода подписи. Handle ключа подписи должен иметь валидное значениеtransaction
- Транзакция для подтвержденияcallback
- Callback выполнения функции. Возвращает подпись, либо ошибку
PCCalculateConfirmationCodeCallback
public void calculateSignature(PCKey key, java.lang.String data, PCCalculateSignatureCallback callback)
key
- Ключ для формирования кода подписи. Handle ключа подписи должен иметь валидное значениеdata
- Транзакция для подтвержденияcallback
- Callback выполнения функции. Возвращает подпись, либо ошибку
PCCalculateConfirmationCodeCallback
public void calculateDeclineCode(PCKey key, Transaction transaction, int declineCodeLength, PCCalculateDeclineCodeCallback callback)
key
- Ключ для формирования кода отмены. Handle ключевой информации должен иметь валидное значениеtransaction
- Транзакция для отменыcallback
- Callback выполнения функции. Возвращает код отмены транзакции, либо ошибкуdeclineCodeLength
- Длина кода отмены (в десятичных символах)
PCCalculateDeclineCodeCallback
public void calculateDeclineCode(PCKey key, java.lang.String data, int declineCodeLength, PCCalculateDeclineCodeCallback callback)
key
- Ключ для формирования кода отмены. Handle ключевой информации должен иметь валидное значениеdata
- Данные для отменыcallback
- Callback выполнения функции. Возвращает код отмены транзакции, либо ошибкуdeclineCodeLength
- Длина кода отмены (в десятичных символах)
PCCalculateDeclineCodeCallback
public PCKey importFromXML(java.lang.String exportedKey)
exportedKey
- Экспортированный ключ в XML-форматеPCKey
public PCKey importFromQRValue(java.lang.String qrData)
qrData
- Данные QR-кодаPCKey
public PCKey importFromStorage(java.lang.String keyID)
keyID
- Идентификатор ключевой информации в хранилище PayControlPCKey
public 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()