Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Какова последовательность вызова методов для привязки карты с использованием 3ds? #30

Open
vazh2100miura opened this issue Aug 30, 2022 · 3 comments

Comments

@vazh2100miura
Copy link

  1. Вызывается метод addCard - возвращается AddCardResponse.
  2. Вызывается метод attachCard - возвращается AttachCardResponse.
  3. Далее необходимо открыть ваше webview. Но есть несостыковки. Виджет WebView3DS, принимает
    в качестве обязательного параметра is3DsVersion2. Мы можем его предоставить проверив версию 3DS с помощью
    метода check3DSVersion. Но этот метод принимает в качестве обязательного параметра paymentId, но его
    негде взять. AddCardResponse и AttachCardResponse не содержат такого поля.
    Кроме того, Виджет Webview3DS принимает в качестве необязательных параметров serverTransId, acsTransId, но
    в AddCardResponse и AttachCardResponse таких полей нет. Кроме того, в комментарии к serverTransId написано,
    что он является обязательным для 3ds версии 2.

Отсюда возникает вопрос. Как привязывать карты с типом привязки threeDS и threeDSHold?

@mit-73
Copy link
Collaborator

mit-73 commented Sep 9, 2022

Здравствуйте, после успешного AttachCard ваша карта добавляется в Тинькофф, список карт можно запросить через метод GetCardList. Дальше с помощью PaymentSource токен вашей карты используется в Check3DSVersion и FinishAuthorize. В примере есть правильная последовательность проверки карты.

@vazh2100miura
Copy link
Author

Здравствуйте, после успешного AttachCard ваша карта добавляется в Тинькофф.

Немного неправильно поняли вопрос. Есть 4 типа проверки карты при привязке.
/// Тип проверки карты
enum CheckType {
no,
hold,
threeDS,
threeDSHold,
}

Я имею в виду, что при послених двух, при процессе привязки должна происходить проверка 3ds. Как я выяснил метод AttachCard возвращает paymentId, но из ответа не переводится во внутренyюю модель, к которой мы обращаемся после ответа. Если бы она переводилась, то после этого можно было бы по paymentId сделать проверку версии 3ds, отправить пользователя в вебвью. Нет в ответе paymentId, просто добавьте в модель ответа.

@mit-73
Copy link
Collaborator

mit-73 commented Oct 7, 2022

Я проверил несколько раз и не заметил чтобы AttachCard возвращал paymentId:

{"Success":true,"ErrorCode":"0","TerminalKey":"TestSDK","RequestKey":"64de1723-6c7a-423b-b3f2-6ee48d4bda98","CustomerKey":"madbrains-user-key","CardId":"425608051"}

По документации также ничего нет: https://acdn.tinkoff.ru/static/documents/merchant_api_protocoI_eacq_pci_dss.pdf

Вы можете использовать paymentId из InitResponse для проверки 3ds в вебвью. Посмотрите пожалуйста пример кода внимательно.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants