Сценарий оплата iOS
Обновлено 24 декабря 2024
Для вызова SDK необходимо вызвать метод payWithBankInvoiceId
.
Для передачи параметров в метод необходимо инициализировать структуру SBankInvoicePaymentRequest и передать в нее все обязательные параметры:
Объект | Тип | Обязательный | Описание |
---|---|---|---|
apiKey | String | Да | Ключ клиента для работы с сервисами платежного шлюза через Ecom SDK |
merchantLogin | String | Да | Login партнера для работы с сервисами платежного шлюза |
bankInvoiceId | String | Да | Уникальный номер (идентификатор) заказа в Платежном шлюзе Банка |
orderNumber | String | Да | Уникальный номер (идентификатор) заказа в системе Клиента |
- Swift
- Objective-C
import EcomSdk
let request = SBankInvoicePaymentRequest(
merchantLogin: "ВАШ merchantLogin",
bankInvoiceId: "ВАШ bankInvoiceId",
orderNumber: "ВАШ orderNumber",
apiKey: "ВАШ apiKey"
)
Ecom.payWithBankInvoiceId(paymentRequest: request) { state in
switch state {
case .success:
// Успешная оплата
case .waiting:
// Статус оплаты не подтвержден
case .error:
// Произошла ошибка во время оплаты
case .cancel:
// Пользователь закрыл SDK самостоятельно
@unknown default:
// Неизвестная ошибка
}
}
SBankInvoicePaymentRequest *request = [[SBankInvoicePaymentRequest alloc] initWithMerchantLogin:@"ВАШ merchantLogin"
bankInvoiceId:@"ВАШ bankInvoiceId"
orderNumber:@"ВАШ orderNumber"
apiKey:@"ВАШ apiKey"];
[Ecom payWithBankInvoiceId:request completion:^(EcomPaymentState state) {
switch (state) {
case EcomPaymentStateSuccess:
// Успешная оплата
break;
case EcomPaymentStateWaiting:
// Статус оплаты не подтвержден
break;
case EcomPaymentStateError:
// Произошла ошибка во время оплаты
break;
case EcomPaymentStateCancel:
// Пользователь закрыл SDK самостоятельно
break;
default:
// Неизвестная ошибка
break;
}
}];
Сompletion блок метода отработает после того, как SDK завершит свою работу.