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

Quasi Ecom (AZ)

Оплата через Quasi ecom выполняется строго в следующем порядке:

  1. Создание ордера
  2. Создание внутреннего платежа с методом to_quasi_ecom
  3. Отправка кода подтверждения в Quasi

⚠️ Важно

  • Гео обязательно: Азербайджан
  • Ордер, внутренний платеж и отправка кода должны быть с одинаковым geo_id и методом to_quasi_ecom

1. 🧾 Создание ордера

Создайте ордер стандартным способом. Полученный order_id используется на следующем шаге при создании внутреннего платежа.


2. 💳 Создание внутреннего платежа

POST /api/v1/payments/internal/

Создает внутренний платеж. После успешного создания платежа необходимо сохранить payment_gateway_id — он используется при отправке кода подтверждения.

Пример payload

Формат даты карты: MM/YY Пример: 12/32

Text Only
curl --location --request POST '{{base_url}}/api/v1/payments/internal/' \
  --header 'Authorization: Token <YOUR_API_TOKEN>' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "order_id": "9e4e1406-b431-4d67-8559-e90371772abb",
    "geo_id": 3,
    "amount": 1200.50,
    "transfer_method": "to_quasi_ecom",
    "callback_url": "https://example.com/callback",
    "client_id": "client_123",
    "client_ip": "127.0.0.1",
    "quasi_ecom_card_number": "4242424242424242",
    "quasi_ecom_name": "IVAN IVANOV",
    "quasi_ecom_date": "12/32",
    "quasi_ecom_cvv": "123"
  }'

Ответ такой как при создании внутреннего платежа

Обьяснение полей для Quasi

Поле Описание
transfer_method Должен быть to_quasi_ecom
geo_id Гео Азербайджан
quasi_ecom_card_number Полный номер карты
quasi_ecom_name Имя держателя карты
quasi_ecom_date Срок действия карты в формате MM/YY
quasi_ecom_cvv CVV код

📌 Сохраните значение payment_gateway_id — оно потребуется на следующем шаге.


3. 🔐 Отправка кода в Quasi

Endpoint

HTTP
POST /api/v1/payments/quasi-ecom-code/

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

Bash
curl --location --request POST '{{base_url}}/api/v1/payments/quasi-ecom-code/' \
  --header 'Authorization: Token <YOUR_API_TOKEN>' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "quasi_ecom_card_number": "4242424242424242",
    "quasi_ecom_payment_id": "12345",
    "quasi_ecom_amount": "1200.50",
    "quasi_ecom_code": "123456",
    "quasi_ecom_name": "IVAN IVANOV",
    "quasi_ecom_last4_number": "4242"
  }'

Параметры запроса

Поле Тип Обязательное Описание
quasi_ecom_card_number string Полный номер карты
quasi_ecom_payment_id string payment_gateway_id, полученный при создании внутреннего платежа
quasi_ecom_amount string Сумма платежа
quasi_ecom_code string Код подтверждения
quasi_ecom_name string Имя держателя карты
quasi_ecom_last4_number string Последние 4 цифры карты

Ответы API

✅ Успешный ответ

JSON
1
2
3
{
  "description": "Code successfully sent"
}

HTTP статус: 200 OK После того как пользователь ввёл код подтверждения (OTP / 3-DS), его необходимо отправить в Quasi через данный endpoint.



❌ Ошибка авторизации

JSON
1
2
3
{
  "detail": "Unauthorized"
}

HTTP статус: 401 Unauthorized


❌ Внутренняя ошибка сервера

JSON
1
2
3
{
  "detail": "Internal server error"
}

HTTP статус: 500 Internal Server Error