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

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

  • HTTP-метод: POST
  • URL: /payments/tokens/charge
  • Форма взаимодействия: Сервер-сервер
  • Формат тела запроса: application/json
  • Аутентификация: HTTP Basic Auth (PublicId / ApiSecret)
  • Назначение: оплата по токену карты, полученному при предыдущей оплате по криптограмме (Token в ответе/Pay-уведомлении, при SaveCard: true). Оплата по токену проходит только на том терминале (PublicId), на котором токен был получен. Сумма списывается сразу — для холдирования используйте payments/tokens/auth.

URL

1
https://cloud.wallet.kvell.group/payments/tokens/charge
1
/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 Список товаров для товарного дробления платежа. Наше расширение — в спецификации CloudPayments отсутствует.

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

Model содержит полную Модель транзакции.

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
{
  "Amount": 59,
  "Currency": "RUB",
  "InvoiceId": "1234567",
  "Description": "Оплата товаров в example.com",
  "AccountId": "user_x",
  "TrInitiatorCode": 0,
  "PaymentScheduled": 1,
  "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": "Completed",
    "StatusCode": 3,
    "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
}

Примечания

  • Список кодов ошибок отклонённых транзакций — в разделе Коды ошибок.
  • Если данные держателя карты требуются повторно, их можно передать в Payer (аналогично payments/cards/charge).
  • Для холдирования суммы без немедленного списания используйте payments/tokens/auth.
  • Метод поддерживает повторную попытку оплаты тем же InvoiceId после отклонённой транзакции — см. раздел «Повторные попытки оплаты» в Обзоре.