API и SDK для интернет‑эквайринга: техническое руководство

Получить CloudPayments бесплатно

API и SDK для интернет‑эквайринга: техническое руководство

Зачем нужны API и SDK эквайринга

API интернет‑эквайринг — это программный интерфейс, позволяющий вашему сайту или приложению принимать оплату банковскими картами, SBP и альтернативными методами в онлайне. SDK эквайринг дополняет API готовыми клиентскими компонентами: формы оплаты, токенизацию, 3‑D Secure, обработку ошибок UI и безопасную работу с карточными данными.

Архитектура и поток данных

Классический поток оплаты включает создание платежа на сервере, подтверждение на стороне клиента и асинхронные уведомления о статусе через webhook платежи.

![Схема процесса оплаты: Клиент → Сайт/Приложение → Ваш сервер → API платежного провайдера → Банк/3‑DS → Webhook → Ваш сервер]

Ключевые сущности и эндпоинты API интернет эквайринг:

Метод Путь Назначение Авторизация
POST /payments Создание платежа (инициация платежа API) Bearer/HMAC
GET /payments/{id} Получение статуса платежа Bearer/HMAC
POST /payments/{id}/confirm Подтверждение (capture) Bearer/HMAC
POST /refunds Возврат средств Bearer/HMAC
POST /tokens Tokenization cards (токенизация карт) Public key
POST /webhooks/test Тестовая отправка webhook Bearer/HMAC

Советы по проектированию:

  • Разделяйте серверную логику (создание платежа, валидация подписей) и клиентскую (сбор данных карты, 3‑D Secure, UX).
  • Всегда храните финальный статус по webhook; запросы к API используйте для верификации и восстановления состояния.
  • Для соблюдения 54‑ФЗ подключите отправку чеков через кассу: см. «54‑ФЗ: онлайн‑касса».

Быстрый старт: инициация платежа через API

Ниже — минимальный сценарий «создать → подтвердить → получить статус». Это ориентир; фактические поля зависят от провайдера.

Шаг 1. Создайте платеж (инициация платежа api):

  • Передайте сумму, валюту, описание, idempotency ключ, данные покупателя.
  • Если используете токен, передайте token вместо «сырых» карточных реквизитов.

Шаг 2. Проведите аутентификацию клиента:

Шаг 3. Подтвердите и зафиксируйте результат:

  • Используйте capture или auto‑capture в зависимости от модели (двухстадийная или одноэтапная).
  • Дождитесь webhook платежи с финальным статусом и обновите заказ.

Полезно: оформите карту полей запроса/ответа и используйте одинаковые имена заказов (order_id) по всей системе, чтобы упростить трассировку.

Идемпотентность: Idempotency-Key

Идемпотентность гарантирует, что повторная отправка одного и того же запроса не создаст дубликатов платежей.

Как реализовать:

  • Для каждого создания платежа генерируйте уникальный idempotency ключ (UUID v4) и передавайте его в заголовке Idempotency-Key.
  • Храните маппинг «Idempotency-Key → payment_id, статус» не менее 24 часов.
  • При сетевых сбоях безопасно повторяйте запрос с тем же ключом и теми же параметрами.

Когда применять ретраи с идемпотентностью:

  • POST /payments (создание)
  • POST /refunds (возврат)

Не используйте ретраи для операций, которые могут изменить сумму/состав корзины без идемпотентности, чтобы не получить расхождения.

Webhook платежи: события, подпись, ретраи

Webhook — основной источник правды о финальном статусе. Принимайте уведомления на выделенный endpoint, защищенный аутентификацией и верификацией подписи.

Типовые события:

Событие Описание Ключевые поля Доставка
payment.succeeded Платеж успешен payment_id, amount, currency, order_id At-least-once
payment.failed Ошибка/отказ reason, code, payment_id At-least-once
refund.succeeded Возврат завершен refund_id, amount, payment_id At-least-once
dispute.opened Чарджбек/спор payment_id, reason, deadline At-least-once

Рекомендации по безопасности и надежности:

  • Подпись: проверяйте HMAC‑подпись тела и метку времени, храните «секрет» и план обновления (key rotation).
  • Идемпотентность на вашей стороне: проверяйте event_id и не применяйте повторно уже обработанные события.
  • Ретраи: отвечайте 2xx только после успешной записи статуса в БД; при 5xx провайдер повторит отправку.

Про споры и возвраты читайте на странице «Возвраты и чарджбеки».

Обработка ошибок API и retry policy

Корректная обработка ошибок API снижает потери и повышает стабильность. Ниже — ориентир по классам ошибок и стратегии retry policy платежи.

