Работа в режиме песочницы
Песочница - режим работы SDK, который необходим для отладки процесса оплаты. В режиме песочницы есть возможность пройти весь процесс оплаты через SDK в Вашем приложении без регистрации реальных заказов. Это можно реализовать двумя способами. Рассмотрите первый простой вариант, он подойдет для тех, кто не интегрирован с платежным шлюзом Банка и ищет способ протестировать визуальную составляющую продукта. Реализуете сценарий «Оплата вне SDK». Если вы интегрированы с платежным шлюзом Сбера, то мы рекомендуем второй вариант - использовать идентификаторы заказов в Платежном шлюзе Банка из тестового окружения. Обратите внимание, что в зависимости от того, с какой именно версией протокола вы интегрированы могут потребоваться отдельные учетные данные для регистрации заказов.
В данном режиме не отображаются настоящие данные клиента.
Необходимые данные для тестирования
Для получения доступа к песочнице Вам необходимо отправить запрос на почту support@ecom.sberbank.ru. В теме письма обязательно указать "Получение доступа к песочнице Sandbox SDK SberPay In-App".
Реализация в коде
В методе initialize передайте в параметр stage одно из возможных значений enum класса SPayStage:
| Значение | Дефолтное значение | Описание |
|---|---|---|
| Prod | Да | Стандартное значение, все сервисы в SDK работают в продуктовом режиме |
| SandboxRealBankApp | Нет | Режим песочницы, для авторизации пользователя происходит редирект в приложение Сбербанка. Позволяет протестировать оплату в максимально близких к продуктовым условиях. |
| SandboxWithoutBankApp | Нет | Режим песочницы, при авторизации пользователя не осуществляется перехода в приложение Сбербанка. Позволяет производить тестирование на симуляторах и устройствах без Сбербанк-онлайн. |
Пример кода:
class YourApplication : Application() {
override fun onCreate() {
super.onCreate()
val config = SPaySdkInitConfig(
enableBnpl = true,
stage = SPayStage.SandboxWithoutBankApp,
helperConfig = SPayHelperConfig(
isHelperEnabled = true,
disabledHelpers = emptyList()
),
resultViewNeeded = true,
enableLogging = true,
spasiboBonuses = true,
enableOutsideTouchCancelling = true,
initializationResult = { initializationResult -> ... }
)
SPaySdkApp.getInstance().initialize(this, config)
}
}