tinkoff-mobile-tech / tinkoff-asdk-ios

Tinkoff Acquiring SDK
https://tinkoff.ru/kassa
45 stars 34 forks source link

Если уже есть привязанная карта у customerKey, то при привязке новой карты возвращается значение id первой карты #240

Closed vazh2100miura closed 1 year ago

vazh2100miura commented 1 year ago

Описание бага

При привязке карты с типом 3dshold, если уже есть у customerKey ранее привязанная карта, то при привязке второй карты возвращается cardId первой карты:

private func attachCardWithNativeScreen(customerKey: String) {
    let configuration = AcquiringViewConfiguration()

    tinkoffAcquiringUI?.addCardNeedSetCheckTypeHandler = {
        PaymentCardCheckType.hold3DS
    }

    tinkoffAcquiringUI?.presentAddCardView(on: uiController!, customerKey: customerKey, configuration: configuration, completeHandler: { res in
        do {
            let paymentCard = try res.get()
            paymentCard?.cardId // Здесь всегда один и тот же id - id первой карты, а не новой
        } catch {}
    })
}

После каких действий возникает ошибка

1.Привязать первую карту через presentAddCardView

  1. считать paymentCard?.cardId и запомнить как cardOneId
  2. Привязать вторую карту карту через presentAddCardView
  3. Считать paymentCard?.cardId и запомнить как cardTwoId
  4. Получить cardOneId равное cardTwoId

Ожидаемое поведение

cardOneId НЕравен cardTwoId

Что происходит на деле

cardOneId равен CardTwoId

Логи

Видео процесса возникновение ошибки/демонстрационный проект.

Окружение и настройки:

AlexanderBrygin commented 1 year ago

Добрый день, спасибо! Рассмотрели кейс, взяли в исправление.

ivanglushko commented 1 year ago

Вышла версия 3.0 в ней был значительно переработан сдк, если проблема актуальна на версии сдк 3.0 просьба открыть новый issue.