Сценарий оплаты
Обновлено 27 декабря 2024
Для оплаты необходимо воспользоваться методом pay
.
Обязательно корректно укажите значение параметра appPackageName. В противном случае при возврате из сбола после оплаты, если будет допущена ошибка в схеме, поднимется шторка с вариантами приложений для продолжения оплаты. Таким образом, сценарий разорвется.
- Kotlin
- Java
import modern.payments.ecomAndroid.EcomSdk
import modern.payments.ecomAndroid.api.EcomSdkMerchantOptionsConfig
val config = EcomSdkMerchantOptionsConfig(
context = context,
bankInvoiceId = BANK_INVOICE_ID,
apiKey = API_KEY,
merchantLogin = CLIENT_NAME,
orderNumber = ORDER_NUMBER,
appPackageName = APP_PACKAGE,
) { ecomSdkResult ->
when (ecomSdkResult) {
is EcomSdkResult.Success -> {
//do something on success
doOnSuccess()
}
is EcomSdkResult.Error -> {
//do something on error
doOnError(ecomSdkResult.merchantError)
}
is EcomSdkResult.Waiting -> {
//do something on waiting
doOnWaiting();
}
is EcomSdkResult.Cancel -> {
//do something on cancel
doOnCancel();
}
}
}
EcomSdkApp.getInstance().pay(config)
import modern.payments.ecomAndroid.EcomSdk;
import modern.payments.ecomAndroid.api.EcomSdkMerchantOptionsConfig;
import modern.payments.ecomAndroid.api.EcomSdkMerchantOptionsConfig.*;
EcomSdkMerchantOptionsConfig ecomSdkMerchantOptionsConfig =
new EcomSdkMerchantOptionsConfig(
getBaseContext(),
BANK_INVOICE_ID,
API_KEY,
MERCHANT_LOGIN,
ORDER_NUMBER,
PACKAGE_NAME,
result -> {
if (result instanceof EcomSdkResult.Success) {
//do somethingOnSuccess
} else if (result instanceof EcomSdkResult.Cancel) {
//do somethingOnCancel
} else if (result instanceof EcomSdkResult.Waiting) {
//do somethingOnWaiting
} else if (result instanceof EcomSdkResult.Error) {
//do somethingOnError
}
return null;
});
EcomSdk.Companion.getInstance().pay(ecomSdkMerchantOptionsConfig);
Параметры класса EcomSdkMerchantOptionsConfig
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
context | Context | Да | Context. |
bankInvoiceId | String | Да | Уникальный номер (идентификатор) заказа в Платежном шлюзе Банка. Необходимо передавать значение sbolBankInvoiceId из ответа на Запрос регистрации заказа. |
apiKey | String | Да | Ключ Клиента для работы с сервисами платежного шлюза через SDK. |
merchantLogin | String | Да | Login партнера для работы с сервисами платежного шлюза. |
orderNumber | String | Да | Уникальный номер (идентификатор) заказа в системе Клиента. |
appPackageName | String | Да | Package приложения (он же BuildConfig.APPLICATION_ID) Вашего приложения, по которому необходимо вернуть Плательщика после аутентификации в СберБанк Онлайн. |
callback | (EcomSdkResult) -> Unit | да | Блок, отрабатыващий после вызова метода pay. |