Обзор ECOM H2H
В этом разделе описана интеграция интернет-платежей по банковским картам в формате H2H (host-to-host). При таком варианте интеграции форма оплаты и сбор реквизитов выполняются на стороне мерчанта, а платеж создается и обрабатывается через API HighHelp.
Назначение ECOM H2H
ECOM H2H используется для интернет-платежей по банковским картам, когда:
-
форма оплаты размещена на сайте или в приложении мерчанта;
-
реквизиты карты поступают на бэкенд мерчанта и передаются в платежный шлюз по API;
-
требуется полный контроль над пользовательским интерфейсом и обработкой ошибок;
-
допустима работа с карточными данными на стороне мерчанта (требования PCI DSS).
Для ECOM H2H применяются типы платежей payin и payout. Определения типов платежей приведены в разделе Типы платежей. Список поддерживаемых методов оплаты для H2H (в том числе card-ecom) приведен в разделе Методы оплаты (H2H).
Все запросы ECOM H2H используют единый механизм аутентификации и подписи, описанный в разделе Аутентификация и подпись.
Сравнение с виджетом (H2C)
ECOM H2H отличается от интеграции через виджет (H2C) следующим:
-
При H2H:
-
форма оплаты и ввод реквизитов реализуются на стороне мерчанта;
-
мерчант принимает и обрабатывает данные карты;
-
запросы в платежный шлюз выполняются с бэкенда мерчанта.
-
-
При H2C:
-
форма оплаты отрисовывается виджетом HighHelp;
-
реквизиты карты отправляются напрямую в платежный шлюз;
-
бэкенд мерчанта получает только результат обработки.
-
Интеграция через виджет описана в разделе Интернет-платежи через виджет.
Поддерживаемые сценарии
В рамках ECOM H2H поддерживаются следующие базовые сценарии:
-
Оплата по карте (тип
payin). Клиент вводит реквизиты карты на стороне мерчанта, мерчант создает заявкуcard-ecomи получает результат обработки. Средства списываются с карты клиента и зачисляются на кассу мерчанта. -
Выплата на карту (тип
payout). Мерчант создает заявкуcard-ecomна выплату. Средства списываются с кассы мерчанта и зачисляются на карту получателя.
Поддерживаемые валюты и особенности указания суммы в дробных единицах описаны в разделе Коды валют.
Перечень статусов и подстатусов заявок, а также соответствующие коды ошибок приведены в разделе Коды статусов.
Общий процесс обработки ECOM H2H
Общий процесс обработки ECOM H2H-платежа включает следующие этапы:
-
Формирование запроса на стороне мерчанта.
-
Мерчант собирает данные клиента и реквизиты карты.
-
На бэкенде формируется тело запроса к API HighHelp с блоками
general,payment,cardиcustomer(для payin) либоreceiverиpayment(для payout). -
Формируются заголовки аутентификации
x-access-timestamp,x-access-merchant-id,x-access-token,x-access-signatureпо правилам из Аутентификация и подпись.
-
-
Отправка HTTP-запроса в API HighHelp.
-
Для ECOM payin используется endpoint
payment/ecom/payin. -
Для ECOM payout используется endpoint
payment/ecom/payout.
-
-
Первичная обработка заявки.
-
Система проверяет корректность запроса и доступность операции для кассы.
-
Заявке присваивается статус
processing:newили ошибка. Описание статусов см. в разделе Коды статусов.
-
-
Дополнительная аутентификация (3-D Secure или redirect) при необходимости.
-
Эмитент может потребовать прохождение 3-D Secure или другой формы аутентификации клиента.
-
В этом случае заявка переходит в один из промежуточных статусов (
processing:awaiting_3ds_resultилиprocessing:awaiting_redirect_result). -
Данные для аутентификации передаются мерчанту в теле оповещения. Порядок работы с 3-D Secure описан в разделе Одностадийная оплата.
-
-
Завершение заявки.
-
После выполнения всех проверок заявка переходит в один из финальных статусов:
-
success— операция выполнена успешно. -
decline— операция отклонена. -
error— ошибка при обработке запроса или выполнении операции.
-
-
Информация о результате передается мерчанту в виде оповещения .
-
-
Запрос статуса заявки по API при необходимости.
-
Мерчант может запросить актуальный статус заявки через методы
…/payin/infoи…/payout/info. -
Формат ответа и набор полей совпадает с данными, которые приходят в оповещениях.
-
Требования к интеграции
При интеграции ECOM H2H следует учитывать:
-
Обработка карточных данных.
-
Реквизиты карты проходят через инфраструктуру мерчанта.
-
Требуется обеспечить соответствие требованиям безопасности (например, PCI DSS) на стороне мерчанта.
-
-
Корректность указания сумм и валют.
-
Сумма передается в дробных единицах валюты без разделителей.
-
Информация по количеству дробных разрядов приведена в разделе Коды валют.
-
-
Использование корректных методов оплаты.
-
Для ECOM H2H необходимо использовать значения методов из Методы оплаты (H2H).
-
-
Обработка статусов и оповещений.
-
Необходимо обрабатывать финальные и промежуточные статусы, описанные в Коды статусов.
-
Рекомендуется реализовать защиту от повторной обработки дубликатов оповещений (ключ идемпотентности можно строить, например, как
{project_id}:{payment_id}:{status}:{sub_status}).
-
Следующие шаги
-
Одностадийная оплата — описание создания заявок
card-ecomдля оплаты и выплаты, примеры запросов и ответов, работа с 3-D Secure и оповещениями. -
Аутентификация и подпись — правила формирования заголовков аутентификации и цифровой подписи.
-
Типы платежей — назначение типов
payinиpayout. -
Методы оплаты (H2H) — список поддерживаемых методов и привязка к географиям.
-
Коды валют — поддерживаемые валюты и количество дробных разрядов.
-
Коды статусов — статусы и подстатусы заявок, коды ошибок и их назначение.