Вспомогательные структуры данных
Обновлено 28 декабря 2024
Конфиг параметр метода pay()
EcomSdkMerchantOptionsConfig
/**
* Конфиг получаемый от партнера
*
* @property context [Context]
* @property bankInvoiceId id заказа для оплаты
* @property apiKey ключ мерчанта
* @property merchantLogin логин мерчанта
* @property orderNumber номер заказа мерчанта
* @property appPackageName package приложения ммерчанта
* @property callback результат оплаты [EcomSdkResult]
*/
data class EcomSdkMerchantOptionsConfig(
val context: Context,
val bankInvoiceId: String,
val apiKey: String,
val merchantLogin: String,
val orderNumber: String,
val appPackageName: String,
val callback: ((EcomSdkResult) -> Unit),
)
Результат метода pay()
EcomSdkResult
/**
* Возможные результаты проведения оплаты
*
* @property Success оплата произведена успешно
* @property Waiting статус оплаты неизвестен
* @property Cancel оплата отменена пользователем
* @property Error оплата не была выполнена из-за ошибки
*/
sealed interface EcomSdkResult {
data object Success : EcomSdkResult
data object Waiting : EcomSdkResult
data object Cancel : EcomSdkResult
/**
* Класс ошибки при работе с EcomSdk
*
* @param httpCode код ответа http
* @param errorCode внутренний код ответа от севера
* @param description описание ошибки
*/
data class Error(
val httpCode: String? = null,
val errorCode: String? = null,
val description: String? = null
) : EcomSdkResult
}
Перечисление стендов SDK
EcomSdkStage
/**
* Enum со стендами SDK
* */
public enum class EcomSdkStage: Stage {
/** Продовый стенд */
Prod,
/** Песочница */
SandBox
}
Перечисление фичей SDK
EcomSdkFeature
/**
* Enum с фичами SDK
* */
enum class EcomSdkFeature {
/** Отображение результирующих экранов */
RESULT_VIEW,
/** Приём платежей через СБП */
PAY_BY_SBP,
/** Приём платежей через SPaySDK */
PAY_BY_SPAY,
}