1.5. Получение реквизитов по API (JSON)

Данный метод позволяет запросить реквизиты для оплаты и получить их в виде JSON-ответа.

Данный API-запрос полностью аналогичен классической форме оплаты, но:

  • выполняется через GET,

  • возвращает JSON-ответ,

  • используется в ботах, личных кабинетах, мобильных приложениях, где реквизиты нужно показать внутри интерфейса, а не редиректить пользователя.


📡 URL API-запроса:

https://payou.pro/api/new/api.php

Метод: GET Ответ: application/json


📥 Параметры запроса (передаются в URL):

Параметр
Обязателен
Описание

id

ID вашего магазина (merchant_id)

sistems

Метод оплаты (например: card_ru_rand_card, card_ru_rand_sbp card_ru_rand_tg)

summ

Сумма в формате 100.00

order_id

Уникальный номер заказа/транзакции

Coment

Комментарий к заявке (отображается в админке и в реквизитах)

user_code

ID клиента в вашей системе (антиспам-фильтрация)

user_email

Email клиента (антиспам, аналитика)

hash

Подпись безопасности, генерируется по формуле (см. ниже)


🔐 Формирование подписи hash

📌 Формула:

md5(id . ':' . summ . ':' . password . ':' . sistems . ':' . order_id)

📘 Где:

Название
Значение

id

ID магазина

summ

Сумма платежа (строка, строго с точкой)

password

Секретное слово магазина

sistems

Метод оплаты

order_id

Номер заказа

🔒 Подпись hash гарантирует, что реквизиты запрашивает именно ваш магазин.


✅ Пример генерации подписи в PHP:

<?php
$id         = '5';
$password   = 'e60900f0e54b867a018d127a781f2327';
$sistems    = 'card_ru_rand_card';
$summ       = '9950.58';
$order_id   = 'ORDER_4444';

$hash = md5($id . ':' . $summ . ':' . $password . ':' . $sistems . ':' . $order_id);

🔗 Пример полного запроса (GET):

https://payou.pro/api/new/api.php?id=5&sistems=card_ru_rand_card&summ=9950.58&order_id=ORDER_4444&Coment=Test&user_code=123&user_email=test@example.com&hash=6e0e374f1795a7e90c7e261a36d5c9d4

📤 Ответы от API

✅ 1. Реквизиты успешно выданы:

{
  "id": "3874512",
  "card": "2200380310594213",
  "wallet_owner": "Артем Антонович Перевязко",
  "sbp_bank": "Россельхозбанк",
  "amount": "9950.58",
  "tg_country": "Россельхозбанк"
}

🕓 2. Реквизиты ещё формируются:

{
  "status": "processing"
}

Это означает, что система пока не подготовила реквизиты. Повторите запрос через 2–5 секунд.

❌ 3. Ошибка запроса:

{
  "status": "error",
  "message": "Invalid hash"
}

Убедитесь, что:

  • Все параметры переданы корректно,

  • Сумма и систем точно совпадают с тем, что было использовано при генерации hash.


⚠️ Важно:

  • Все параметры в URL должны быть строго по формату.

  • Поле summ обязательно должно быть с точкой, пример: 100.00

  • hash обязательно должен быть сгенерирован с тем же значением, что и в GET-запросе.

  • Если вы часто видите processing, убедитесь, что order_id уникален.

  • ⚡ Для защиты запроса можете ограничить доступ к API по IP или временной подписи.

Last updated