Привязка карты получателю

Чтобы сотрудник мог получать деньги на свою карту необходимо добавить карту к получателю.

  1. Формируете криптограмму (можно использовать SDK для Android и iOS в зависимости от устройства или использовать Скрипт checkout для web) в параметре MerchantPublicID передаете значение из метода https://api.cloudtips.ru/api/cards/publicid

  2. Полученную криптограмму передаете в метод
    POST https://api.cloudtips.ru/api/cards/auth

    Content-Type application/json
    {
      CardholderName: "NONE",
      CardCryptogramPacket: криптограмма из пункта 1,
      UserId: {уникальный идентификатор получателя},
      IpSource: "192.168.0.0"
    }

    Также необходимо прокидывать параметр IP адрес пользователя, который выполняет запрос в параметре IpSource

  3. Далее возможны два варианта. Первый вариант если карта не 3ds, либо получатель уже проходил его ранее (Frictionless Flow)
    Тогда будет ответ:

    {
      TransactionId: 123345,
      StatusCode: "Canceled",
      CardToken: "tk_sometoken"
    }
    
  4. Второй вариант, если получатель проходит полный 3ds с вводом смс кода (Challenge Flow)
    Тогда будет ответ:

    {
      TransactionId: 123345,
      StatusCode: "Need3ds",
      Md: "123345",
      PaReq: "TESTPAREQ",
      AcsUrl: "https://bank-acs-url.ru"
    }
    
  5. Если это Challenge Flow, то необходимо перенаправить получателя на AcsUrl банка для ввода 3ds-ного кода. Для этого необходимо перенаправить получателя на AcsUrl банка для прохождения 3ds.

    Для проведения 3-D Secure аутентификации нужно отправить плательщика на адрес, указанный в параметре AcsUrl из метода Авторизация платежа с передачей следующих параметров:

  6. При успешном окончании методов 3, 4 или 5 необходимо подтвердить привязку карты на стороне системы
    POST https://api.cloudtips.ru/api/cards/add

    Content-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"
    ]
  }
}