API Документация Pay-pie

Полное руководство по интеграции платежной системы в ваш проект

Введение

Pay-pie API предоставляет простой и удобный способ интеграции приёма платежей в ваши проекты. Наш RESTful API использует JSON для обмена данными и поддерживает различные методы оплаты.

Быстрый старт

Для начала работы вам потребуется:

  • Зарегистрироваться в системе Pay-pie
  • Получить API ключ в личном кабинете
  • Настроить Webhook URL для получения уведомлений
  • Интегрировать API в ваш проект
Базовый URL API: https://api.pay-pie.ru/v1/

Аутентификация

Все запросы к API должны содержать ваш уникальный API ключ в заголовке запроса.

HTTP Header
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Важно: Никогда не раскрывайте ваш API ключ публично. Храните его в безопасном месте и используйте только на стороне сервера.

Создание платежа

Создайте новый платёж для вашего клиента.

POST /payments/create

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

Параметр Тип Описание
amountОбязательный float Сумма платежа (минимум 1.00)
currencyОбязательный string Валюта платежа (RUB, USD, EUR, USDT, BTC)
order_idОбязательный string Уникальный идентификатор заказа в вашей системе
description string Описание платежа
callback_url string URL для отправки webhook уведомлений
success_url string URL для редиректа после успешной оплаты
fail_url string URL для редиректа при ошибке оплаты

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

cURL
curl -X POST https://api.pay-pie.ru/v1/payments/create \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 1000.00,
    "currency": "RUB",
    "order_id": "ORDER_12345",
    "description": "Оплата заказа #12345",
    "callback_url": "https://yoursite.com/webhook",
    "success_url": "https://yoursite.com/success",
    "fail_url": "https://yoursite.com/fail"
  }'

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

JSON
{
  "success": true,
  "data": {
    "payment_id": "pay_1234567890abcdef",
    "amount": 1000.00,
    "currency": "RUB",
    "status": "pending",
    "payment_url": "https://pay-pie.ru/pay/1234567890abcdef",
    "created_at": "2025-11-20T12:00:00Z",
    "expires_at": "2025-11-20T13:00:00Z"
  }
}

Проверка статуса платежа

Получите актуальную информацию о статусе платежа.

GET /payments/{payment_id}

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

cURL
curl -X GET https://api.pay-pie.ru/v1/payments/pay_1234567890abcdef \
  -H "Authorization: Bearer YOUR_API_KEY"

Возможные статусы

Статус Описание
pending Платёж создан, ожидает оплаты
processing Платёж обрабатывается
completed Платёж успешно завершён
failed Платёж не выполнен
expired Время оплаты истекло
cancelled Платёж отменён

Webhooks (Уведомления)

Pay-pie отправляет POST запрос на ваш callback_url при изменении статуса платежа.

Подсказка: Всегда проверяйте подпись webhook для обеспечения безопасности.

Структура webhook

JSON
{
  "event": "payment.completed",
  "payment_id": "pay_1234567890abcdef",
  "order_id": "ORDER_12345",
  "amount": 1000.00,
  "currency": "RUB",
  "status": "completed",
  "paid_at": "2025-11-20T12:30:00Z",
  "signature": "a1b2c3d4e5f6..."
}

Проверка подписи

PHP
<?php
$secret = 'YOUR_WEBHOOK_SECRET';
$data = file_get_contents('php://input');
$signature = hash_hmac('sha256', $data, $secret);

$webhook = json_decode($data, true);

if ($signature === $webhook['signature']) {
    // Подпись верна, обрабатываем webhook
    if ($webhook['status'] === 'completed') {
        // Платёж успешно завершён
        updateOrderStatus($webhook['order_id'], 'paid');
    }
}
?>

Коды ошибок

Код Описание
400 Неверные параметры запроса
401 Неверный или отсутствующий API ключ
403 Доступ запрещён
404 Платёж не найден
429 Превышен лимит запросов
500 Внутренняя ошибка сервера

Пример ответа с ошибкой

JSON
{
  "success": false,
  "error": {
    "code": 400,
    "message": "Неверный формат параметра amount",
    "details": "Amount must be a positive number"
  }
}

Примеры интеграции

PHP

PHP
<?php
$apiKey = 'YOUR_API_KEY';
$apiUrl = 'https://api.pay-pie.ru/v1/payments/create';

$data = [
    'amount' => 1000.00,
    'currency' => 'RUB',
    'order_id' => 'ORDER_' . time(),
    'description' => 'Оплата ��аказа',
    'callback_url' => 'https://yoursite.com/webhook'
];

$ch = curl_init($apiUrl);
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);
curl_close($ch);

$result = json_decode($response, true);
if ($result['success']) {
    header('Location: ' . $result['data']['payment_url']);
}
?>

Python

Python
import requests
import json

api_key = 'YOUR_API_KEY'
api_url = 'https://api.pay-pie.ru/v1/payments/create'

headers = {
    'Authorization': f'Bearer {api_key}',
    'Content-Type': 'application/json'
}

data = {
    'amount': 1000.00,
    'currency': 'RUB',
    'order_id': 'ORDER_12345',
    'description': 'Оплата заказа',
    'callback_url': 'https://yoursite.com/webhook'
}

response = requests.post(api_url, headers=headers, json=data)
result = response.json()

if result['success']:
    print(f"Ссылка на оплату: {result['data']['payment_url']}")

Node.js

JavaScript
const axios = require('axios');

const apiKey = 'YOUR_API_KEY';
const apiUrl = 'https://api.pay-pie.ru/v1/payments/create';

const data = {
    amount: 1000.00,
    currency: 'RUB',
    order_id: 'ORDER_12345',
    description: 'Оплата заказа',
    callback_url: 'https://yoursite.com/webhook'
};

axios.post(apiUrl, data, {
    headers: {
        'Authorization': `Bearer ${apiKey}`,
        'Content-Type': 'application/json'
    }
})
.then(response => {
    if (response.data.success) {
        console.log('Ссылка на оплату:', response.data.data.payment_url);
    }
})
.catch(error => {
    console.error('Ошибка:', error.response.data);
});
Готово! Теперь вы можете принимать платежи через Pay-pie. Если у вас возникли вопросы, свяжитесь с нами: [email protected]