Полное руководство по интеграции платежной системы в ваш проект
Pay-pie API предоставляет простой и удобный способ интеграции приёма платежей в ваши проекты. Наш RESTful API использует JSON для обмена данными и поддерживает различные методы оплаты.
Для начала работы вам потребуется:
https://api.pay-pie.ru/v1/
Все запросы к API должны содержать ваш уникальный API ключ в заголовке запроса.
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Создайте новый платёж для вашего клиента.
| Параметр | Тип | Описание |
|---|---|---|
| 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 -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"
}'
{
"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"
}
}
Получите актуальную информацию о статусе платежа.
curl -X GET https://api.pay-pie.ru/v1/payments/pay_1234567890abcdef \
-H "Authorization: Bearer YOUR_API_KEY"
| Статус | Описание |
|---|---|
| pending | Платёж создан, ожидает оплаты |
| processing | Платёж обрабатывается |
| completed | Платёж успешно завершён |
| failed | Платёж не выполнен |
| expired | Время оплаты истекло |
| cancelled | Платёж отменён |
Pay-pie отправляет POST запрос на ваш callback_url при изменении статуса платежа.
{
"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
$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 | Внутренняя ошибка сервера |
{
"success": false,
"error": {
"code": 400,
"message": "Неверный формат параметра amount",
"details": "Amount must be a positive number"
}
}
<?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']);
}
?>
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']}")
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);
});