Перейти к основному содержимому

Host-to-Host интеграция для реализации собственной платёжной формы

Если вам нужна прямая H2H интеграция, свяжитесь с вашим менеджером для получения условий

Host-to-Host интеграция используется в случае расположения платёжной формы на стороне мерчанта. К форме может быть подключен чекаут скрипт для формирования криптограммы и сбора данных плательщика

https://static.wata.pro/checkout.js

Подписки

Через API возможно только создать подписку. Функционал получения информации о ней временно доступен только в личном кабинете мерчанта в разделе «Подписки»

Ответственно относитесь к функционалу подписок, особенно к использованию промо-периодов. Убедитесь, что у вас в явном виде указана цена после окончания этого периода. Изменение стоимости подписки веское основание для чарджбэков. Если условия спрятаны глубоко в оферте или используются иные dark pattern, у клиента могут быть основания для оспаривания транзакции.

За чарджбэки мерчанту не возвращается комиссия, а также могут быть наложены штрафы. При большом числе оспариваемых транзакций терминал может быть отключен в одностороннем порядке, а средства заморожены до 180 дней.


Оплата банковской картой

POST /api/h2h/payments/card-crypto

Метод используется для создания транзакции оплаты банковской картой

Параметры запроса

Свяжитесь с менеджером, чтобы узнать как подключить функционал подписки

ПараметрТипКомментарий
amountЧислоСумма платежа. Всего после точки может быть 2 цифры для копеек или центов. Пример: 1188.00
currencyСтрокаВалюта платежа (RUB, USD, EUR)
orderIdСтрокаУникальный идентификатор заказа в системе мерчанта
descriptionСтрокаОписание заказа
ipСтрокаIP адрес плательщика
returnUrlСтрокаАдрес страницы, куда будет возвращен плательщик после оплаты
emailСтрокаАдрес электронной почты плательщика. Обязательно указывать для международного терминала и подписок
subscriptionОбъектИспользуется только для функционала подписок, который должен быть разрешён на терминале
├ periodЧислоЧастота списания. Например, 2 week — списание раз в две недели, а 3 month — квартальное
├ intervalСтрокаИнтервал, через который происходи списание. Week — по неделям, month — по месяцам
├ maxPeriodsЧислоКоличество последующих периодов списания, исключая первый. Например, вы продали годовую подписку с ежемесячным списанием, тогда нужно указать 11 периодов, т.к. первый уже будет закрыт текущей оплатой
├ amountЧислоСумма списаний. Если не указать, будет использоваться сумма из запроса. Поле требуется заполнять, если вы используете промо-период. Например, первый месяц за 39 ₽, а последующие за 99 ₽
└ startDateДатаДата списания по подписке должна быть в будущем. Применимо, когда, к примеру, клиент оплатил впервые 9 января, а регулярные списания у вас всегда 1-го числа. В таком случае указывается дата 01.02. Другой кейс, когда промо-период у вас короткий: 3 дня за 1 ₽, а дальше 1000 ₽ в месяц
deviceDataОбъектДанные устройства плательщика (можно собрать, подключив скрипт checkout.js на страницу оплаты)
├ browserAcceptHeaderСтрокаЗначение HTTP заголовка Accept
├ browserLanguageСтрокаЛокаль браузера
├ browserJavaEnabledБулевоДоступна Java
├ browserJavaScriptEnabledБулевоДоступен JavaScript
├ browserColorDepthЧислоГлубина цвета браузера
├ browserScreenHeightЧислоВысота экрана в пикселях
├ browserScreenWidthЧислоШирина экрана в пикселях
├ challengeWindowWidthЧислоШирина окна браузера в пикселях
├ challengeWindowHeightЧислоВысота окна браузера в пикселях
├ browserTZЧислоЧасовой пояс пользователя (временное смещение от UTC), например 3
├ browserTZNameСтрокаТаймзона пользователя строкой, например UTC+3
├ browserIpСтрокаIP адрес плательщика
└ browserUserAgentСтрокаЗначение HTTP заголовка User-Agent
cardCryptoСтрокаКриптограмма карты плательщика (можно собрать, подключив скрипт checkout.js на страницу оплаты)

Параметры ответа

