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

api/purchase - Оплата по карте

Описание

  • HTTP‑метод: POST
  • URL: /api/purchase
  • Форма взаимодействия: Клиент-сервер
  • Формат тела запроса: application/json
  • Назначение: Регистрация операции с типом PURCHASE. Запрос выполняется с перенаправлением (редиректом) плательщика на платёжные страницы ПЦ.

URL

1
https://gateway-docs.wallet.kvell.group/api/purchase
1
/api/purchase

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

Поле Тип Обяз. Описание
terminal str Уникальный идентификатор учетной записи ТСП в ПЦ.
order_id int Уникальный идентификатор Заказа в ПЦ, полученный по результатам Запроса api/register.
signature str Цифровая подпись запроса. Алгоритм расчёта — см. Формирование подписи.
Необязательные параметры
cvc str Проверочный код Карты Плательщика CVV2/CVC2/ППК2. Для Карт Maestro может отсутствовать.
get_token int Запрос на предоставление токена использованной в Операции Платёжной карты в составе уведомления на url. Возможные значения: 0, 1. 0 (значение по умолчанию) — не возвращать токен; 1 — вернуть токен. (по умолчанию 0)
token str Токен ранее зарегистрированной Платёжной карты Плательщика. Позволяет Плательщику не вводить все реквизиты Карты при повторной оплате, но при этом поддерживает работу с 3DS
action str Если action=pay, то ПЦ попытается провести Операцию на основании параметров Запроса, без отображения Платёжной формы Плательщику. При нехватке данных для проведения Операции, Плательщику выводится Платёжная форма для заполнения недостающих данных.
payer object Данные Плательщика. Значимое поле (см. структуру payer/receiver): public_id.
unique_key str Уникальный ключ идемпотентности запроса, позволяющий безопасно повторить запрос без риска повторного проведения операции.
pan_token str Значение для передачи номера карты, по которой будет проводиться операция. Если передано, пользователь не сможет указать другую карту.
pan_token_sha256 str Значение хеша, взятого по алгоритму sha256 от значения pan_token. Используется для включения в подпись запроса.
pan str Номер карты Плательщика.
month int Месяц срока действия Карты Плательщика.
year int Год срока действия Карты Плательщика.
save_card int Возможные значения: 0, 1. 0 — не сохранять карту; 1 — сохранить карту. Если save_card == 1 и передан объект payer с public_id, при обработке транзакции в ПЦ сохраняется связка terminal, payer.public_id и карты, доступная при последующих вызовах платёжной страницы с теми же terminal/payer.public_id.
apple_payment_data str JSON-объект в base64. Платежные данные Apple Pay (значение поля paymentData из PKPaymentToken). Имеет более высокий приоритет, чем apple_payment_token. Анализируется только вместе с action=pay.
google_cryptogram str JSON-объект в base64. Платежные данные Google Pay (значение поля cryptogram, полученного от Google). Анализируется только вместе с action=pay.
yandex_cryptogram str JSON-объект в base64. Платежные данные Yandex Pay (значение поля cryptogram, полученного от Yandex). Анализируется только вместе с action=pay.
samsung_ref_id str Уникальный референс запроса на получение криптограммы карты Samsung Pay. Анализируется только вместе с action=pay.

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

Успешная обработка запроса выполняет HTTP‑редирект (RedirectResponse) пользователя на форму оплаты ПЦ. Тело ответа не содержит JSON.

Примечания

  • Как и раньше, возможно небольшое отличие от описанного поведения при разных статусах обработки заказа.
  • При наличии заголовка unique_key повторный запрос с тем же значением не создаёт новую операцию — возвращается ранее сохранённый результат.