Payment Docs
H2H-интеграции

Карты

H2H-интеграция для оплаты картами

H2H-интеграция (Host-to-Host) позволяет принимать платежи напрямую через API, минуя платёжную форму. Это даёт полный контроль над процессом оплаты.

Перед тем как начать

Как авторизовывать запросы

Эта интеграция доступна не всем мерчантам. Уточняйте доступность у вашего менеджера.

Создание заказа

Перед отправкой данных карты необходимо создать заказ и получить его UUID из поля id.

Как создавать заказы

Отправка данных карты

Отправьте данные карты на следующий endpoint:

POST /v1/orders/{orderId}/h2h/card

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

curl -X POST "https://api.panel.valutix.kz/v1/orders/{orderId}/h2h/card" \
-H "Content-Type: application/json" \
-H "X-Api-Token: YOUR_API_TOKEN" \
-d '{
  "cardNumber": "4111111111111111",
  "expiryDate": "12/25",
  "cardholderName": "John Doe",
  "cvv": "123"
}'

Тело запроса

ПолеТипОбязательноеОписание
cardNumberstring✅ ДаНомер карты
expiryDatestring✅ ДаСрок действия (ММ/ГГ)
cardholderNamestring✅ ДаИмя держателя карты
cvvstring✅ ДаКод CVV/CVC

Если в ответе вернулась информация о заказе — данные карты валидны и приняты. Теперь нужно проверить, требуется ли подтверждение SMS-кодом.


Проверка необходимости SMS-кода

Проверка статуса H2H-транзакции:

GET /v1/orders/{orderId}/h2h/status

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

curl -X GET "https://api.panel.valutix.kz/v1/orders/{orderId}/h2h/status" \
-H "X-Api-Token: YOUR_API_TOKEN"

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

{
  "isSmsRequired": true,
  "status": "PROCESSING"
}

Поля ответа

ПолеОписание
isSmsRequiredtrue — требуется ввод SMS-кода
statusТекущий статус H2H-транзакции

Отправка SMS-кода

Отправка кода означает, что вы передаёте код из SMS банка плательщика в API. Это НЕ отправка SMS пользователю!

Отправьте SMS-код на endpoint:

POST /v1/orders/{orderId}/h2h/code

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

curl -X POST "https://api.panel.valutix.kz/v1/orders/{orderId}/h2h/code" \
-H "Content-Type: application/json" \
-H "X-Api-Token: YOUR_API_TOKEN" \
-d '{
  "code": "123456"
}'

Алгоритм проверки

  1. Успешный ответ — код принят, продолжайте проверять статус
  2. Опрашивайте статус H2H-транзакции, пока status = "PROCESSING"
  3. Если isSmsRequired снова стало true — код был неверным, запросите его повторно

Статусы H2H

Статусы H2H-транзакции — это НЕ то же самое, что статусы основного заказа. Они описывают внутренний процесс Host-to-Host. Финальный результат всегда подтверждайте по статусу заказа и webhook-уведомлениям.

Отслеживайте оба потока статусов:

  • Опрос H2H-статуса (/orders/{orderId}/h2h/status) до терминального состояния
  • Webhook-события заказа (финальное подтверждение оплаты)

Список H2H-статусов

СтатусОписание
INITIALIZINGH2H инициализируется
PROCESSINGH2H обрабатывается (валидация, 3-D Secure, антифрод и пр.)
SUCCESSЭтап H2H завершён успешно (ждите финальный статус заказа через webhook)
CANCELLEDH2H-платёж отменён
FAILEDH2H завершился ошибкой
EXPIREDСрок действия H2H-сессии истёк

Рекомендации по обработке

  • Опрашивайте статус, пока он INITIALIZING или PROCESSING
  • На SUCCESS — переходите к проверке финального статуса заказа и ждите webhook-событие
  • На терминальных CANCELLED, FAILED, EXPIRED — прекращайте опрос и фиксируйте неуспех
  • Если после отправки SMS-кода статус снова PROCESSING, продолжайте ждать; если код снова требуется (isSmsRequired = true) — запросите его повторно

Только статус заказа (через webhook / прямой запрос) окончательно подтверждает списание средств. Статус SUCCESS на уровне H2H — это промежуточный успех.


Общий процесс H2H-интеграции

Проверка статуса заказа

После завершения H2H-процесса проверьте финальный статус заказа:

Проверка статуса заказа

На этой странице