Host‑to‑host
Эндпойнты Pay In и Pay Out для прямой интеграции
Режим host‑to‑host (далее — h2h) предполагает, что мерчант реализует пользовательский интерфейс оплаты самостоятельно. Платформа возвращает реквизиты для перевода или принимает реквизиты получателя выплаты; взаимодействие с конечным клиентом мерчанта на стороне платформы отсутствует.
Если реализация собственного UI оплаты не требуется, применяется режим платёжной формы.
POST /host2host/payin
Создание операции приёма платежа.
Запрос
Базовый пример (СБП)
Перевод на карту
Моно‑банковский метод
Значение alfa_alfa приведено в качестве примера. Перечень доступных моно‑банковских методов — раздел Методы платежа.
Банковская форма с 3‑D Secure (e‑commerce)
Тенге, перевод карта–карта
Параметры
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
paymentMethod | enum | да | способ оплаты, см. Методы платежа |
idTransactionMerchant | string | да | идентификатор операции в системе мерчанта, уникальный в пределах мерчанта |
amount | decimal | да | сумма операции в валюте операции, до четырёх знаков после разделителя |
clientID | string | да | устойчивый идентификатор конечного клиента в системе мерчанта; применяется антифрод‑контролем |
clientIP | string | да | IPv4 или IPv6 конечного клиента; применяется антифрод‑контролем |
clientDateCreated | ISO‑8601 | да | дата регистрации конечного клиента в системе мерчанта; применяется антифрод‑контролем |
integrationMerhcnatData.webHook | string | нет | URL для доставки событий смены статуса; при отсутствии используется значение из настроек личного кабинета |
Поля clientID, clientIP, clientDateCreated являются обязательными. Передача фиктивных значений (0.0.0.0, случайные идентификаторы) приводит к срабатыванию антифрод‑контроля и возврату кода fraud.
Ответ
Успешное создание (СБП)
Успешное создание (карта)
Ошибка: повторное использование идентификатора
Ошибка: метод не разрешён тарифом
Ошибка: нет свободных реквизитов
Ошибка: блокировка антифрод‑контролем
Реквизиты в блоке paymentDetailsData являются одноразовыми и применимы только к данной операции. Сохранение реквизитов в системе мерчанта и переиспользование для других операций не допускается.
Переходы статусов
В отдельных случаях между created и in_progress присутствует промежуточный статус booking, означающий резервирование реквизитов на стороне провайдера.
Перечень статусов и допустимые переходы — раздел Статусы.
POST /host2host/payout
Создание операции выплаты на реквизиты конечного получателя.
Запрос
Выплата по СБП
Выплата на банковскую карту
Выплата на расчётный счёт
Параметры
Дополнительно к параметрам Pay In:
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
number | string | да | номер карты, номер телефона или номер счёта получателя; интерпретация зависит от paymentMethod |
bankName | string | да | наименование банка получателя из справочника, см. Справочник банков |
nameMediator | string | нет | имя получателя; при отсутствии допускается пустая строка, передача null не допускается |
Значение bankName должно быть взято из справочника, возвращаемого GET /masterdata/bank/list. Передача значения, отсутствующего в справочнике, приводит к применению межбанковского тарифа. Для отдельных банков платформа поддерживает обратную совместимость с устаревшими значениями; перечень синонимов раскрывается через менеджера. В новых интеграциях применяются только канонические значения из справочника.
Допустимые значения paymentMethod для Pay Out
toCard, sbp, toAccount и моно‑банковские каналы (alfa_alfa, sber_sber, ozon_ozon, tbank_tbank, vtb_vtb, gazprom_gazprom, psb_psb).
Методы transgran, transgranSBP, nspk, ecom, mobile для Pay Out не применяются.
Ответ
Успешное создание Pay Out
Недостаточно средств на балансе
Некорректные параметры запроса
В ответе на Pay Out поле paymentDetailsData отсутствует.
Переходы статусов
Статус pending_retry означает, что операция не была принята провайдером с первой попытки и поставлена в очередь повторной отправки. В этом случае создание повторной операции с другим значением idTransactionMerchant не требуется.
Коды ошибок
Перечень кодов ошибок и реакция на них приведены в разделе Ошибки. Часто встречающиеся при h2h‑интеграции коды:
duplicateIdentifier— повторное использованиеidTransactionMerchant;notEnoughMoneyOnBalance— недостаточно средств для Pay Out;noPaymentDetailsAvailable— нет свободных реквизитов под указанный метод;noSuitableTariffForRequest— метод не разрешён тарифом мерчанта;invalidRequestParameters— нарушен формат запроса;fraud— операция отклонена антифрод‑контролем.