Перейти к содержимому

Метод позволяет инициировать выплату через PIX (Brazil). Запрос отправляется на эндпоинт init_payout с payout_type=pix. Финальный статус приходит на notify_url, указанный в настройках выплат проекта; при необходимости статус можно опросить через Статус выплаты.

Формат запросов и подписи — в разделе Формат запроса к API.

Принцип работы

  1. Запрос — ваш сервер отправляет подписанный запрос на init_payout с Tax ID / CPF получателя и суммой выплаты.
  2. Ответ — API возвращает order_id и начальный status (2, PENDING).
  3. Обработка — система проводит выплату.
  4. Уведомление (колбек) — финальный статус отправляется POST JSON на ваш notify_url.

Расшифровка кодов status и status_description — в разделе Статусы транзакций.

Техническая информация

Эндпоинтhttps://api.1payment.com/init_payout
МетодыGET, POST
Формат ответаJSON
Тип выплатыВ запросе обязательно payout_type=pix (см. Типы выплат)

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

Обязательные

ПараметрТипОписание
payout_typeStringВсегда значение pix.
partner_idIntegerВаш уникальный ID в системе 1Payment.
project_idIntegerИдентификатор вашего проекта.
amountNumberСумма выплаты: строго от 10 до 15000 (в валюте проекта).
destinationStringTax ID / CPF получателя.
user_dataStringВаш внутренний ID выплаты (уникальное значение на стороне партнёра).
signStringКонтрольная подпись запроса (см. раздел «Подпись»).

Формирование подписи (sign)

Подпись: MD5, lowercase (hex). Общие правила — Формат запроса к API.

Формула:

MD5(init_payout + <параметры_без_sign_в_алфавитном_порядке_через_&> + <API_KEY>)

Пример строки до хеширования:

init_payoutamount=50&destination=12345&partner_id=1234&payout_type=pix&project_id=5678&user_data=1secret_key

Проверка подписи в документации

Проверка подписи {{method}}

Вставьте параметры запроса (JSON), API key и подпись. Виджет автоматически проверит корректность.

Строка параметров: amount=50&destination=12345&partner_id=1234&payout_type=pix&project_id=5678&user_data=1
Строка для MD5: init_payoutamount=50&destination=12345&partner_id=1234&payout_type=pix&project_id=5678&user_data=1
Ожидаемая подпись: cc0d9eb739b1d8c181a9f369fad39dc2
Подпись не совпадает

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

const crypto = require('crypto');
const axios = require('axios');

async function createPixPayout(apiKey, params) {
  // 1. Сортируем параметры по алфавиту
  const sortedKeys = Object.keys(params).sort();
  const queryString = sortedKeys.map((key) => `${key}=${params[key]}`).join('&');

  // 2. Подпись с префиксом init_payout
  const baseString = `init_payout${queryString}${apiKey}`;
  params.sign = crypto.createHash('md5').update(baseString).digest('hex');

  // 3. GET-запрос
  const response = await axios.get('https://api.1payment.com/init_payout', { params });
  return response.data;
}

const apiKey = process.env.ONEPAYMENT_API_KEY;
const data = {
  payout_type: 'pix',
  partner_id: 1234,
  project_id: 5678,
  amount: 50,
  destination: '12345',
  user_data: '1',
};

createPixPayout(apiKey, data).then(console.log);

Ответ API

Успешный ответ (200):

{
  "order_id": "8p3brmb19gfg0sg8gcwhws8kgc748s87",
  "status": 2,
  "status_description": "PENDING",
  "status_code": 0
}
ПолеОписание
order_idID выплаты в системе 1Payment; используйте для запроса статуса.
statusЧисловой код состояния: 2 — ожидание, 3 — успех, 4 — отказ.
status_descriptionPENDING, SUCCESS или FAILURE.
status_codeКод причины отказа (при status = 4); см. Коды ошибок (отказы).

Ошибка запроса (400):

{
  "error_code": 2
}

Уведомления о статусе (колбеки)

После получения финального статуса выплаты на ваш notify_url (из настроек выплат проекта) отправляется POST-уведомление в формате JSON. Структура аналогична другим выплатам; payout_type — pix.

Важно: ваш сервер должен вернуть HTTP 200 OK. Иначе система повторяет отправку колбека раз в минуту в течение 10 минут.

Проверка подписи колбека: MD5 от всех параметров в алфавитном порядке через & + API_KEY (без префикса init_payout). Подробнее — в разделе Формат запроса к API.

Связанные разделы

Статья была полезна?