...
Формируете криптограмму (можно использовать SDK для Android и iOS в зависимости от устройства или использовать Скрипт checkout для web) в параметре MerchantPublicID передаете значение из метода https://api.cloudtips.ru/api/cards/publicid
Полученную криптограмму передаете в метод
POST https://api.cloudtips.ru/api/cards/authCode Block Content-Type application/json { CardholderName: "NONE", CardCryptogramPacket: криптограмма из пункта 1, UserId: {уникальный идентификатор получателя} }
Далее возможны два вариантварианта. Первый вариант если карта не 3ds, либо получатель уже проходил его ранее (Frictionless Flow)
Тогда будет ответ:Code Block { TransactionId: 123345, StatusCode: "Canceled", CardToken: "tk_sometoken" }
Второй вариант, если получатель проходит полный 3ds с вводом смс кода (Challenge Flow)
Тогда будет ответ:Code Block { TransactionId: 123345, StatusCode: "Need3ds", Md: "123345", PaReq: "TESTPAREQ", AcsUrl: "https://bank-acs-url.ru" }
Если это Challenge Flow, то необходимо перенаправить получателя на AcsUrl банка для ввода 3ds-ного кода. Для этого необходимо перенаправить получателя на AcsUrl банка для прохождения 3ds.
Для проведения 3-D Secure аутентификации нужно отправить плательщика на адрес, указанный в параметре AcsUrl из метода Авторизация платежа с передачей следующих параметров:
MD — параметр TransactionId из ответа сервера;
PaReq — одноименный параметр из ответа сервера;
TermUrl — адрес на вашем сайте для возврата плательщика после аутентификации.
Далее необходимо вызвать метод https://api.cloudtips.ru/api/cards/post3ds со следующими параметрами:
Code Block { "md": {значение из ответа после acsUrl}, "paRes": {значение из ответа после acsUrl}, "userId": {уникальный идентификатор получателя} }
При успешном окончании методов 3, 4 или 5 необходимо подтвердить привязку карты на стороне системы
POST https://api.cloudtips.ru/api/cards/addCode Block Content-Type application/json { TransactionId: {из ответа пункта 3, 4 или 5}, "userId": {уникальный идентификатор получателя} }
...
Адрес: https://api.cloudtips.ru/api/cards/{userId}/publicid
Тип: GET
Запрос:
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
userId | String | Да | Идентификатор юзера |
Пример запроса:
Code Block |
---|
https://api.cloudtips.ru/api/cards/80eb050b-77c7-475c-ba98-70cf45f0003c/publicid |
...
Наименование | Тип | Обязательность | Описание |
---|
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
publicId | String | Да | Уникальный идентификатор терминала |
succeed | Boolean | Да | Стату запроса, значение true и false |
errors | Array of string | Да | Возвращатеся список ошибок, относящихся целиком к запросу |
validationErrors | Array of string | Да | Поле представлено в формате ключ-значение и содержит ошибки, которые отнести к конкретному полю запроса |
Пример ответа:
Code Block | ||
---|---|---|
| ||
{ "data": { "publicId": "string" }, "succeed": true, "errors": [ "string" ], "validationErrors": { "additionalProp1": [ "string" ] } } |