P2P-обмен
P2P-обмен позволяет пользователям покупать и продавать USDT за RUB напрямую друг с другом. Система работает на основе объявлений со встроенным эскроу, интегрированным чатом и системой рейтингов.
Основные концепции
Объявления
Объявление -- постоянное предложение купить или продать USDT за фиат. Указывает тип ("sell" или "buy"), валюту, курс, лимиты и способы оплаты.
Эскроу
При создании ордера USDT продавца замораживается в эскроу, гарантируя покупателю доступность средств.
Пополнение через P2P (покупка USDT)
1. Просмотр объявлений на продажу
GET /api/v1/p2p/ads?type=sell&fiat_currency=RUB&limit=20&offset=0
2. Создание ордера
POST /api/v1/p2p/orders
{
"ad_id": 15,
"usdt_amount": 500000,
"payment_method": "card"
}
3. Оплата продавцу
Переведите RUB по реквизитам из объявления.
4. Подтверждение оплаты
POST /api/v1/p2p/orders/{id}/confirm-paid
5. Подтверждение получения продавцом
POST /api/v1/p2p/orders/{id}/confirm-received
Жизненный цикл ордера
pending --> paid_by_buyer --> completed
| |
+--> cancelled +--> disputed (вызов оператора)
| Статус | Описание |
|---|---|
pending | Ордер создан, USDT продавца заморожен |
paid_by_buyer | Покупатель подтвердил оплату |
completed | Продавец подтвердил получение, USDT выдан |
cancelled | Ордер отменен, USDT возвращен продавцу |
Управление объявлениями
- Создание:
POST /api/v1/p2p/ads - Просмотр:
GET /api/v1/p2p/ads/my - Обновление:
PUT /api/v1/p2p/ads/{id} - Удаление:
DELETE /api/v1/p2p/ads/{id}
Интегрированный чат
- Отправка:
POST /api/v1/p2p/orders/{id}/messages - Чтение:
GET /api/v1/p2p/orders/{id}/messages?limit=50&offset=0 - Сессии:
GET /api/v1/p2p/sessions
Система рейтингов
POST /api/v1/p2p/orders/{id}/rate
Шкала от 1 до 5 звезд.
Разрешение споров
POST /api/v1/p2p/orders/{id}/call-operator
Отмена ордера
POST /api/v1/p2p/orders/{id}/cancel
Коды ошибок
| Код | Описание |
|---|---|
AD_NOT_ACTIVE | Объявление больше не активно |
OWN_AD | Нельзя создать ордер по своему объявлению |
AMOUNT_TOO_LOW | Сумма ниже минимума объявления |
AMOUNT_TOO_HIGH | Сумма превышает максимум объявления |
AMOUNT_EXCEEDS_AVAILABLE | Сумма превышает оставшийся объем |
INVALID_PAYMENT_METHOD | Способ оплаты не принимается |
SELLER_INSUFFICIENT_BALANCE | У продавца недостаточно баланса |
DUPLICATE_AD_TYPE | Уже есть активное объявление этого типа |
MIN_DEPOSIT_REQUIRED | Минимум 1,000 RUB пополнений для P2P-вывода |
WAGERING_REQUIREMENT_NOT_MET | Требование отыгрыша не выполнено |