Входной класс в работу SDK.
Старт работы с SDK происходит через следующий код:
Sdk3DS.getInstance().launchSDK(
config = ThreedsSdkMerchantOptionsConfig()
)
Функция принимает на вход класс ThreedsSdkMerchantOptionsConfig
Класс конфигурации работы SDK.
Принимает в конструктор следующие параметры:
context - базовый класс Context из Android, scenario - сценарий работы SDK, callback - лямбда, в которую будет отправляться состояние работы SDK.
sealed interface, наследники которого будут отправляться в лямбду класса ThreedsSdkMerchantOptionsConfig.
Актуальные типы наследников:
Класс, экземпляр которого будет отправляться в лямбду класса ThreedsSdkMerchantOptionsConfig при успешном выполнении пункта 3 базового сценария
Класс, экземпляр которого будет отправляться в лямбду класса ThreedsSdkMerchantOptionsConfig при успешном выполнении пункта 5 базового сценария или пункта 3 быстрого сценария
Важно! Класс содержит 2 параметра: cRes и paRes. Один из них гарантированно будет отдан приложению мерчанта, а другой будет null.
Класс, экземпляр которого будет отправляться в лямбду класса ThreedsSdkMerchantOptionsConfig при ошибках в работе SDK
sealed class, наследники которого передаются в ThreedsSdkMerchantOptionsConfig, при выборе сценария работы SDK
Класс наследник Scenario, который выбирается для работы SDK в пункте 3 базового сценария
Класс наследник Scenario, который выбирается для работы SDK в пункте 5 базового сценария или пункта 3 быстрого сценария
Параметры данного класса маппятся из одноимённых сущностей ответа сервера на метод paymentOrder.do или finish3dsMethod.do
Параметр класса ThreedsMethodScenario
Параметры данного класса маппятся из одноимённых сущностей ответа сервера на метод paymentOrder.do
Параметр класса ThreedsChallengesScenario
Параметры данного класса маппятся из одноимённых сущностей ответа сервера на метод paymentOrder.do или finish3dsMethod.do
Пример создания ChallengesData из данных полученных через метод paymentOrder.do
ChallangesData(
termUrl = paymentOrderResponse.termUrl,
acsUrl = paymentOrderResponse.acsUrl,
paReq = paymentOrderResponse.paReq,
cReq = paymentOrderResponse.cReq,
)
Пример создания ChallengesData из данных полученных через метод finish3dsMethod.do
ChallangesData(
termUrl = finish3dsMethodResponse.termUrl,
acsUrl = finish3dsMethodResponse.acsUrl,
paReq = finish3dsMethodResponse.paReq,
cReq = finish3dsMethodResponse.cReq,
)
Важно! Опционально только одно из полей cReq или paReq (т.к. сервер вернёт только одно из них). Параметры termUrl и acsUrl нужно передать по наличию их в ответе сервера.