Платежи с предавторизацией
Проведение платежа с предавторизацией через платёжную страницу KVELL.
Отличие от стандартной платёжной страницы: открывается сразу форма ввода данных карты, без выбора способа оплаты. Карта не сохраняется.
Проведение платежа
URL
Метод: GET или POST
- Production:
https://pay.kvell.group/checkout/preauthorize - Stage:
https://pay.stage.kvell.group/checkout/preauthorize
Параметры запроса
Название |
Тип | Обязательно | Описание |
|---|---|---|---|
api_key |
string | Да | Уникальный идентификатор магазина |
signature |
string | Да | Подпись |
amount |
integer | Да | Сумма в копейках |
description |
string | Да | Описание к транзакции |
transaction |
string | Да | Уникальный номер транзакции на стороне мерчанта |
success_url |
string | Да | Ссылка при успешном выполнении запроса |
fail_url |
string | Да | Ссылка при неверном выполнении запроса |
auto_return |
string | Нет | Автоматический редирект на success_url или fail_url после оплаты. Задается в секундах. Если передать значение больше 0, то редирект произойдет через N-секунд. Если значение равно 0, то редирект произойдет сразу. |
expires_at |
integer | Нет | Дата и время истечения срока жизни платежа в формате UNIX timestamp в секундах |
extra_data |
json | Нет | Дополнительная информация |
fiscal_data |
json | Нет | Фискализация чека по 54-ФЗ |
split_data |
array | Нет | Сплитование платежей |
Формирование подписи
Подпись signature формируется конкатенацией api_key, transaction, amount и secret_key. Формируется sha256
от полученной строки:
Если параметр expires_at передан, то он учитывается при формировании подписи.
где secret_key - секретный ключ, который находится в настройках магазина мерчанта.
Примеры запросов
Запрос GET
https://pay.kvell.group/checkout/preauthorize?api_key={api_key}&signature={signature}&amount={amount}&description={description}&transaction={transaction}&success_url={success_url}&fail_url={fail_url}&auto_return={auto_return}&extra_data={extra_data}&fiscal_data={fiscal_data}&split_data={split_data}
Запрос POST
<form action="https://pay.kvell.group/checkout/preauthorize" method="POST">
<input type="hidden" name="api_key" value="3a8c82d6-d2c6-4165-9a6b-ab3f14d965ae">
<input type="hidden" name="amount" value="10000">
<input type="hidden" name="description" value="Продукт №1">
<input type="hidden" name="signature" value="afc09ed74d83849d44c1f1906b10d20c147bf0eb25da940c020c980b3b44ca38">
<input type="hidden" name="success_url" value="http://yoursite.com/success">
<input type="hidden" name="fail_url" value="http://yoursite.com/fail">
<input type="hidden" name="transaction" value="fbfe9f88-d5c7-4994-aed6-ee8003f4f342">
<input type="submit" value="Оплатить">
</form>
Запрос POST с JSON
При отправке данных в формате JSON необходимо указать заголовки Accept: application/json и Content-Type: application/json. В ответ придет временная ссылка для редиректа пользователя на платежную страницу.
Пример запроса:
curl -X POST https://pay.kvell.group/checkout/preauthorize \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"api_key": "3a8c82d6-d2c6-4165-9a6b-ab3f14d965ae",
"amount": 10000,
"description": "Продукт №1",
"signature": "afc09ed74d83849d44c1f1906b10d20c147bf0eb25da940c020c980b3b44ca38",
"success_url": "http://yoursite.com/success",
"fail_url": "http://yoursite.com/fail",
"transaction": "fbfe9f88-d5c7-4994-aed6-ee8003f4f342"
}'
Пример ответа:
Колбэки
Колбэки отправляются так же, как для стандартного платежа. Подробнее см. раздел Колбэки.