Работа в режиме песочницы
Песочница - режим работы SDK, который необходим для отладки процесса оплаты. В режиме песочницы есть возможность пройти весь процесс оплаты через SDK в Вашем приложении без регистрации реальных заказов. Это можно реализовать двумя способами. Рассмотрите первый простой вариант, он подойдет для тех, кто не интегрирован с платежным шлюзом Банка и ищет способ протестировать визуальную составляющую продукта. Реализуете сценарий «Оплата вне SDK». Если вы интегрированы с платежным шлюзом Сбера, то мы рекомендуем второй вариант - использовать идентификаторы заказов в Платежном шлюзе Банка из тестового окружения. Обратите внимание, что в зависимости от того, с какой именно версией протокола вы интегрированы могут потребоваться отдельные учетные данные для регистрации заказов.
В данном режиме не отображаются настоящие данные клиента.
Необходимые данные для тестирования
Для получения доступа к песочнице Вам необходимо отправить запрос на почту support@ecom.sberbank.ru. В теме письма обязательно указать "Получение доступа к песочнице Sandbox SDK SberPay In-App".
Реализация в коде
В методе initialize
передайте в параметр stage
одно из возможных значений enum класса SPayStage:
Значение | Дефолтное значение | Описание |
---|---|---|
Prod | Да | Стандартное значение, все сервисы в SDK работают в продуктовом режиме |
SandboxRealBankApp | Нет | Режим песочницы, для авторизации пользователя происходит редирект в приложение Сбербанка. Позволяет протестировать оплату в максимально близких к продуктовым условиях. |
SandboxWithoutBankApp | Нет | Режим песочницы, при авторизации пользователя не осуществляется перехода в приложение Сбербанка. Позволяет производить тестирование на симуляторах и устройствах без Сбербанк-онлайн. |
Пример кода:
- Kotlin
- Java
import spay.sdk.SPaySdkApp
import spay.sdk.api.SPayStage
class YourApplication : Application() {
override fun onCreate() {
super.onCreate()
SPaySdkApp.getInstance().initialize(
application = this,
stage = SPayStage.SandboxWithoutBankApp,
enableBnpl = true
)
}
}
import android.app.Application;
import spay.sdk.SPaySdkApp;
import spay.sdk.api.SPayStage;
public class YourApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
SPaySdkApp.Companion.getInstance().initialize(
this,
true,
SPayStage.SandBoxWithoutBankApp
);
}
}