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

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

Обновлено 11 июля 2024

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

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

Обновлено 11 июля 2024
Схема оплаты

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

Обновлено 11 июля 2024

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

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

ОбъектТипФорматОбязательныйОписание
apiKeyStringANS..512ДаКлюч клиента для работы с сервисами платежного шлюза через SDK
merchantLoginStringANS..512ДаLogin партнера для работы с сервисами платежного шлюза
languageStringA2НетВыбранный язык локализации интерфейсов Пример: RU
BankInvoiceIdStringANS..36ДаУникальный номер (идентификатор) заказа в Платежном шлюзе Банка. Необходимо передавать значение sbolBankInvoiceId (передается в externalParams)
redirectUriStringANS..512ДаДиплинк, переданный вам вместе c приветственным письмом. Пример: 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, localSessionId in

switch state {

case .success:

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

case .waiting:

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

case .cancel:

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

case .error:

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

@unknown default:

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

}

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