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

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

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

URL

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

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

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

Поле Тип Обяз. Описание
Amount decimal Сумма платежа для холдирования. Разделитель точка, не менее 0.01.
IpAddress str IP-адрес плательщика.
CardCryptogramPacket str Криптограмма платёжных данных, полученная скриптом checkout.js.
Currency str Валюта: RUB/USD/EUR/GBP. По умолчанию RUB.
Name str Имя держателя карты латиницей.
PaymentUrl str Адрес страницы, с которой вызывается скрипт checkout.js.
InvoiceId str Номер счёта или заказа на стороне мерчанта.
Description str Описание оплаты в свободной форме.
CultureName str Язык уведомлений: ru-RU, en-US.
AccountId str Идентификатор плательщика на стороне мерчанта.
Email str E-mail плательщика, на который будет отправлена квитанция об оплате.
Payer object Данные плательщика: FirstName, LastName, MiddleName, Birth, Street, Address, City, Country, Phone, Postcode.
JsonData json Любые другие данные, которые будут связаны с транзакцией.
SaveCard bool Признак сохранения токена карты для последующей оплаты (см. payments/tokens/auth). По умолчанию false.
SplitData array Список товаров для товарного дробления платежа. Приоритетнее списка, переданного в payments/confirm (наше расширение — в спецификации CloudPayments отсутствует).

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

Форма ответа такая же, как у payments/cards/charge: служебные поля 3DS-челленджа при успехе/запросе 3DS, полная Модель транзакции при отказе. При успешной авторизации без 3DS транзакция переходит в статус Authorized, а не Completed — см. Статусы транзакции.

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
{
  "Amount": 10,
  "Currency": "RUB",
  "InvoiceId": "1234567",
  "IpAddress": "123.123.123.123",
  "Description": "Холдирование депозита",
  "AccountId": "user_x",
  "Name": "CARDHOLDER NAME",
  "CardCryptogramPacket": "01492500008719030128SMfLeYdKp5dSQVIiO..."
}

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
{
  "Model": {
    "TransactionId": 891463508,
    "PaReq": "+/eyJNZXJjaGFudE5hbWUiOm51bGws...",
    "GoReq": null,
    "AcsUrl": "https://demo.cloudpayments.ru/acs",
    "ThreeDsSessionData": null,
    "IFrameIsAllowed": true,
    "FrameWidth": null,
    "FrameHeight": null,
    "ThreeDsCallbackId": "7be4d37f0a434c0a8a7fc0e328368d7d",
    "EscrowAccumulationId": null
  },
  "Success": false,
  "Message": null
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
{
  "Model": {
    "TransactionId": 891583633,
    "Amount": 10,
    "InvoiceId": "1234567",
    "Status": "Declined",
    "StatusCode": 5,
    "ReasonCode": 5051,
    "CardHolderMessage": "Недостаточно средств на карте",
    "CardFirstSix": "400005",
    "CardLastFour": "5556",
    "CardType": "Visa"
  },
  "Success": false,
  "Message": null
}

Примечания

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