ПараметрТипКомментарий
transactionIdUUIDИдентификатор транзакции в системе WATA
transactionStatusСтрокаСтатус транзакции (Pending, Paid, Declined)
kindСтрокаТип транзакции: Payment — оплата, Refund — возврат
errorCodeСтрокаКод ошибки в случае неуспешного запроса (см справочник кодов ошибок)
errorDescriptionСтрокаОписание ошибки в случае неуспешного запроса
threeDsDataОбъектДанные для 3ds аутентификации аутентификации, см. разъяснения ниже
├ urlСтрокаАдрес, на который надо отправить плательщика для ввода кода 3ds аутентификации
├ methodСтрокаHTTP метод, которым будет отправлена форма
└ parametersОбъект
  └ property name*СтрокаПараметры 3ds

Параметры threeDsData

В зависимости от значений, пришедших в этом объекте, необходимо либо отправить браузер плательщика по значению url (если в параметре method пришло значение GET), либо на странице мерчанта сформировать скрытую html форму с параметрами из объекта parameters и сделать авто отправку ее на адрес url, методом method (если в параметре method пришло значение отличное от GET). В объекте parameters могут быть различные значения, рекомендуется в цикле создать элемент input для каждого из них.

Пример HTML формы

<html>
<head>
<title></title>
</head>
<body onload="setTimeout(document.forms['form'].submit(), 10000)">
<form name='form' action='{url}' method='{method}'>
<input type='hidden' name='creq' value='{creq}'>
<input type='hidden' name='threeDSSessionData' value='{threeDsSessionData}'>
</form>
</body>
</html>

Оплата по СБП

Метод предназначен для создания транзакции оплаты через Систему Быстрых Платежей (СБП) Центробанка России

POST /api/h2h/payments/sbp

Параметры запроса

Свяжитесь с менеджером, чтобы узнать как подключить функционал подписки

ПараметрТипКомментарий
amountЧислоСумма платежа. Всего после точки может быть 2 цифры для копеек. Оплата принимается только в российских рублях. Пример: 1188.00
orderIdСтрокаУникальный идентификатор заказа в системе мерчанта
descriptionСтрокаОписание заказа
ipСтрокаIP адрес плательщика
returnUrlСтрокаАдрес страницы, куда будет возвращен плательщик после оплаты
emailСтрокаАдрес электронной почты плательщика. Обязательно указывать для подписок
firstNameСтрокаИмя плательщика
lastNameСтрокаФамилия плательщика
subscriptionОбъектИспользуется только для функционала подписок, который должен быть разрешён на терминале
├ periodЧислоЧастота списания. Например, 2 week — списание раз в две недели, а 3 month — квартальное
├ intervalСтрокаИнтервал, через который происходи списание. Week — по неделям, month — по месяцам
├ maxPeriodsЧислоКоличество последующих периодов списания, исключая первый. Например, вы продали годовую подписку с ежемесячным списанием, тогда нужно указать 11 периодов, т.к. первый уже будет закрыт текущей оплатой
├ amountЧислоСумма списаний. Если не указать, будет использоваться сумма из запроса. Поле требуется заполнять, если вы используете промо-период. Например, первый месяц за 39 ₽, а последующие за 99 ₽
└ startDateДатаДата списания по подписке должна быть в будущем. Применимо, когда, к примеру, клиент оплатил впервые 9 января, а регулярные списания у вас всегда 1-го числа. В таком случае указывается дата 01.02. Другой кейс, когда промо-период у вас короткий: 3 дня за 1 ₽, а дальше 1000 ₽ в месяц
deviceDataОбъектДанные устройства плательщика (можно собрать, подключив скрипт checkout.js на страницу оплаты)
├ browserAcceptHeaderСтрокаЗначение HTTP заголовка Accept
├ browserLanguageСтрокаЛокаль браузера
├ browserJavaEnabledБулевоДоступна Java
├ browserJavaScriptEnabledБулевоДоступен JavaScript
├ browserColorDepthЧислоГлубина цвета браузера
├ browserScreenHeightЧислоВысота экрана в пикселях
├ browserScreenWidthЧислоШирина экрана в пикселях
├ challengeWindowWidthЧислоШирина окна браузера в пикселях
├ challengeWindowHeightЧислоВысота окна браузера в пикселях
├ browserTZЧислоЧасовой пояс пользователя (временное смещение от UTC), например 3
├ browserTZNameСтрокаТаймзона пользователя строкой, например UTC+3
├ browserIpСтрокаIP адрес плательщика
└ browserUserAgentСтрокаЗначение HTTP заголовка User-Agent

