Создание выплаты

Выплата на карту или телефон получателя.

POSThttps://pipay.su/api/v2/payouts

Создаёт запрос на выплату на указанную карту или номер телефона.

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

Параметр Тип Обязательно Описание
amount number Да Сумма к переводу (в валюте метода).
address string Да Номер карты, телефон (СБП/UPI), крипто-адрес или IBAN получателя. Алиас: cardNumber.
method string Да Payment method code (e.g. c2c, sbp, crypto). See Методы оплаты.
recipient string Да Полное имя получателя (например, "IVAN IVANOV").
currency string Нет Код валюты (например, RUB, UZS, KZT). По умолчанию — валюта метода.
assetOrBank string Нет Slug банка или код актива получателя (например, "sber", "USDT"). Алиас: bank. Полный список — /api/v2/payout_banks.
code string Нет Код банка для маршрутизации (ID участника НСПК или аналог).
orderId string Нет Ваш уникальный orderId (макс. 255 символов). Генерируется автоматически, если не указан.
merchantId string Да Уникальный идентификатор мерчанта.
callbackUri string Нет URI для получения колбэков при смене статуса.
userId string Нет Внутренний userId получателя для аналитики.
userIp string Нет IP-адрес получателя.
contactPhone string Нет Телефон получателя (обязателен для некоторых методов).
email string Нет Email получателя.

Поля ответа:

Поле Тип Описание
result.id string Внутренний ID платежа, сгенерированный системой (на основе UUID).
result.order_id string Ваш orderId, возвращённый в ответе.
result.address string Маскированный адрес получателя (средние цифры карты заменены на *).
result.recipient string Slug банка + имя получателя (например, "sber IVAN IVANOV").
result.amount number Отрицательная сумма, списанная с баланса мерчанта.
result.init_amount number Исходная запрошенная сумма (отрицательная).
result.state string Начальный статус: всегда pending.
result.rate string|null Применённый курс USDT (null для мерчантов с неттингом).
result.commission number Процент комиссии за выплату.
result.currency string Валюта выплаты (например, "RUB").
result.bankName string|null Читаемое название банка (например, "Сбербанк").
result.bank string|null Slug банка для маршрутизации (например, "sber").
result.country string|null Код страны из поля bank или null.
result.message string|null Необязательное сообщение шлюза о процессе обработки.
result.method string Использованный код метода оплаты (например, "c2c").
result.expired_at string|"-" Дата и время истечения (ISO 8601) или "-", если срок не задан.
result.usdt_amount string|null Эквивалент в USDT после комиссии (null для мерчантов с неттингом).

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

json
{
  "orderId": "test22t2e2st",
  "merchantId": "lbjk0tqfpgbqeaainyuq6aye",
  "method": "c2c",
  "amount": 1200,
  "address": "1234432112344321",
  "currency": "RUB",
  "code": "bankcode",
  "recipient": "TEST TESTOVICH",
  "assetOrBank": "сберыч",
  "callbackUri": "https://callback.xyz/callback/pay",
  "userId": "u-4095",
  "userIp": "188.11.55.10",
  "contactPhone": "37434343434",
  "email": "email@mail.ru"
}

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

Success (200)

json
{
  "status": true,
  "result": {
    "address": "123443******4321",
    "recipient": "sber TEST TESTOVICH",
    "amount": -1000,
    "init_amount": -1000,
    "id": "a550e8400-e29b-41d4-a716-446655440000g",
    "order_id": "test22t2e2st",
    "state": "pending",
    "rate": "91.50",
    "commission": 2,
    "currency": "RUB",
    "bankName": "Сбербанк",
    "bank": "sber",
    "country": null,
    "message": null,
    "method": "c2c",
    "expired_at": "2025-01-15T12:30:00.000000Z",
    "usdt_amount": "10.93"
  }
}

Insufficient funds (400)

json
{
  "status": false,
  "error": {
    "code": 40004,
    "message": "Insufficient funds",
    "details": "The merchant does not have sufficient funds to process this payout."
  }
}

Invalid requisite address (40001) (400)

json
{
  "status": false,
  "error": {
    "code": 40001,
    "message": "Invalid reqisite address",
    "details": "The provided reqisite address is either malformed or already exists."
  }
}

Request is being processed (40008) (400)

json
{
  "status": false,
  "error": {
    "code": 40008,
    "message": "Request is being processed",
    "details": "The same orderId was sent again within 30 seconds. Wait before retrying."
  }
}

Duplicate payment (40901) (409)

json
{
  "status": false,
  "error": {
    "code": 40901,
    "message": "Duplicate payment",
    "details": "A payment with the same orderId was created less than 15 minutes ago."
  }
}

Invalid payment method (40003) (400)

json
{
  "status": false,
  "error": {
    "code": 40003,
    "message": "Invalid payment method",
    "details": "The specified payment method is not associated with the merchant."
  }
}

Payout creation failed — no available providers (40002) (404)

json
{
  "status": false,
  "error": {
    "code": 40002,
    "message": "Payout creation failed",
    "details": "Unable to create payout transaction with any available method."
  }
}