ym88659208ym87991671
Автоматическая оплата iOS | Документация для разработчиков

Автоматическая оплата iOS

Обновлено 19 декабря 2023

Если оплата происходит через экваринг Сбербанка и известен BankInvoiceId (Значение sbolBankInvoiceId ), тогда следует воспользоваться автоматической оплатой.

Схема взаимодействия

Обновлено 19 декабря 2023
Схема оплаты

Сценарий автоматической оплаты

Обновлено 19 декабря 2023

Для автоматической оплаты необходимо воспользоваться методом payWithBankInvoiceId. Ниже представлен список параметров метода.

Параметры класса SBankInvoicePaymentRequest, который необходимо передать в запрос

ОбъектТипФорматОбязательныйОписание
apiKeyStringANS..512НетКлюч клиента для работы с сервисами платежного шлюза через SDK
merchantLoginStringANS..512ДаLogin партнера для работы с сервисами платежного шлюза
languageStringA2НетВыбранный язык локализации интерфейсов Пример: RU
BankInvoiceIdStringANS..36ДаУникальный номер (идентификатор) заказа в Платежном шлюзе Банка. Необходимо передавать значение sbolBankInvoiceId (передается в externalParams)
redirectUriStringANS..512ДаАдрес вашего приложения, по которому необходимо вернуть пользователя после аутентификации в СберБанк Онлайн Пример: apptest:/spay
orderNumberStringANS..36ДаУникальный номер (идентификатор) заказа в системе Клиента Пример: 5f3f7d10-7005-7afe-b756-f73001c896b1

Пример инициализации структуры для запроса:

let request = SBankInvoicePaymentRequest(merchantLogin: "Test shop",
bankInvoiceId: bankInvoiceId,
orderNumber: "123add",
redirectUri: "sberPayExampleapp://spay")

Вызов метода PayWithBankInvoiceId

После инициализации структуры запроса необходимо вызвать сам метод payWithBankInvoiceId, передать в его параметры созданную ранее структуру и текущий UIViewController вашего приложения.

SPay.payWithBankInvoiceId(with: self, with: request) { state, info in

switch state {

case .success:

print("Успешный результат")

case .waiting:

print("Необходимо проверить статус оплаты")

case .cancel:

print("Пользователь отменил оплату")

case .error:

print("(info) - описание ошибки")

@unknown default:

print("Неопределенная ошибка")

}

}
ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.