Параметры ответа

ПараметрТипКомментарий
transactionIdUUIDИдентификатор транзакции в системе WATA
transactionStatusСтрокаСтатус транзакции (Created, Pending, Paid, Declined)
kindСтрокаТип транзакции: Payment — оплата, Refund — возврат
sbpLinkСтрокаПлатёжная ссылка СБП
errorCodeСтрокаКод ошибки в случае неуспешного запроса (см справочник кодов ошибок)
errorDescriptionСтрокаОписание ошибки в случае неуспешного запроса

Оплата посредством T-Pay

Метод применяется для создания транзакции оплаты через систему T-Pay от Т-Банка

POST /api/h2h/payments/tpay

Параметры запроса

ПараметрТипКомментарий
amountЧислоСумма платежа. Всего после точки может быть 2 цифры для копеек. Оплата принимается только в российских рублях. Пример: 1188.00
orderIdСтрокаУникальный идентификатор заказа в системе мерчанта
descriptionСтрокаОписание заказа
ipСтрокаIP адрес плательщика
returnUrlСтрокаАдрес страницы, куда будет возвращен плательщик после оплаты
emailСтрокаАдрес электронной почты плательщика
subscriptionОбъектИспользуется только для функционала подписок, который должен быть разрешён на терминале
├ periodЧислоЧастота списания. Например, 2 week — списание раз в две недели, а 3 month — квартальное
├ intervalСтрокаИнтервал, через который происходи списание. Week — по неделям, month — по месяцам
├ maxPeriodsЧислоКоличество последующих периодов списания, исключая первый. Например, вы продали годовую подписку с ежемесячным списанием, тогда нужно указать 11 периодов, т.к. первый уже будет закрыт текущей оплатой
├ amountЧислоСумма списаний. Если не указать, будет использоваться сумма из запроса. Поле требуется заполнять, если вы используете промо-период. Например, первый месяц за 39 ₽, а последующие за 99 ₽
└ startDateДатаДата списания по подписке должна быть в будущем. Применимо, когда, к примеру, клиент оплатил впервые 9 января, а регулярные списания у вас всегда 1-го числа. В таком случае указывается дата 01.02. Другой кейс, когда промо-период у вас короткий: 3 дня за 1 ₽, а дальше 1000 ₽ в месяц
deviceDataОбъектДанные устройства плательщика (можно собрать, подключив скрипт checkout.js на страницу оплаты)
├ browserAcceptHeaderСтрокаЗначение HTTP заголовка Accept
├ browserLanguageСтрокаЛокаль браузера
├ browserJavaEnabledБулевоДоступна Java
├ browserJavaScriptEnabledБулевоДоступен JavaScript
├ browserColorDepthЧислоГлубина цвета браузера
├ browserScreenHeightЧислоВысота экрана в пикселях
├ browserScreenWidthЧислоШирина экрана в пикселях
├ challengeWindowWidthЧислоШирина окна браузера в пикселях
├ challengeWindowHeightЧислоВысота окна браузера в пикселях
├ browserTZЧислоЧасовой пояс пользователя (временное смещение от UTC), например 3
├ browserTZNameСтрокаТаймзона пользователя строкой, например UTC+3
├ browserIpСтрокаIP адрес плательщика
└ browserUserAgentСтрокаЗначение HTTP заголовка User-Agent

Параметры ответа

ПараметрТипКомментарий
transactionIdUUIDИдентификатор транзакции в системе WATA
transactionStatusСтрокаСтатус транзакции (Created, Pending, Paid, Declined)
kindСтрокаТип транзакции: Payment — оплата, Refund — возврат
tPayLinkСтрокаПлатёжная ссылка T-Pay
errorCodeСтрокаКод ошибки в случае неуспешного запроса (см справочник кодов ошибок)