ОБЩАЯ ИНФОРМАЦИЯ

Платежная страница

Платежная страница X10Pay предоставляет современный и удобный интерфейс для приема платежей. Страница адаптирована под мобильные устройства и поддерживает различные способы оплаты.

  • Адаптивный дизайн для всех устройств
  • Поддержка банковских карт Visa, Mastercard, МИР
  • Возможность сохранения карты для повторных платежей
  • Мультиязычный интерфейс
  • SSL-шифрование всех данных

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

Для работы с API используется аутентификация на основе JWT токенов. Токен необходимо передавать в заголовке Authorization каждого запроса.

Формат заголовка:

Authorization: Bearer YOUR_ACCESS_TOKEN

Процесс получения токена:

  1. Зарегистрируйтесь в личном кабинете мерчанта
  2. Перейдите в раздел "API ключи"
  3. Создайте новый API ключ
  4. Используйте полученный ключ для генерации токена

Тестирование

Для тестирования интеграции используйте тестовую среду:

Тестовые карты

Номер карты Тип Результат
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);
});