Карты
Привязка карты получателю
Чтобы сотрудник мог получать деньги на свою карту необходимо добавить карту к получателю.
Формируете криптограмму (можно использовать SDK для Android и iOS в зависимости от устройства или использовать Скрипт checkout для web) в параметре MerchantPublicID передаете значение из метода https://api.cloudtips.ru/api/cards/publicid
Полученную криптограмму передаете в метод
POST https://api.cloudtips.ru/api/cards/authContent-Type application/json { CardholderName: "NONE", CardCryptogramPacket: криптограмма из пункта 1, UserId: {уникальный идентификатор получателя}, IpSource: "192.168.0.0" }
Также необходимо прокидывать параметр IP адрес пользователя, который выполняет запрос в параметре
IpSource
Далее возможны два варианта. Первый вариант если карта не 3ds, либо получатель уже проходил его ранее (Frictionless Flow)
Тогда будет ответ:{ TransactionId: 123345, StatusCode: "Canceled", CardToken: "tk_sometoken" }
Второй вариант, если получатель проходит полный 3ds с вводом смс кода (Challenge Flow)
Тогда будет ответ:{ 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 со следующими параметрами:
{ "md": {значение из ответа после acsUrl}, "paRes": {значение из ответа после acsUrl}, "userId": {уникальный идентификатор получателя} }
При успешном окончании методов 3, 4 или 5 необходимо подтвердить привязку карты на стороне системы
POST https://api.cloudtips.ru/api/cards/addContent-Type application/json { TransactionId: {из ответа пункта 3, 4 или 5}, "userId": {уникальный идентификатор получателя} }
Получение списка карт получателя
Описание: Позволяет получить все карты привязанные получателем
Адрес: https://api.cloudtips.ru/api/cards?userId={userId}, где userId - уникальный идентификатор получателя
Тип: GET
Ответ:
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
cardFirstSix | String | Да | Первые 6 цифр карты получателя |
cardLastFour | String | Да | Последние 4 цифры карты получателя |
cardType | String | Да | Тип карты |
cardExpirationDate | String | Да | Дата окончания действия карты |
issuerCode | String | Да | Эмитент карты |
token | String | Да | Уникальный идентификатор карты в системе |
isDefault | String | Да | Карта по умолчанию, значения true и false |
commissionHint | String | Да | Информации о комиссии для текущей карты |
succeed | String | Да | Стату запроса |
errors | Array of string | Да | Возвращатеся список ошибок, относящихся целиком к запросу |
validationErrors | Array of string | Да | Поле представлено в формате ключ-значение и содержит ошибки, которые отнести к конкретному полю запроса |
Пример ответа:
{
"data": [
{
"firstSix": "string",
"lastFour": "string",
"cardType": "string",
"cardExpirationDate": "string",
"issuerCode": "string",
"token": "string",
"isDefault": true,
"commissionHint": "string"
}
],
"succeed": true,
"errors": [
"string"
],
"validationErrors": {
"additionalProp1": [
"string"
],
"additionalProp2": [
"string"
],
"additionalProp3": [
"string"
]
}
}
Удаление карты
Описание: Удаление карты получателя. Карту по умолчанию удалить можно, дефолтной становится та, которая идет сверху списка. Если осталась только одна дефолтная карта, то она все равно будет удалена.
Адрес: https://api.cloudtips.ru/api/cards/
Тип: DELETE
Запрос:
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
cardToken | String | Да | Уникальный идентификатор карты в системе |
userId | String | Да | Уникальный идентификатор получателя в системе |
Пример запроса:
{
"cardToken": "string",
"userId": "string"
}
Ответ:
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
succeed | String | Да | Стату запроса |
errors | Array of string | Да | Возвращатеся список ошибок, относящихся целиком к запросу |
validationErrors | Array of string | Да | Поле представлено в формате ключ-значение и содержит ошибки, которые отнести к конкретному полю запроса |
Пример ответа:
{
"succeed": true,
"errors": [
"string"
],
"validationErrors": {
"additionalProp1": [
"string"
],
"additionalProp2": [
"string"
],
"additionalProp3": [
"string"
]
}
}
Смена дефолтной карты
Описание: Изменить карту, на которую выплачиваются чаевые по умолчанию
Адрес: https://api.cloudtips.ru/api/cards/default
Тип: POST
Запрос:
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
cardToken | String | Да | Уникальный идентификатор карты в системе |
userId | String | Да | Уникальный идентификатор получателя в системе |
Пример запроса:
{
"cardToken": "string",
"userId": "string"
}
Ответ:
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
succeed | String | Да | Стату запроса |
errors | Array of string | Да | Возвращатеся список ошибок, относящихся целиком к запросу |
validationErrors | Array of string | Да | Поле представлено в формате ключ-значение и содержит ошибки, которые отнести к конкретному полю запроса |
Пример ответа:
{
"succeed": true,
"errors": [
"string"
],
"validationErrors": {
"additionalProp1": [
"string"
],
"additionalProp2": [
"string"
],
"additionalProp3": [
"string"
]
}
}
Получение publicId для привязки карты
Описание: Позволяет получить publicId для формирования криптограммы
Адрес: https://api.cloudtips.ru/api/cards/{userId}/publicid
Тип: GET
Запрос:
Наименование | Тип | Обязательность | Описание |
---|---|---|---|
userId | String | Да | Идентификатор юзера |
Пример запроса:
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 | Да | Поле представлено в формате ключ-значение и содержит ошибки, которые отнести к конкретному полю запроса |
Пример ответа:
{
"data": {
"publicId": "string"
},
"succeed": true,
"errors": [
"string"
],
"validationErrors": {
"additionalProp1": [
"string"
]
}
}