ОБЩАЯ ИНФОРМАЦИЯ
Платежная страница
Платежная страница X10Pay предоставляет современный и удобный интерфейс для приема платежей. Страница адаптирована под мобильные устройства и поддерживает различные способы оплаты.
- Адаптивный дизайн для всех устройств
- Поддержка банковских карт Visa, Mastercard, МИР
- Возможность сохранения карты для повторных платежей
- Мультиязычный интерфейс
- SSL-шифрование всех данных
Аутентификация
Для работы с API используется аутентификация на основе JWT токенов. Токен необходимо передавать в заголовке Authorization каждого запроса.
Формат заголовка:
Authorization: Bearer YOUR_ACCESS_TOKEN
Процесс получения токена:
- Зарегистрируйтесь в личном кабинете мерчанта
- Перейдите в раздел "API ключи"
- Создайте новый API ключ
- Используйте полученный ключ для генерации токена
Тестирование
Для тестирования интеграции используйте тестовую среду:
- Тестовый API: https://sandbox.api.x10pay.com
- Тестовый личный кабинет: https://sandbox.merchant.x10pay.com
- Тестовая платежная страница: https://sandbox.checkout.x10pay.com
Тестовые карты
| Номер карты | Тип | Результат |
|---|---|---|
| 4111 1111 1111 1111 | Visa | Успешная оплата |
| 5555 5555 5555 4444 | Mastercard | Успешная оплата |
| 2200 0000 0000 0004 | МИР | Успешная оплата |
| 4000 0000 0000 0002 | Visa | Отклонение платежа |
API-ДОКУМЕНТАЦИЯ
Создание платежа
Метод создает новый платеж и возвращает ссылку на платежную страницу.
Endpoint: POST /api/v1/payments
Тело запроса:
{
"amount": 1000,
"currency": "RUB",
"order_id": "ORD-123456",
"description": "Оплата заказа #123456",
"customer": {
"email": "customer@example.com",
"phone": "+79991234567"
},
"callback_url": "https://yoursite.com/callback",
"success_url": "https://yoursite.com/success",
"fail_url": "https://yoursite.com/fail"
}
Ответ (200 OK):
{
"payment_id": "PAY-789012",
"status": "pending",
"payment_url": "https://checkout.x10pay.com/pay/PAY-789012",
"created_at": "2024-01-15T10:30:00Z"
}
Статус платежа
Получение текущего статуса платежа по его идентификатору.
Endpoint: GET /api/v1/payments/{payment_id}
Ответ (200 OK):
{
"payment_id": "PAY-789012",
"status": "success",
"amount": 1000,
"currency": "RUB",
"order_id": "ORD-123456",
"paid_at": "2024-01-15T10:35:00Z",
"card": {
"masked_number": "411111******1111",
"type": "Visa"
}
}
ВЕБХУКИ
Настройка вебхуков
Вебхуки позволяют получать уведомления о событиях в режиме реального времени. Настройте URL для получения уведомлений в личном кабинете мерчанта.
- Перейдите в раздел "Настройки API"
- Укажите URL для вебхуков
- Выберите события для подписки
- Сохраните секретный ключ для проверки подписи
Формат уведомлений
Все уведомления отправляются методом POST в формате JSON.
Пример уведомления:
{
"event": "payment.success",
"timestamp": "2024-01-15T10:35:00Z",
"data": {
"payment_id": "PAY-789012",
"amount": 1000,
"currency": "RUB",
"order_id": "ORD-123456",
"status": "success"
},
"signature": "a1b2c3d4e5f6..."
}
ПРИМЕРЫ ИНТЕГРАЦИИ
PHP
Пример создания платежа с использованием PHP и библиотеки cURL:
<?php
$data = [
'amount' => 1000,
'currency' => 'RUB',
'order_id' => 'ORD-123456',
'description' => 'Оплата заказа #123456',
'customer' => [
'email' => 'customer@example.com',
'phone' => '+79991234567'
]
];
$ch = curl_init('https://api.x10pay.com/api/v1/payments');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer YOUR_ACCESS_TOKEN',
'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$result = json_decode($response, true);
echo 'Payment URL: ' . $result['payment_url'];
?>
Python
Пример создания платежа с использованием Python и библиотеки requests:
import requests
import json
url = 'https://api.x10pay.com/api/v1/payments'
headers = {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Content-Type': 'application/json'
}
data = {
'amount': 1000,
'currency': 'RUB',
'order_id': 'ORD-123456',
'description': 'Оплата заказа #123456',
'customer': {
'email': 'customer@example.com',
'phone': '+79991234567'
}
}
response = requests.post(url, headers=headers, json=data)
result = response.json()
print(f'Payment URL: {result["payment_url"]}')
Node.js
Пример создания платежа с использованием Node.js и библиотеки axios:
const axios = require('axios');
const data = {
amount: 1000,
currency: 'RUB',
order_id: 'ORD-123456',
description: 'Оплата заказа #123456',
customer: {
email: 'customer@example.com',
phone: '+79991234567'
}
};
axios.post('https://api.x10pay.com/api/v1/payments', data, {
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Content-Type': 'application/json'
}
})
.then(response => {
console.log('Payment URL:', response.data.payment_url);
})
.catch(error => {
console.error('Error:', error);
});