ym88659208ym87991671
Вспомогательные структуры данных | Документация для разработчиков

Вспомогательные структуры данных

Обновлено 26 ноября 2024

Результат методов pay(...), payWithOrderId(...)

PaymentResult

   /**
*
* Класс обертка для предоставления результата оплаты
*
* */
@Parcelize
sealed class PaymentResult : Parcelable {

/**
*
* @object [Success] возвращается в случае, если оплата была произведена успешно
*
*/
class Success : PaymentResult()

/**
*
* @class [Error] возвращается в случае, если во время выполнения операции оплаты произошла ошибка
*
* @param merchantError - объект класса, описывающий ошибки для предоставления мерчанту
* @see MerchantError
*
*/
data class Error(val merchantError: MerchantError? = null) : PaymentResult()

/**
*
* @object [Processing] возвращается в случае, если оплата находится в процессе выполнения
*
*/
class Processing : PaymentResult()

/**
*
* @object [Cancel] возвращается в случае, если пользователь прервал процесс оплаты
*
*/
class Cancel : PaymentResult()
}

Поле merchantError является типом MerchantErrors.

Результат работы метода getPaymentToken(...)

PaymentTokenResult

    /**
*
* Класс обертка для результата запроса на получение PaymentToken
*
*/
sealed class PaymentTokenResult() {

/**
*
* @class [Success] возвращается в случае,
* если токен был успешно получен
*
* @param paymentToken - платежный токен
*
*/
data class Success(val paymentToken: String) : PaymentTokenResult()

/**
*
* @class [Error] возвращается в случае,
* если при получении токена произошла ошибка
*
* @param description - описание ошибки
*
*/
data class Error(val description: String) : PaymentTokenResult()

}

Поле merchantError является типом MerchantErrors

Класс-обертка для ошибок

MerchantErrors

    /**
*
* Класс с возможными ошибками для мерчанта
*
*/
sealed class MerchantErrors(open val description: String) {
/**
*
Ошибка при закрытии "шторки" SDK пользователем
*
*/

⁣data class SdkClosedByUser(override val description: String) : MerchantErrors(description)
⁣ ⁣ ⁣

//... и остальные ошибки

}

Перечисление стендов 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()
}
ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.