Работа в режиме песочницы
Песочница - режим работы SDK, который необходим для отладки процесса оплаты. В режиме песочницы есть возможность пройти весь процесс оплаты через SDK в Вашем приложении без регистрации реальных заказов. Это можно реализовать двумя способами. Рассмотрите первый простой вариант, он подойдет для тех, кто не интегрирован с платежным шлюзом Банка и ищет способ протестировать визуальную составляющую продукта. Реализуете сценарий «Оплата вне SDK». Если вы интегрированы с платежным шлюзом Сбера, то мы рекомендуем второй вариант - использовать идентификаторы заказов в Платежном шлюзе Банка из тестового окружения. Обратите внимание, что в зависимости от того, с какой именно версией протокола вы интегрированы могут потребоваться отдельные учетные данные для регистрации заказов.
В данном режиме не отображаются настоящие данные клиента.
Необходимые данные для тестирования
Для получения доступа к песочнице Вам необходимо отправить запрос на почту support@ecom.sberbank.ru. В теме письма обязательно указать "Получение доступа к песочнице Sandbox SDK Ecom In-App".
Для сценария оплаты "новой" картой необходимо использовать следующие платежные иструменты:
Тип тестирования | Номер карты | Срок действия карты | Код безопасности CVV | СМС код | Пароль |
---|---|---|---|---|---|
Без 3ds | 4279380620378929 | 06/26 | 353 | нет | нет |
С подтверждением оплаты по 3ds | 2202208020207685 | 05/27 | 133 | 11111 | нет |
С подтверждением метода и оплаты по 3ds | 2201382000000047 | 05/27 | 133 | нет | 1qwezxc |
Реализация в коде
У объекта класса EcomSdkSetupConfig
, необходимого для метода setup
, передайте в параметр stage
одно из возможных значений enum класса EcomSdkStage:
Значение | Дефолтное значение | Описание |
---|---|---|
Prod | Да | Стандартное значение, все сервисы в SDK работают в продуктовом режиме |
SandBox | Нет | Режим песочницы. Позволяет протестировать оплату в максимально близких к продуктовым условиях |
Пример кода:
- Kotlin
- Java
import modern.payments.ecomAndroid.EcomSdk
import modern.payments.ecomAndroid.api.EcomSdkSetupConfig
import modern.payments.ecomAndroid.api.EcomSdkStage
val config = EcomSdkSetupConfig(
context = context,
stage = EcomSdkStage.SandBox,
disabledFeatures = listOf(),
enableLoggingByMerchant = true,
callback = { isSetupSucceed ->
})
EcomSdk.getInstance().setup(config)
import modern.payments.ecomAndroid.EcomSdk;
import modern.payments.ecomAndroid.api.EcomSdkSetupConfig;
import modern.payments.ecomAndroid.api.EcomSdkStage;
EcomSdkSetupConfig ecomSdkSetupConfig =
new EcomSdkSetupConfig(
getBaseContext(),
EcomSdkStage.SandBox,
new ArrayList<>(),
true,
result -> {
if (result) {
//do somethingOnSuccess
} else {
//do somethingOnFail
}
return null;
});
EcomSdk.Companion.getInstance().setup(ecomSdkSetupConfig);