Выплата API
💸 Payou API — Руководство по выплатам
Это официальное руководство по использованию API выплат (payouts) в системе Payou.pro. Через этот API клиенты могут безопасно и автоматически создавать выплаты своим пользователям в различных валютах (например, KZT, GHS, NGN, TRY).
🚀 1. Точка входа
HTTP метод: POST
URL:
https://payou.pro/api/payout_create.phpФормат:
application/json
🔑 2. Авторизация и подпись
Каждому клиенту выдаются два ключа:
Поле
Назначение
api_key
Ваш публичный идентификатор
secret_key
Секретный ключ для подписи (хранится только у вас)
📘 Формирование подписи
Подпись формируется по канонической строке:
api_key|timestamp|order_id|amount|currency|recipientи подписывается с помощью алгоритма HMAC-SHA256 по вашему secret_key.
$canonical = $api_key . '|' . $timestamp . '|' . $order_id . '|' . $amount . '|' . $currency . '|' . $recipient;
$signature = hash_hmac('sha256', $canonical, $secret);🧾 3. Пример запроса (PHP)
<?php
$api_key = 'a3f19db4f8c6ba0c54e88e';
$secret = 'd579b04464882a0bac6597d5fa07d2cbfcec';
$timestamp = time();
$order_id = 'order-' . $timestamp;
$amount = '5000.00';
$currency = 'KZT';
$recipient = '1111111111111111';
$comment = 'Payout test';
// Дополнительные данные (необязательно)
$email = 'dog@gmail.com';
$phone = '254791617177';
$country = 'Kenya';
$first_name = 'John';
$last_name = 'Doe';
$bankName = 'Kaspi Bank';
// Подпись
$canonical = $api_key . '|' . $timestamp . '|' . $order_id . '|' . $amount . '|' . $currency . '|' . $recipient;
$signature = hash_hmac('sha256', $canonical, $secret);
$payload = [
'api_key' => $api_key,
'timestamp' => $timestamp,
'order_id' => $order_id,
'amount' => $amount,
'currency' => $currency,
'recipient' => $recipient,
'comment' => $comment,
'signature' => $signature,
// Необязательные поля
'email' => $email,
'phone' => $phone,
'country' => $country,
'first_name' => $first_name,
'last_name' => $last_name,
'bankName' => $bankName
];
$ch = curl_init('https://payou.pro/api/payout_create.php');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode($payload, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT)
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;📤 4. Поля запроса
Поле
Тип
Обязательно
Описание
api_key
string
✅
Ваш ключ API
timestamp
integer
✅
UNIX-время отправки запроса
order_id
string
✅
Уникальный номер вашей операции
amount
float / string
✅
Сумма выплаты
currency
string
✅
Валюта (например, KZT, GHS, NGN, TRY)
recipient
string
✅
Номер счёта, карты или получателя
signature
string
✅
Подпись запроса
comment
string
❌
Комментарий к операции
email
string
❌
Email получателя
phone
string
❌
Телефон получателя
country
string
❌
Страна
first_name
string
❌
Имя
last_name
string
❌
Фамилия
bankName
string
❌
Название банка (для банковских выплат)
💬 5. Пример успешного ответа
{
"success": true,
"transaction_id": 1471,
"order_id": "order-1730909274",
"amount_sent": "5000.00",
"fee": "25.00",
"total_deducted": "5025.00",
"currency": "KZT",
"recipient": "1111111111111111",
"balance_after": "9975.00"
}⚠️ 6. Пример ошибки
{
"success": false,
"error": "Invalid signature"
}Ошибка
Описание
Invalid signature
Неверная подпись
Insufficient balance
Недостаточно средств на счёте
Unsupported currency
Валюта не поддерживается
API key not found
Неверный API ключ
API key disabled
Ключ заблокирован
Timestamp outside allowed window
Разница времени больше 5 минут
Internal error
Ошибка сервера
🔄 7. Callback уведомления
После изменения статуса выплаты, Payou отправляет GET-запрос на ваш callback URL, указанный при регистрации:
GET https://yourdomain.com/callback?id={transaction_id}В этот момент вы получаете обновление статуса и можете выполнить собственную обработку на стороне вашего сервера.
🧾 8. Статусы выплат
Код
Статус
Описание
0
pending
Выплата создана, ожидает подтверждения
2
success
Выплата успешно завершена
3
error
Ошибка — сумма возвращена клиенту
🧠 9. Рекомендации
Для каждой выплаты используйте уникальный order_id.
Следите за точностью системного времени (таймштамп ±5 минут).
Подписывайте только обязательные поля в канонической строке.
Не передавайте секретный ключ третьим лицам.
Все операции логируются, что помогает при расследовании споров.
📞 10. Контакты поддержки
Техническая поддержка: 📧 @kasspayou 🌐 https://payou.pro
Last updated