Open vazh2100miura opened 2 years ago
Здравствуйте, после успешного AttachCard ваша карта добавляется в Тинькофф, список карт можно запросить через метод GetCardList. Дальше с помощью PaymentSource токен вашей карты используется в Check3DSVersion и FinishAuthorize. В примере есть правильная последовательность проверки карты.
Здравствуйте, после успешного AttachCard ваша карта добавляется в Тинькофф.
Немного неправильно поняли вопрос. Есть 4 типа проверки карты при привязке. /// Тип проверки карты enum CheckType { no, hold, threeDS, threeDSHold, }
Я имею в виду, что при послених двух, при процессе привязки должна происходить проверка 3ds. Как я выяснил метод AttachCard возвращает paymentId, но из ответа не переводится во внутренyюю модель, к которой мы обращаемся после ответа. Если бы она переводилась, то после этого можно было бы по paymentId сделать проверку версии 3ds, отправить пользователя в вебвью. Нет в ответе paymentId, просто добавьте в модель ответа.
Я проверил несколько раз и не заметил чтобы 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 в вебвью. Посмотрите пожалуйста пример кода внимательно.
Далее необходимо открыть ваше webview. Но есть несостыковки. Виджет WebView3DS, принимает в качестве обязательного параметра is3DsVersion2. Мы можем его предоставить проверив версию 3DS с помощью метода check3DSVersion. Но этот метод принимает в качестве обязательного параметра paymentId, но его негде взять. AddCardResponse и AttachCardResponse не содержат такого поля. Кроме того, Виджет Webview3DS принимает в качестве необязательных параметров serverTransId, acsTransId, но в AddCardResponse и AttachCardResponse таких полей нет. Кроме того, в комментарии к serverTransId написано, что он является обязательным для 3ds версии 2.
Отсюда возникает вопрос. Как привязывать карты с типом привязки threeDS и threeDSHold?