Вспомогательные структуры данных
Обновлено 7 октября 2026
Результат метода pay(...)
PaymentResult
/**
*
* Класс-обертка для предоставления результата оплаты
*
*/
@Parcelize
sealed class PaymentResult : Parcelable {
/**
*
* @object [Success] возвращается в случае, если оплата была произведена успешно
*
* @param userId [String] уникальный uuid пользователя в рамках одного устройства
* @param localSessionId [String] уникальный uuid сессии в рамках операции
*
*/
data class Success(val userId: String, val localSessionId: String) : PaymentResult()
/**
*
* @class [Error] возвращается в случае, если во время выполнения операции оплаты произошла ошибка
*
* @param userId [String] уникальный uuid пользователя в рамках одного устройства
* @param localSessionId [String] уника льный uuid сессии в рамках операции
* @param merchantError - объект класса, описывающий ошибки для предоставления партнеру
* @see MerchantError
*
*/
data class Error(val userId: String, val localSessionId: String, val merchantError: MerchantError? = null) : PaymentResult()
/**
*
* @object [Processing] возвращается в случае, если оплата находится в процессе выполнения
*
* @param userId [String] уникальный uuid пользователя в рамках одного устройс тва
* @param localSessionId [String] уникальный uuid сессии в рамках операции
*/
data class Processing(val userId: String, val localSessionId: String) : PaymentResult()
/**
*
* @object [Cancel] возвращается в случае, если пользователь прервал процесс оплаты
*
* @param userId [String] уникальный uuid пользователя в рамках одного устройства
* @param localSessionId [String] уникальный uuid сессии в рамках операции
*/
data class Cancel(val userId: String, val localSessionId: String) : PaymentResult()
}
Поле merchantError является типом MerchantErrors.
Перечисление стендов SDK
SPayStage
/**
*
* Enum со стендами SDK
*
* */
public enum class SPayStage {
/**Продовый стенд*/
Prod,
/**Песочница без авторизации в банке*/
SandboxWithoutBankApp,
/**Песочница с авторизацией в банке*/
SandboxRealBankApp
}
Helper
SPayHelperConfig
/**
* Конфигурация помогашек, передаваемая партнером
*
* @property isHelperEnabled [Boolean] Флаг, активированы ли помогашки
* @property disabledHelpers [SPayHelpers] Список отключенных помогашек
*/
data class SPayHelperConfig(
val isHelperEnabled: Boolean = true,
val disabledHelpers: List<SPayHelpers>
)
/**
* Список возможных помогашек
*
* @property SBP перевод по СБП
* @property CREDIT_CARD выпустить кредитную карту
* @property DEBIT_CARD выпустить дебетовую карту
*/
enum class SPayHelpers(val tag: String) {
SBP("sbp"),
CREDIT_CARD("creditCard"),
DEBIT_CARD("debitCard")
}
InitializationResult
InitializationResult
/** Объект результата инициализации SPaySdk */
sealed class InitializationResult {
/** SPaySdk инициализирована успешно */
object Success : InitializationResult()
/**
* Произошел сбой при получении или обработке конфига
*
* @param message сообщение об ошибке
*/
data class ConfigError(val message: String) : InitializationResult()
}
Инструменты проведения оплаты
SPaymentTool
/**
* Доступные типы инструмента для проведения оплаты в SPaySdk.
* Используется для способа оплаты [WithPhoneNumber]
*
* @property [CARDS] оплата банковскими картами
* @property [PAYMENT_ACCOUNTS] оплата платежными счетами
*
* @see [SPayMethod.WithPhoneNumber]
*/
enum class SPaymentTool {
CARDS,
PAYMENT_ACCOUNTS,
}