# Endpoint: Получение платёжных объектов Stripe

:::warning
**Это устаревший метод.** Для новых интеграций используйте ручки API v2 — они работают по разрешению `balance_view` (оно есть у всех партнёров с онбординга), `payment_read` для них не нужен:

* [Список платежей Stripe за период](https://docs.thenextgen.store/s/635a43c1-37fa-463b-bc7e-7ede7884fce2/doc/endpoint-api-v2-spisok-platezhej-stripe-za-period-HLmrFXTXwS) — перечень оплат с суммой, статусом, `payment_intent_id` и `client_reference_id`;
* [Платёж Stripe по payment_intent_id](https://docs.thenextgen.store/s/635a43c1-37fa-463b-bc7e-7ede7884fce2/doc/endpoint-api-v2-platyozh-stripe-po-payment_intent_id-YClkCUGdKc) — полный снэпшот одного платежа со связанными возвратами и спорами.

Endpoint ниже продолжает работать у партнёров, которые уже на нём, и требует отдельного разрешения `payment_read`.

:::


:::info
**Работаете через AI-агента (MCP)?** Этот endpoint для MCP не нужен — те же данные (и больше) доступны инструментами MCP-сервера EasyPay: перечень платежей за период с `payment_intent` и `client_reference_id`, полный снэпшот конкретного платежа со связанными рефандами/спорами, перечень подписок за период и объект конкретной подписки. Разрешение `payment_read` для них не требуется. Подробнее — статья [«MCP-сервер EasyPay: настройка платежей в чате с AI»](https://docs.thenextgen.store/s/635a43c1-37fa-463b-bc7e-7ede7884fce2/doc/mcp-server-easypay-nastrojka-platezhej-v-chate-s-ai-cqtpnWTk2i).

Endpoint ниже остаётся рабочим для прямых серверных интеграций (запрос из вашего бэкенда).

:::

## Зачем это нужно

EasyPay обрабатывает платежи через Stripe и сохраняет полные объекты каждой транзакции: invoice, charge, payment intent, checkout session, подписку и баланс. Этот API позволяет получить все платёжные объекты за указанный период — для сверки, аналитики или интеграции с внутренними системами.

## Как подключиться


1. Запросите API-ключ у вашего менеджера EasyPay
2. Менеджер активирует разрешение `payment_read` для вашего аккаунта
3. API-ключ — строка в формате UUID, например: `18fcf8a0-cde3-4a27-ab7c-2f3bca09b9a2`

## Endpoint

```
POST https://n8n.thenextgen.store/webhook/get-stripe-objects
Content-Type: application/json
```

## Формат запроса

```json
{
  "api_key": "ваш-api-ключ",
  "created": {
    "gte": "2026-03-01",
    "lte": "2026-03-31"
  }
}
```

**Параметры:**

| Параметр | Обязательный | Описание |
|----------|--------------|----------|
| `api_key` | Да           | API-ключ партнёра (UUID) |
| `created.gte` | Хотя бы один из gte/lte | Начало периода (включительно) |
| `created.lte` | Хотя бы один из gte/lte | Конец периода (включительно) |

**Форматы дат** — `created.gte` и `created.lte` принимают:

| Формат | Пример | Как интерпретируется |
|--------|--------|----------------------|
| Миллисекунды (число) | `1709251200000` | Точная метка времени |
| Дата   | `"2026-03-01"` | gte — начало дня 00:00:00 UTC, lte — конец дня 23:59:59 UTC |
| ISO timestamp | `"2026-03-01T12:00:00Z"` | Точная метка времени |
| Дата и время | `"2026-03-01 12:00:00"` | Интерпретируется как UTC |

Границы периода **включительные**: `gte` означает «больше или равно», `lte` — «меньше или равно». Это соответствует поведению Stripe API.

## Формат ответа

### Успешный ответ (200)

```json
{
  "success": true,
  "data": [
    {
      "invoice": { "..." },
      "charge_details": { "..." },
      "payment_intent": { "..." },
      "checkout_session": { "..." },
      "subscription_data": { "..." },
      "balance_transaction": { "..." },
      "environment": "production"
    }
  ],
  "count": 42
}
```

**Структура каждого объекта в** `**data**`**:**

| Поле | Описание |
|------|----------|
| `invoice` | Полный объект Stripe Invoice |
| `charge_details` | Детали charge (карта, метод оплаты) |
| `payment_intent` | Объект Stripe PaymentIntent |
| `checkout_session` | Объект Stripe Checkout Session |
| `subscription_data` | Данные подписки (если платёж связан с подпиской) |
| `balance_transaction` | Баланс-транзакция (комиссии, нетто) |
| `environment` | `live` или `test` |

Не все поля присутствуют в каждом объекте — набор зависит от типа платежа.

### Ошибки

| HTTP код | Причина | Пример ответа |
|----------|---------|---------------|
| 401      | Невалидный API-ключ | `{"success": false, "error": "Partner not found"}` |
| 403      | Нет разрешения `payment_read` | `{"success": false, "error": "Permission denied"}` |
| 400      | Неверный формат дат или отсутствуют параметры | `{"success": false, "error": "Missing created.gte or created.lte parameter"}` |

## Ограничения

* Максимум **1000 записей** за один запрос. Если за период больше записей, рекомендуем разбить на более короткие интервалы
* Возвращаются только платежи, обработанные через **Stripe**
* Записи отсортированы по дате создания, от новых к старым

## Пример на Python

```python
import urllib.request
import json

url = "https://n8n.thenextgen.store/webhook/get-stripe-objects"
payload = {
    "api_key": "ваш-api-ключ",
    "created": {
        "gte": "2026-03-01",
        "lte": "2026-03-31"
    }
}

req = urllib.request.Request(
    url,
    data=json.dumps(payload).encode("utf-8"),
    headers={"Content-Type": "application/json"},
    method="POST"
)

with urllib.request.urlopen(req) as resp:
    result = json.loads(resp.read().decode("utf-8"))

print(f"Получено объектов: {result['count']}")
for obj in result["data"]:
    invoice = obj.get("invoice", {})
    print(f"  {invoice.get('id')} - {invoice.get('amount_paid', 0) / 100} {invoice.get('currency', '').upper()}")
```

## Пример на cURL

```bash
curl -X POST https://n8n.thenextgen.store/webhook/get-stripe-objects \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "ваш-api-ключ",
    "created": {
      "gte": "2026-03-01",
      "lte": "2026-03-31"
    }
  }'
```