Если оплата происходит через эквайринг Сбербанка и уже известен sbolBankInvoiceId, тогда следует воспользоваться автоматической оплатой. Для этого необходимо воспользоваться методом payWithBankInvoiceId
. Ниже представлен список параметров метода
Объект | Тип | Формат | Обязательный | Описание |
---|---|---|---|---|
context | Context | - | Да | Любой контекст Вашего приложения который может запускать новую Activity |
apiKey | String | ANS..512 | Да | Ключ Клиента для работы с сервисами платежного шлюза через SDK |
merchantLogin | String | ANS..512 | Да | Логин партнера для работы с сервисами платежного шлюза |
bankInvoiceId | String | ANS..512 | Да | Уникальный номер (идентификатор) заказа в Платежном шлюзе Банка.Необходимо передавать значение sbolBankInvoiceId (передается в externalParams) из ответа на Запрос регистрации заказа |
orderNumber | String | ANS..36 | Да | Уникальный номер (идентификатор) заказа в системе Клиента. Используется для упрощенного поиска заказа в системе банка при выявлении дефектов |
appPackage | String | ANS..512 | Да | Package приложения (он же BuildConfig.APPLICATION_ID) Вашего приложения, по которому необходимо вернуть Плательщика после аутентификации в СберБанк Онлайн |
language | String | A..2 | Нет | Язык локализации интерфейсов. Пример: RU |
callback | (PaymentResult) -> Unit | - | Да | Результат выполнения метода оплаты. Структура PaymentResult |
payWithBankInvoiceId
Метод payWithBankInvoiceId
является входной точкой в SDK и должен быть вызван только по клику на кнопку «Оплатить»
Обязательно корректно укажите значение параметра
appPackage
. В противном случае при возврате из СБОЛа после оплаты, если будет допущена ошибка в схеме, поднимется шторка с вариантами приложений для продолжения оплаты. Таким образом, сценарий разорвется
SPaySdkApp.getInstance().payWithBankInvoiceId(
context = context,
apiKey = API_KEY,
merchantLogin = CLIENT_NAME,
bankInvoiceId = BANK_INVOICE_ID,
orderNumber = ORDER_NUMBER,
appPackage = APP_PACKAGE,
language = LANGUAGE,
) { paymentResult ->
when (paymentResult) {
is PaymentResult.Success -> {
//do something on success
doOnSuccess()
}
is PaymentResult.Error -> {
//do something on error
doOnError(paymentResult.merchantError)
}
is PaymentResult.Processing -> {
//do something on processing
doOnProcessing();
}
}
}
SPaySdkApp.getInstance().payWithBankInvoiceId(
context,
API_KEY,
CLIENT_NAME,
BANK_INVOICE_ID,
ORDER_NUMBER,
APP_PACKAGE,
LANGUAGE,
paymentResult -> {
if (paymentResult instanceof PaymentResult.Success) {
//do something on success
doOnSuccess();
} else if (paymentResult instanceof PaymentResult.Error) {
//do something on error
doOnError(
((PaymentResult.Error) paymentResult).getMerchantErrors()
);
} else if (paymentResult instanceof PaymentResult.Processing) {
//do something on processing
doOnProcessing();
}
return null;
}
);
Для автоматической оплаты необходимо воспользоваться методом payWithoutRefresh
. Ниже представлен список параметров метода. Ниже представлен список параметров метода
Объект | Тип | Формат | Обязательный | Описание |
---|---|---|---|---|
context | Context | - | Да | Любой контекст Вашего приложения который может запускать новую Activity |
apiKey | String | ANS..512 | Да | Ключ Клиента для работы с сервисами платежного шлюза через SDK |
merchantLogin | String | ANS..512 | Да | Логин партнера для работы с сервисами платежного шлюза |
bankInvoiceId | String | ANS..512 | Да | Уникальный номер (идентификатор) заказа в Платежном шлюзе Банка.Необходимо передавать значение sbolBankInvoiceId (передается в externalParams) из ответа на Запрос регистрации заказа |
orderNumber | String | ANS..36 | Да | Уникальный номер (идентификатор) заказа в системе Клиента. Используется для упрощенного поиска заказа в системе банка при выявлении дефектов |
appPackage | String | ANS..512 | Да | Package приложения (он же BuildConfig.APPLICATION_ID) Вашего приложения, по которому необходимо вернуть Плательщика после аутентификации в СберБанк Онлайн |
language | String | A..2 | Нет | Язык локализации интерфейсов. Пример: RU |
callback | (PaymentResult) -> Unit | - | Да | Результат выполнения метода оплаты. Структура PaymentResult |
payWithoutRefresh
Метод payWithoutRefresh
является входной точкой в SDK и должен быть вызван только по клику на кнопку «Оплатить»
Обязательно корректно укажите значение параметра
appPackage
. В противном случае при возврате из СБОЛа после оплаты, если будет допущена ошибка в схеме, поднимется шторка с вариантами приложений для продолжения оплаты. Таким образом, сценарий разорвется
SPaySdkApp.getInstance().payWithoutRefresh(
context = context,
apiKey = API_KEY,
merchantLogin = CLIENT_NAME,
bankInvoiceId = BANK_INVOICE_ID,
orderNumber = ORDER_NUMBER,
appPackage = APP_PACKAGE,
language = LANGUAGE,
) { paymentResult ->
when (paymentResult) {
is PaymentResult.Success -> {
//do something on success
doOnSuccess()
}
is PaymentResult.Error -> {
//do something on error
doOnError(paymentResult.merchantError)
}
is PaymentResult.Processing -> {
//do something on processing
doOnProcessing();
}
is PaymentResult.Cancel -> {
//do something on processing
doOnCancel();
}
}
}
SPaySdkApp.getInstance().payWithoutRefresh(
context,
API_KEY,
CLIENT_NAME,
BANK_INVOICE_ID,
ORDER_NUMBER,
APP_PACKAGE,
LANGUAGE,
paymentResult -> {
if (paymentResult instanceof PaymentResult.Success) {
//do something on success
doOnSuccess();
} else if (paymentResult instanceof PaymentResult.Error) {
//do something on error
doOnError(
((PaymentResult.Error) paymentResult).getMerchantErrors()
);
} else if (paymentResult instanceof PaymentResult.Processing) {
//do something on processing
doOnProcessing();
}
return null;
}
);
Для выбора сценария оплаты только частями с комиссией необходимо использовать метод SDK payWithPartPay
. Ниже представлен список параметров метода
Объект | Тип | Формат | Обязательный | Описание |
---|---|---|---|---|
context | Context | - | Да | Любой контекст Вашего приложения который может запускать новую Activity |
apiKey | String | ANS..512 | Да | Ключ Клиента для работы с сервисами платежного шлюза через SDK |
merchantLogin | String | ANS..512 | Да | Логин партнера для работы с сервисами платежного шлюза |
bankInvoiceId | String | ANS..512 | Да | Уникальный номер (идентификатор) заказа в Платежном шлюзе Банка.Необходимо передавать значение sbolBankInvoiceId (передается в externalParams) из ответа на Запрос регистрации заказа |
orderNumber | String | ANS..36 | Да | Уникальный номер (идентификатор) заказа в системе Клиента. Используется для упрощенного поиска заказа в системе банка при выявлении дефектов |
appPackage | String | ANS..512 | Да | Package приложения (он же BuildConfig.APPLICATION_ID) Вашего приложения, по которому необходимо вернуть Плательщика после аутентификации в СберБанк Онлайн |
language | String | A..2 | Нет | Язык локализации интерфейсов. Пример: RU |
callback | (PaymentResult) -> Unit | - | Да | Результат выполнения метода оплаты. Структура PaymentResult |
payWithPartPay
Метод payWithPartPay
является входной точкой в SDK и должен быть вызван только по клику на кнопку «Оплатить»
Обязательно корректно укажите значение параметра
appPackage
. В противном случае при возврате из СБОЛа после оплаты, если будет допущена ошибка в схеме, поднимется шторка с вариантами приложений для продолжения оплаты. Таким образом, сценарий разорвется
SPaySdkApp.getInstance().payWithoutRefresh(
context = context,
apiKey = API_KEY,
merchantLogin = CLIENT_NAME,
bankInvoiceId = BANK_INVOICE_ID,
orderNumber = ORDER_NUMBER,
appPackage = APP_PACKAGE,
language = LANGUAGE,
) { paymentResult ->
when (paymentResult) {
is PaymentResult.Success -> {
//do something on success
doOnSuccess()
}
is PaymentResult.Error -> {
//do something on error
doOnError(paymentResult.merchantError)
}
is PaymentResult.Processing -> {
//do something on processing
doOnProcessing();
}
is PaymentResult.Cancel -> {
//do something on processing
doOnCancel();
}
}
}
SPaySdkApp.getInstance().payWithoutRefresh(
context,
API_KEY,
CLIENT_NAME,
BANK_INVOICE_ID,
ORDER_NUMBER,
APP_PACKAGE,
LANGUAGE,
paymentResult -> {
if (paymentResult instanceof PaymentResult.Success) {
//do something on success
doOnSuccess();
} else if (paymentResult instanceof PaymentResult.Error) {
//do something on error
doOnError(
((PaymentResult.Error) paymentResult).getMerchantErrors()
);
} else if (paymentResult instanceof PaymentResult.Processing) {
//do something on processing
doOnProcessing();
}
return null;
}
);
Для выбора сценария оплаты с бонусами «Спасибо» необходимо использовать метод SDK payWithBonuses
. Ниже представлен список параметров метода
Объект | Тип | Формат | Обязательный | Описание |
---|---|---|---|---|
context | Context | - | Да | Любой контекст Вашего приложения который может запускать новую Activity |
apiKey | String | ANS..512 | Да | Ключ Клиента для работы с сервисами платежного шлюза через SDK |
merchantLogin | String | ANS..512 | Да | Логин партнера для работы с сервисами платежного шлюза |
bankInvoiceId | String | ANS..512 | Да | Уникальный номер (идентификатор) заказа в Платежном шлюзе Банка.Необходимо передавать значение sbolBankInvoiceId (передается в externalParams) из ответа на Запрос регистрации заказа |
orderNumber | String | ANS..36 | Да | Уникальный номер (идентификатор) заказа в системе Клиента. Используется для упрощенного поиска заказа в системе банка при выявлении дефектов |
appPackage | String | ANS..512 | Да | Package приложения (он же BuildConfig.APPLICATION_ID) Вашего приложения, по которому необходимо вернуть Плательщика после аутентификации в СберБанк Онлайн |
language | String | A..2 | Нет | Язык локализации интерфейсов. Пример: RU |
callback | (PaymentResult) -> Unit | - | Да | Результат выполнения метода оплаты. Структура PaymentResult |
payWithBonuses
Метод payWithBonuses
является входной точкой в SDK и должен быть вызван только по клику на кнопку «Оплатить»
Обязательно корректно укажите значение параметра
appPackage
. В противном случае при возврате из СБОЛа после оплаты, если будет допущена ошибка в схеме, поднимется шторка с вариантами приложений для продолжения оплаты. Таким образом, сценарий разорвется
SPaySdkApp.getInstance().payWithoutRefresh(
context = context,
apiKey = API_KEY,
merchantLogin = CLIENT_NAME,
bankInvoiceId = BANK_INVOICE_ID,
orderNumber = ORDER_NUMBER,
appPackage = APP_PACKAGE,
language = LANGUAGE,
) { paymentResult ->
when (paymentResult) {
is PaymentResult.Success -> {
//do something on success
doOnSuccess()
}
is PaymentResult.Error -> {
//do something on error
doOnError(paymentResult.merchantError)
}
is PaymentResult.Processing -> {
//do something on processing
doOnProcessing();
}
is PaymentResult.Cancel -> {
//do something on processing
doOnCancel();
}
}
}
SPaySdkApp.getInstance().payWithoutRefresh(
context,
API_KEY,
CLIENT_NAME,
BANK_INVOICE_ID,
ORDER_NUMBER,
APP_PACKAGE,
LANGUAGE,
paymentResult -> {
if (paymentResult instanceof PaymentResult.Success) {
//do something on success
doOnSuccess();
} else if (paymentResult instanceof PaymentResult.Error) {
//do something on error
doOnError(
((PaymentResult.Error) paymentResult).getMerchantErrors()
);
} else if (paymentResult instanceof PaymentResult.Processing) {
//do something on processing
doOnProcessing();
}
return null;
}
);