API Documentation v1
API OOPay v1
RESTful API для интеграции платежей через СБП. Простая в использовании документация с примерами кода.
Base URL
https://api.oopay.me/api/v1Начало работы
Требуется аутентификация: Все endpoints (кроме /status) требуют API ключ в заголовке Authorization.
1. Получите API ключ
- Войдите в личный кабинет
- Перейдите в раздел Настройки → API
- Нажмите "Создать ключ" и сохраните его (показывается только один раз!)
2. Используйте API ключ
HTTP Header
Authorization: Bearer pk_live_xxxxxxxxxxxxxxxxСтатус API
Публичный endpoint! Не требует аутентификации.
GET
/statusПроверка работоспособности API и его компонентов.
JavaScript
// Проверка статуса API (БЕЗ аутентификации)
const response = await fetch('https://api.oopay.me/api/v1/status');
const status = await response.json();
console.log(status);Платежи
POST
/paymentsСоздать новый платеж с генерацией QR-кода.
JavaScript
// Создание платежа
const response = await fetch('https://api.oopay.me/api/v1/payments', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
amount: 100000, // 1000 рублей в копейках
currency: 'RUB',
description: 'Оплата заказа #123'
})
});
const payment = await response.json();
console.log(payment);Параметры запроса:
amountСумма в копейках (обязательно)currencyВалюта (по умолчанию: RUB)descriptionОписание платежа
GET
/paymentsПолучить список платежей с пагинацией и фильтрацией.
JavaScript
// Получить список платежей
const response = await fetch(
'https://api.oopay.me/api/v1/payments?limit=10&status=ACCEPTED',
{
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
}
);
const { data, meta } = await response.json();
console.log(`Всего платежей: ${meta.pagination.total}`);QR-коды
POST
/qr/generateГенерация статических или динамических QR-кодов для приема платежей.
JavaScript
// Генерация QR-кода
const response = await fetch('https://api.oopay.me/api/v1/qr/generate', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
type: 'static',
amount: 50000, // 500 рублей
description: 'Оплата товара'
})
});
const qrCode = await response.json();
console.log(qrCode.data.qr_url);Статический QR
Для фиксированной суммы. Идеален для торговых точек.
Динамический QR
Для каждого платежа. Рекомендуется для онлайн-платежей.
Платежные ссылки
POST
/payment-linksСоздание публичных ссылок для приема платежей без интеграции.
JavaScript
// Создать платежную ссылку
const response = await fetch('https://api.oopay.me/api/v1/payment-links', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
title: 'Подписка Premium',
amount: 99900, // 999 рублей
description: 'Месячная подписка',
max_uses: 100
})
});
const link = await response.json();
console.log(link.data.url);Баланс
GET
/balanceПолучить текущий баланс и статистику мерчанта.
JavaScript
// Получить баланс
const response = await fetch('https://api.oopay.me/api/v1/balance', {
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
});
const { data } = await response.json();
console.log(`Баланс: ${data.balance / 100} руб.`);Примеры на других языках
🐍Python
Python + requests
import requests
API_KEY = 'YOUR_API_KEY'
BASE_URL = 'https://api.oopay.me/api/v1'
# Создание платежа
response = requests.post(
f'{BASE_URL}/payments',
headers={
'Authorization': f'Bearer {API_KEY}',
'Content-Type': 'application/json'
},
json={
'amount': 100000,
'description': 'Оплата заказа #123'
}
)
payment = response.json()
print(payment)🐘PHP
PHP + cURL
<?php
$apiKey = 'YOUR_API_KEY';
$baseUrl = 'https://api.oopay.me/api/v1';
$data = [
'amount' => 100000,
'description' => 'Оплата заказа #123'
];
$ch = curl_init("$baseUrl/payments");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer $apiKey",
"Content-Type: application/json"
]);
$response = curl_exec($ch);
$result = json_decode($response, true);
curl_close($ch);
print_r($result);
?>Лимиты и поддержка
Лимиты API
- 1000 запросов/час на API ключ
- Макс. сумма платежа: 600,000 ₽
- Макс. записей на запрос: 100
Готовы начать?
Получите API ключ и начните принимать платежи через 15 минут