EcomSdkIOSDoc

Регистрация заказов в платежном шлюзе Сбера | Начало работы | Сценарий оплаты | Работа в режиме песочницы | Вспомогательные структуры данных | Актуальная версия SDK | Поддержка


Сценарий оплаты

Для запуска сценария оплаты SDK необходимо необходимо вызвать метод payWithBankInvoiceId и передать в него EcomBankInvoicePaymentRequest
Результат оплаты будет получен колбеком в виде структуры SPayState

Swift

import EcomSdk

let request = EcomBankInvoicePaymentRequest(
    merchantLogin: "ВАШ merchantLogin",
    bankInvoiceId: "ВАШ bankInvoiceId",
    orderNumber: "ВАШ orderNumber",
    apiKey: "ВАШ apiKey",
    redirectUri: "ВАШ redirectUri"
)

Ecom.payWithBankInvoiceId(paymentRequest: request) { state in
    switch state {
    case .success:
    // Успешная оплата
    case .waiting:
    // Статус оплаты не подтвержден
    case .error:
    // Произошла ошибка во время оплаты
    case .cancel:
    // Пользователь закрыл SDK самостоятельно
    @unknown default:
    // Неизвестная ошибка
    }
}

Objective-C

EcomBankInvoicePaymentRequest *request = [[EcomBankInvoicePaymentRequest alloc]
    initWithMerchantLogin:@"ВАШ merchantLogin"
    bankInvoiceId:@"ВАШ bankInvoiceId"
    orderNumber:@"ВАШ orderNumber"
    apiKey:@"ВАШ apiKey"
    redirectUri:@"ВАШ redirectUri"];

[Ecom payWithBankInvoiceId:request completion:^(EcomPaymentState state) {
    switch (state) {
        case EcomPaymentStateSuccess:
            // Успешная оплата
            break;
        case EcomPaymentStateWaiting:
            // Статус оплаты не подтвержден
            break;
        case EcomPaymentStateError:
            // Произошла ошибка во время оплаты
            break;
        case EcomPaymentStateCancel:
            // Пользователь закрыл SDK самостоятельно
            break;
        default:
            // Неизвестная ошибка
            break;
    }
}];