Платежная страница
Проведение платежа с переходом на платежную страницу KVELL.
Проведение платежа
URL
Метод: GET
или POST
- Production:
https://pay.kvell.group/checkout
- Stage:
https://pay.stage.kvell.group/checkout
Параметры запроса
Название |
Тип | Обязательно | Описание |
---|---|---|---|
api_key |
string | Да | Уникальный идентификатор магазина |
signature |
string | Да | Подпись |
amount |
integer | Да | Сумма в копейках |
description |
string | Да | Описание к транзакции |
transaction |
string | Да | Уникальный номер транзакции на стороне мерчанта |
success_url |
string | Да | Ссылка при успешном выполнении запроса |
fail_url |
string | Да | Ссылка при неверном выполнении запроса |
phone |
string | Нет | Номер телефона плательщика для привязки карт |
auto_return |
string | Нет | Автоматический редирект на success_url или fail_url после оплаты. Задается в секундах. Если передать значение больше 0, то редирект произойдет через N-секунд. Если значение равно 0, то редирект произойдет сразу. |
extra_data |
json | Нет | Дополнительная информация |
fiscal_data |
json | Нет | Фискализация чека по Ф3-54 |
split_data |
array | Нет | Cплитование платежей |
Формирование подписи
Подпись signature
формируется конкатенацией api_key
, transaction
, amount
и secret_key
. Формируется sha256
от полученной строки:
где secret_key
- секретный ключ, который находится в настройках магазина мерчанта.
Примеры запросов
Запрос GET
https://pay.kvell.group/checkout?api_key={api_key}&signature={signature}&amount={amount}&description={description}&transaction={transaction}&success_url={success_url}&fail_url={fail_url}&phone={phone}&auto_return={auto_return}&extra_data={extra_data}&fiscal_data={fiscal_data}&split_data={split_data}
https://pay.kvell.group/checkout?api_key=3a8c82d6-d2c6-4165-9a6b-ab3f14d965ae&amount=10000&description=%D0%9F%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%20%E2%84%961&signature=afc09ed74d83849d44c1f1906b10d20c147bf0eb25da940c020c980b3b44ca38&success_url=http%3A%2F%2Fyoursite.com%2Fsuccess&fail_url=http%3A%2F%2Fyoursite.com%2Ffail&transaction=fbfe9f88-d5c7-4994-aed6-ee8003f4f342&phone=79991234567&extra_data=%7B%22string%22%3A%20%22string%22%7D&fiscal_data=%7B%22items%22%3A%20%5B%7B%22name%22%3A%20%22TEST%22%2C%20%22price%22%3A%2010025%2C%20%22quantity%22%3A%202%2C%20%22sum%22%3A%2020050%2C%20%22measurement_unit%22%3A%20%22%D0%BA%D0%B3%22%2C%20%22payment_method%22%3A%20%22full_payment%22%2C%20%22payment_object%22%3A%20%22commodity%22%2C%20%22vat_type%22%3A%20%22vat20%22%7D%5D%2C%20%22client%22%3A%20%7B%22email%22%3A%20%22client_email%40mail.ru%22%2C%20%22phone%22%3A%20%22%2B71231234567%22%7D%2C%20%22company%22%3A%20%7B%22email%22%3A%20%22company_email%40mail.ru%22%2C%20%22sno%22%3A%20%22osn%22%2C%20%22payment_address%22%3A%20%22https%3A%2F%2Fkvell.com%22%7D%7D&split_data=%5B%7B%22service_id%22%3A%20%22343-23%22%2C%22amount%22%3A%201000%2C%22description%22%3A%20%22%22%2C%20%22metadata%22%3A%20%7B%7D%7D%5D
Запрос POST
<form action="https://pay.kvell.group/checkout" 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="hidden" name="phone" value="79991234567">
<input type="hidden" name="extra_data" value='{"string": "string"}'>
<input type="hidden" name="fiscal_data"
value='{"items": [{"name": "TEST", "price": 10025, "quantity": 2, "sum": 20050, "measurement_unit": "кг", "payment_method": "full_payment", "payment_object": "commodity", "vat_type": "vat20"}], "client": {"email": "client_email@mail.ru", "phone": "+71231234567"}, "company": {"email": "company_email@mail.ru", "sno": "osn", "payment_address": "https://kvell.com"}}'>
<input type="hidden" name="split_data"
value='[{"service_id": "343-23","amount": 1000,"description": "", "metadata": {}}]'>
<input type="submit" value="Оплатить">
</form>
Запрос POST
с JSON
При отправке данных в формате JSON необходимо указать заголовоки Accept: application/json
и Content-Type: application/json
. В ответ придет временная ссылка для редиректа пользователя на платежную страницу.
Пример запроса:
curl -X POST https://pay.kvell.group/checkout \
-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",
"phone": "79991234567",
"extra_data": {
"string": "string"
},
"fiscal_data": {
"items": [
{
"name": "TEST",
"price": 10025,
"quantity": 2,
"sum": 20050,
"measurement_unit": "кг",
"payment_method": "full_payment",
"payment_object": "commodity",
"vat_type": "vat20"
}
],
"client": {
"email": "client_email@mail.ru",
"phone": "+71231234567"
},
"company": {
"email": "company_email@mail.ru",
"sno": "osn",
"payment_address": "https://kvell.com"
}
},
"split_data": [
{
"service_id": "343-23",
"amount": 10000,
"description": "Test",
"metadata": {}
}
]
}'
Пример ответа:
Каскадный эквайринг
Каскадный эквайринг интегрируется аналогично форме проведения платежа, но только необходимо использовать два магазина.
URL
Метод: GET
или POST
- Production:
https://pay.kvell.group/checkout/cascade
- Stage:
https://pay.stage.kvell.group/checkout/cascade
Параметры запроса
Название |
Тип | Обязательно | Описание |
---|---|---|---|
api_key_1 |
string | Да | Уникальный идентификатор первого магазина |
api_key_2 |
string | Да | Уникальный идентификатор второго магазина |
signature |
string | Да | Подпись |
amount |
integer | Да | Сумма в копейках |
description |
string | Да | Описание к транзакции |
transaction |
string | Да | Уникальный номер транзакции на стороне мерчанта |
success_url |
string | Да | Ссылка при успешном выполнении запроса |
fail_url |
string | Да | Ссылка при неверном выполнении запроса |
phone |
string | Нет | Номер телефона плательщика для привязки карт |
extra_data |
json | Нет | Дополнительная информация |
fiscal_data |
json | Нет | Фискализация чека по Ф3-54 |
split_data |
array | Нет | Сплитование платежа |
Формирование подписи
Подпись signature
формируется конкатенацией api_key_1
, api_key_2
, transaction
, amount
, secret_key_1
и secret_key_2
.
Формируется sha256 от полученной строки:
где secret_key
- секретный ключ, который находится в настройках магазина мерчанта.
Примеры запросов
Запрос GET
https://pay.kvell.group/checkout/cascade?api_key_1={api_key}&api_key_2={api_key_2}&signature={signature}&amount={amount}&description={description}&transaction={transaction}&success_url={success_url}&fail_url={fail_url}&phone={phone}&extra_data={extra_data}&fiscal_data={fiscal_data}&split_data={split_data}
https://pay.kvell.group/checkout/cascade?api_key_1=d0aea12e-f94a-47ac-9687-633f3f8167ac&api_key_2=ab64d7ee-cfd6-4f32-98ef-35996bd2815b&amount=10000&description=%D0%9F%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%20%E2%84%961&signature=afc09ed74d83849d44c1f1906b10d20c147bf0eb25da940c020c980b3b44ca38&success_url=http%3A%2F%2Fyoursite.com%2Fsuccess&fail_url=http%3A%2F%2Fyoursite.com%2Ffail&transaction=fbfe9f88-d5c7-4994-aed6-ee8003f4f342&phone=79991234567&extra_data=%7B%22string%22%3A%20%22string%22%7D&fiscal_data=%7B%22items%22%3A%20%5B%7B%22name%22%3A%20%22TEST%22%2C%20%22price%22%3A%2010025%2C%20%22quantity%22%3A%202%2C%20%22sum%22%3A%2020050%2C%20%22measurement_unit%22%3A%20%22%D0%BA%D0%B3%22%2C%20%22payment_method%22%3A%20%22full_payment%22%2C%20%22payment_object%22%3A%20%22commodity%22%2C%20%22vat_type%22%3A%20%22vat20%22%7D%5D%2C%20%22client%22%3A%20%7B%22email%22%3A%20%22client_email%40mail.ru%22%2C%20%22phone%22%3A%20%22%2B71231234567%22%7D%2C%20%22company%22%3A%20%7B%22email%22%3A%20%22company_email%40mail.ru%22%2C%20%22sno%22%3A%20%22osn%22%2C%20%22payment_address%22%3A%20%22https%3A%2F%2Fkvell.com%22%7D%7D&split_data=%5B%7B%22service_id%22%3A%20%22343-23%22%2C%22amount%22%3A%201000%2C%22description%22%3A%20%22%22%2C%20%22metadata%22%3A%20%7B%7D%7D%5D
Запрос POST
<form action="https://pay.kvell.group/checkout/cascade" method="POST">
<input type="hidden" name="api_key_1" value="d0aea12e-f94a-47ac-9687-633f3f8167ac">
<input type="hidden" name="api_key_2" value="ab64d7ee-cfd6-4f32-98ef-35996bd2815b">
<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="hidden" name="phone" value="79991234567">
<input type="hidden" name="extra_data" value='{"string": "string"}'>
<input type="hidden" name="fiscal_data"
value='{"items": [{"name": "TEST", "price": 10025, "quantity": 2, "sum": 20050, "measurement_unit": "кг", "payment_method": "full_payment", "payment_object": "commodity", "vat_type": "vat20"}], "client": {"email": "client_email@mail.ru", "phone": "+71231234567"}, "company": {"email": "company_email@mail.ru", "sno": "osn", "payment_address": "https://kvell.com"}}'>
<input type="hidden" name="split_data"
value='[{"service_id": "343-23","amount": 1000,"description": "", "metadata": {}}]'>
<input type="submit" value="Оплатить">
</form>
Платежи по договору
Получение информации по договору и проведение платежа на платежной странице.
URL
Метод: GET
- Production:
https://pay.kvell.group/pre-checkout/contracts
- Stage:
https://pay.stage.kvell.group/pre-checkout/contracts
Параметры запроса
Название |
Обязательно | Описание |
---|---|---|
api_key |
Да | Уникальный идентификатор магазина |
success_url |
Да | Ссылка при успешном выполнении запроса |
fail_url |
Да | Ссылка при неверном выполнении запроса |