architect/_archive/2025-11-26-cleanup/projects-service-stripe-example/design/PROJECT.md

Project: Stripe Payment API (Example)

Тип: @service- (внешний сервис с API)
API: https://api.stripe.com
Статус: Пример проекта ✅
Дата создания: 2025-11-13


🎯 Назначение

Интеграция платёжной системы Stripe для приёма онлайн-платежей.

Основные задачи:
- Приём платежей по картам
- Создание подписок (subscriptions)
- Управление клиентами
- Обработка вебхуков
- Возвраты (refunds)


🌐 API Доступ

Тип доступа: REST API + Webhooks
Endpoint: https://api.stripe.com/v1/
Документация: https://stripe.com/docs/api
Dashboard: https://dashboard.stripe.com/


📋 Возможности API

Основные операции:

1. Payments (Платежи)
- Создание платёжного намерения (Payment Intent)
- Подтверждение платежа
- Проверка статуса

2. Customers (Клиенты)
- Создание клиента
- Сохранение платёжных методов
- История платежей

3. Subscriptions (Подписки)
- Создание подписки
- Управление тарифами
- Автоматическое списание

4. Refunds (Возвраты)
- Полный возврат
- Частичный возврат

5. Webhooks
- Уведомления о событиях
- payment_intent.succeeded
- customer.subscription.created


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

Метод: API Key (Bearer Token)

Типы ключей:
- Publishable Key (pk_test_...) - для клиентской стороны
- Secret Key (sk_test_...) - для серверной стороны (секретный!)

Окружения:
- Test mode: sk_test_... (тестовые платежи)
- Live mode: sk_live_... (реальные платежи)


📊 Лимиты и квоты

Rate Limits:
- Test mode: 25 req/sec
- Live mode: 100 req/sec (стандартный план)

Стоимость:
- 2.9% + $0.30 за успешный платёж (США)
- Тарифы варьируются по странам

Webhook лимиты:
- Максимум 16 endpoint-ов
- Timeout: 5 секунд


🔗 Интеграция

SDK доступны:
- Python (stripe package)
- JavaScript/Node.js (stripe npm)
- PHP, Ruby, Go, Java

Примеры кода: См. solution/integration/examples/


⚠️ Важные замечания

Безопасность:
- ❌ НИКОГДА не публиковать Secret Key в коде
- ✅ Использовать переменные окружения
- ✅ HTTPS обязателен для webhooks

Тестирование:
- Использовать тестовые карты: 4242 4242 4242 4242
- CVV: любой 3-значный
- Expiry: любая будущая дата


📝 История

2025-11-13


Версия: 1.0.0
Статус: ✅ Пример проекта (не для production!)