Код Тип Что означает Действия клиента Retry
400 Неверные данные Валидация, обязательные поля Исправить запрос Нет
401/403 Авторизация Неверный токен/подпись, доступ запрещен Обновить ключи/права Нет
402 Отклонение платежа Банк отказал, фрод, недостаточно средств Сообщить пользователю, предложить другой метод Нет
409 Конфликт Повтор с тем же Idempotency-Key, конфликт статусов Идемпотентно получить результат Да (GET)
422 Логическая ошибка Несовместимые параметры Исправить логику Нет
429 Лимиты Превышен rate limit Экспоненциальный backoff + jitter Да
500/503 Внутренние ошибки Временная недоступность Повтор с backoff, та же идемпотентность Да

Best practices:

  • Экспоненциальный backoff (например, 1s, 2s, 4s, 8s) + jitter для избежания «стадного эффекта».
  • Четкая «обработка ошибок api»: логируйте correlation_id, idempotency ключ, endpoint, payload без чувствительных данных.
  • Для «инициация платежа api» повторяйте только с тем же Idempotency-Key.

Tokenization cards и рекуррентные списания

Tokenization cards (токенизация карт) позволяет сохранять безопасный токен вместо PAN и CVV. Это сокращает трение при повторных оплатах и дает основу для подписок.

  • Токен создается через /tokens в браузере/моб. SDK; сырой PAN не проходит через ваш сервер (SAQ A).
  • При оплате передавайте token и customer_id; для регулярных платежей используйте модель «card-on-file» и MIT.
  • Повторные списания и подписки описаны в «Рекуррентные платежи».

Если вам нужно делить платежи между продавцами, смотрите «Маркетплейсы и сплит‑платежи».

SDK эквайринг: веб, iOS и Android

SDK эквайринг экономит месяцы разработки:

  • Web SDK: хостируемые поля, drop‑in виджет, управление фреймами, автоматический 3‑D Secure 2.
  • iOS/Android SDK: нативные экраны, SCA, биометрия, сохраненные карты, Apple Pay/Google Pay.
  • Безопасность: шифрование, токенизация на устройстве, certificate pinning.

Веб‑интеграции часто реализуют через CMS и плагины. Начните с «Интеграция с CMS» или готовых модулей. Для ручной интеграции — используйте хостинг JS SDK на доверенных доменах и CSP‑политику.

Меры безопасности API и соответствие требованиям

Надежные меры безопасности api критичны для минимизации рисков и соответствия PCI DSS.

Основы:

  • TLS 1.2+ обязательно, отключите устаревшие шифросuites.
  • OAuth 2.0 или HMAC‑подпись запросов (добавляйте nonce и timestamp).
  • Проверка происхождения webhook и IP allowlist.
  • Rate limiting и защита от повторов (replay protection).
  • Секреты храните в Vault/KMS; ключи обновляйте по расписанию.

Соответствие:

Песочница, мониторинг и аналитика

Разделяйте тестовую и боевую среду:

  • Sandbox: тест‑карты и сценарии (успех, 3‑D Secure required, недостаточно средств, фрод).
  • Наблюдаемость: корреляция запросов по order_id, payment_id, correlation_id.
  • Метрики: авторизация, конверсия в оплату, доля 3‑DS, отказ банка, доля ретраев.

Строить отчеты и воронку поможет «Аналитика и отчеты». Сроки поступления средств ищите на странице «Сроки и зачисления».

Интеграция с CMS и backend‑стеком

Поддерживаются популярные CMS и фреймворки: 1C‑Битрикс, WooCommerce, OpenCart, Shopify, Laravel, Django, Spring, .NET.

Рекомендации:

  • Используйте готовые плагины из «Интеграция с CMS».
  • На бэкенде реализуйте слой платежного сервиса (facade): API‑клиент, валидатор подписи, обработчик webhook, репозиторий статусов.
  • Документацию по полям и статусам держите рядом с кодом; термины смотрите в «Глоссарий».

Дополнительные возможности: SBP, split и международные платежи

Расширьте способы оплаты для роста конверсии:

Сравнить провайдеров и стеки комиссий можно в разделе «Сравнение провайдеров» и «Тарифы и комиссии».

Итоги и следующий шаг

API интернет эквайринг и SDK эквайринг дают гибкость и скорость внедрения: от «инициация платежа api» и tokenization cards до надежных webhook платежи, идемпотентности и продуманной «обработка ошибок api». Соблюдайте меры безопасности api, внедряйте retry policy платежи и используйте песочницу для быстрых тестов — и вы получите стабильный платежный контур с высокой конверсией.

Готовы к интеграции? Ознакомьтесь с шагами подключения на странице «Как подключить», загляните в «FAQ», а при необходимости обратитесь в «Служба поддержки». Не забудьте проверить фискализацию по 54‑ФЗ и оптимизировать воронку оплаты в «Оптимизация конверсии».

Получить CloudPayments бесплатно