Перейти к содержанию

payments/tokens/auth - Оплата по токену (двухстадийная)

  • HTTP-метод: POST
  • URL: /payments/tokens/auth
  • Форма взаимодействия: Сервер-сервер
  • Формат тела запроса: application/json
  • Аутентификация: HTTP Basic Auth (PublicId / ApiSecret)
  • Назначение: то же, что payments/tokens/charge, но по двухстадийной схеме — сумма холдируется на карте, а не списывается сразу. Для списания вызовите payments/confirm, для отмены холда — payments/void.

URL

1
https://cloud.wallet.kvell.group/payments/tokens/auth
1
/payments/tokens/auth

Структура запроса

Полностью совпадает с payments/tokens/charge.

Поле Тип Обяз. Описание
Amount decimal Сумма платежа для холдирования. Разделитель точка, не менее 0.01.
Token str Токен карты, выданный системой после первого платежа.
AccountId str Идентификатор пользователя, для которого был выдан токен.
Currency str Валюта: RUB/USD/EUR/GBP. По умолчанию RUB.
TrInitiatorCode int Инициатор списания: 0 — мерчант на основании ранее сохранённых данных, 1 — держатель карты.
PaymentScheduled int Признак оплаты по расписанию: 0 — без расписания, 1 — по расписанию.
InvoiceId str Номер счёта или заказа на стороне мерчанта.
Description str Назначение платежа в свободной форме.
JsonData json Любые другие данные, которые будут связаны с транзакцией.
SplitData array Список товаров для товарного дробления платежа. Приоритетнее списка, переданного в payments/confirm (наше расширение — в спецификации CloudPayments отсутствует).

Структура ответа

Model содержит полную Модель транзакции. При успешной авторизации транзакция переходит в статус Authorized, а не Completed — см. Статусы транзакции.

Пример запроса

1
2
3
4
5
6
7
8
9
{
  "Amount": 59,
  "Currency": "RUB",
  "InvoiceId": "1234567",
  "Description": "Холдирование депозита",
  "AccountId": "user_x",
  "TrInitiatorCode": 0,
  "Token": "success_1111a3e0-2428-48fb-a530-12815d90d0e8"
}

Пример ответов

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
{
  "Model": {
    "TransactionId": 897728064,
    "Amount": 59,
    "InvoiceId": "1234567",
    "AccountId": "user_x",
    "Status": "Authorized",
    "StatusCode": 2,
    "ReasonCode": 0,
    "CardHolderMessage": "Оплата успешно проведена",
    "CardFirstSix": "424242",
    "CardLastFour": "4242",
    "AuthCode": "A1B2C3",
    "Token": "success_1111a3e0-2428-48fb-a530-12815d90d0e8"
  },
  "Success": true,
  "Message": null
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
{
  "Model": {
    "TransactionId": 891583633,
    "Amount": 100,
    "Status": "Declined",
    "StatusCode": 5,
    "ReasonCode": 5051,
    "CardHolderMessage": "Недостаточно средств на карте"
  },
  "Success": false,
  "Message": null
}

Примечания

  • Список кодов ошибок отклонённых транзакций — в разделе Коды ошибок.
  • У холда есть ограниченный срок на подтверждение (обычно до 7 дней в зависимости от типа карты) — если не подтвердить вовремя, холд автоматически отменяется.
  • Метод поддерживает повторную попытку оплаты тем же InvoiceId после отклонённой транзакции — см. раздел «Повторные попытки оплаты» в Обзоре.