Создание платежа или ссылки оплаты
/initКак использовать запрос
1. Выберите пример своего способа
Укажите подключённый payment_method и передайте обязательные для него поля. Примеры отличаются данными клиента и идентификаторами получателя.
2. Пройдите сценарий оплаты
Создайте платёж через /init, затем обработайте полученные url, method и form_data. Клиент выполняет подтверждение, предусмотренное выбранным способом.
3. Подтвердите результат
Проверьте payment_status через /status или webhook с проверенной подписью. Возврат клиента на вашу страницу не подтверждает оплату.
Примечания
Доступность и обязательные поля зависят от способа оплаты и endpoint.
https://secure-api.404stage.com/initПрямой запрос к APIЗапрос
Заголовки
Accept: application/json · Content-Type: application/jsonУкажите свои реквизиты и подпись. Запрос отправляется на адрес выше.
Ответ
Запрос выполнен; проверяйте статус операции в ответе.
{
"deeplink": null,
"form_data": {},
"form_status_signature": null,
"id": "019c6c4f-9a9c-e583-18f4-0e22eec8fc82",
"method": "GET",
"status": "redirect",
"url": "https://pay.example/pay?customer_id=d4e816c8-eed4-4cff-a628-671c71594714&merchant_id=30b7d3bd-5f5d-4644-bf42-c2a1cd0dea0f&endpoint_id=e82b948f-5416-4560-bcd2-bbec03247dd5&order=order-00100&amount=100¤cy=EUR&language=en&invoice_id=019c6c4f-9a9c-e583-18f4-0e22eec8fc82&first_name=Ivan&last_name=Ivanov&signature=KSpA6kIj7W-gLzIW5xwjB3AU_s3zgvc6J3qPHl8eKPA"
}Поля выбранного запроса15
amountstring · обязательноеСумма платежа в указанной валюте.
currencystring · обязательноеКод валюты платежа.
customerstringУникальный идентификатор плательщика в системе мерчанта.
emailstringEmail плательщика.
endpoint_idstring · обязательноеID платёжного эндпоинта. Также принимается имя product_id.
finish_urlstringURL возврата плательщика после оплаты.
first_namestringИмя плательщика, если требуется способом оплаты.
ip_addressstringIP-адрес плательщика; используется при отправке запроса с сервера мерчанта.
last_namestringФамилия плательщика, если требуется способом оплаты.
merchant_idstring · обязательноеID мерчанта, выданный при подключении.
notification_urlstringURL мерчанта для уведомлений о статусе платежа.
orderstring · обязательноеИдентификатор заказа или платежа в системе мерчанта.
payment_methodstringСпособ оплаты, настроенный для эндпоинта.
sender_account_numberstringНомер банковского счёта отправителя.
signaturestring · обязательноеПодпись запроса; рассчитывается по правилам раздела о подписи запросов.
Описание и правила метода
Создаёт платёж. Для Host2Host передайте данные карты или сохранённый токен карты; для платёжной страницы не передавайте эти поля. Способ оплаты и валюта должны быть доступны вашему endpoint. Передайте параметры браузера, если карточный сценарий требует 3D-Secure 2.0. Для сохранения карты передайте save_card=1 в первом платеже. Ответ с перенаправлением описывает следующий шаг в браузере; итоговый статус платежа проверяйте через /status или webhook.
В finish_url укажите страницу возврата клиента после оплаты, в notification_url — адрес вашего webhook для уведомлений о платеже. Оба параметра включены в примеры. Открывайте полученный url с указанными method и form_data.
Поле, отмеченное необязательным в общей схеме API, может быть обязательным для конкретного канала. Уточните доступную валюту и данные клиента для вашего endpoint_id. Расширенный пример EUR показывает канал, которому также нужны адресные и контактные данные клиента.
Для redirect через Open Banking, Apple Pay и Google Pay способ оплаты определяется настройкой endpoint. Выберите соответствующий пример и откройте полученную платёжную страницу. В Open Banking клиент выбирает банк и разрешает проведение платежа, а в Apple Pay / Google Pay подтверждает оплату в кошельке. Для этих сценариев не нужно передавать данные карты или oem_token в запросе создания.
Для передачи браузерных данных 3DS 2.0 используйте ip_address как IP клиента и остальные поля из примера 3DS. В ответе могут прийти form_data.creq или другие поля формы: отправляйте все полученные поля с исходными именами и значениями.
Передавайте JSON в теле запроса (Content-Type: application/json). Рассчитывайте signature по общим правилам подписи для пути URL этого метода. Подписи в примерах — заполнители: замените реквизиты доступа и URL, укажите новый order для нового платежа и пересчитайте подпись по окончательному телу запроса.
Все параметры и схемы
Свернуть схемуapplication/json- body
Создание платежа или платёжной ссылки. Дополнительные обязательные поля зависят от способа оплаты и сценария интеграции.
amount*|Сумма платежа в указанной валюте.
card_token?|Токен сохранённой карты. Также принимается имя card_id.
cardholder?|Имя владельца, указанное на карте.
currency*stringКод валюты платежа.
^[A-Z]{3,4}$custom_data?||Данные мерчанта в виде JSON-объекта или строки с JSON-объектом; не показываются плательщику.
customer?|Уникальный идентификатор плательщика в системе мерчанта.
customer_address?|Адрес плательщика.
customer_birthdate?|Дата рождения плательщика, если требуется способом оплаты.
customer_city?|Город плательщика.
customer_company_name?|Название компании плательщика, если требуется способом оплаты.
customer_country?|Страна плательщика: код ISO 3166-1 alpha-2.
customer_id?||ID плательщика, присвоенный платёжной платформой. Также принимается имя client_id.
customer_postalcode?|Почтовый индекс плательщика.
customer_state?|Штат или область плательщика.
cvc?|Защитный код CVC/CVV при оплате картой.
data?||Дополнительные данные платежа в JSON; не показываются плательщику.
description?|Описание или дополнительные сведения о платеже от мерчанта.
device_browser_accept_header?|Заголовок Accept браузера для аутентификации 3DS.
device_browser_color_depth?|Глубина цвета экрана в битах для аутентификации 3DS.
device_browser_java_enabled?|Включена ли Java в браузере; передаётся строкой для 3DS.
"True"device_browser_language?|Язык браузера для аутентификации 3DS.
device_browser_screen_height?|Высота экрана в пикселях для аутентификации 3DS.
device_browser_screen_width?|Ширина экрана в пикселях для аутентификации 3DS.
device_browser_tz?|Смещение часового пояса браузера от UTC в минутах для аутентификации 3DS.
device_browser_user_agent?|Заголовок User-Agent браузера для аутентификации 3DS.
device_channel?|Канал аутентификации 3DS; для браузера используется BRW.
email?|Email плательщика.
encrypted_card_data?|Зашифрованные данные карты для интеграции с таким форматом; не передавайте вместе с pan.
endpoint_id*|ID платёжного эндпоинта. Также принимается имя product_id.
expire_month?|Месяц окончания действия карты строкой, например 12.
expire_year?|Год окончания действия карты: две цифры, например 29.
extra_data?||Дополнительные данные, необходимые отдельному способу оплаты.
extra_params?|Дополнительные параметры URL платёжной страницы в формате query string; применяются, если включены для эндпоинта.
finish_failure_url?|URL возврата плательщика после неуспешного платежа.
finish_success_url?|URL возврата плательщика после успешного платежа.
finish_url?|URL возврата плательщика после оплаты.
first_name?|Имя плательщика, если требуется способом оплаты.
fiscal_agent_inn?|ИНН агента для чека.
fiscal_agent_name?|Название агента для чека.
fiscal_data?|Данные чека для способов оплаты с поддержкой фискальных данных.
fiscal_description?|Описание товара или услуги для чека.
fiscal_purveyor_inn?|ИНН продавца для чека.
fiscal_purveyor_name?|Название продавца для чека.
ip_address?|IP-адрес плательщика; используется при отправке запроса с сервера мерчанта.
issuer_name?|Название банка для выбора платёжных реквизитов.
language?|Язык интерфейса для плательщика.
last_name?|Фамилия плательщика, если требуется способом оплаты.
merchant_id*|ID мерчанта, выданный при подключении.
middle_name?|Отчество плательщика, если требуется способом оплаты.
notification_url?|URL мерчанта для уведомлений о статусе платежа.
oem_token?||Платёжный токен поддерживаемого цифрового кошелька.
order*stringИдентификатор заказа или платежа в системе мерчанта.
otp?|Одноразовый код оплаты, например код BLIK при прямой отправке платежа.
pan?|Номер карты при прямой оплате картой.
payment_method?|Способ оплаты, настроенный для эндпоинта.
payment_type?|Тип платежа, поддерживаемый настроенным способом оплаты.
phone_number?|Номер телефона плательщика.
promocode?|Промокод для платежа, если поддерживается.
route_key?|Ключ маршрутизации, согласованный при подключении.
save_card?booleanСохранить карту для последующих платежей, если поддерживается способом оплаты.
falsesender_account_number?|Номер банковского счёта отправителя.
sender_address?|Адрес отправителя.
sender_bank_id?|Идентификатор банка отправителя.
sender_branch_code?|Код отделения банка отправителя.
sender_city?|Город отправителя.
sender_country?|Страна отправителя: код ISO 3166-1 alpha-2.
sender_first_name?|Имя отправителя.
sender_id_number?|Номер удостоверяющего личность документа отправителя.
sender_id_type?|Тип удостоверяющего личность документа отправителя.
sender_last_name?|Фамилия отправителя.
sender_name?|Полное имя отправителя.
sender_postalcode?|Почтовый индекс отправителя.
sender_tax_id?|Налоговый идентификатор отправителя.
signature*stringПодпись запроса; рассчитывается по правилам раздела о подписи запросов.
site_url?|Сайт мерчанта, на котором инициируется оплата.
source_bank?|Название банка отправителя.
source_requisite?|Реквизит отправителя; передавайте вместе с source_requisite_type.
source_requisite_type?|Тип source_requisite, например карта или счёт.
subscription_id?||Идентификатор подписки для платежа по существующей подписке.
target_requisite_id?|Необязательный UUID для строгого выбора реквизита. Недоступность приводит к ошибке без замены. Первый ID сохраняется для последующих запросов.
username?|Имя пользователя плательщика для способов оплаты по логину.
wallet_id?|Идентификатор кошелька при оплате с использованием кошелька.
Запрос выполнен; проверяйте статус операции в ответе.
application/json- response
Инструкции для продолжения или завершения оплаты плательщиком.
deeplink?|Ссылка для перевода через платёжное приложение.
form_data?|Параметры перехода в браузере: поля формы для POST, параметры URL для GET. Передавайте имена и значения из ответа.
form_status_signature?|Подпись для проверки статуса платёжной формы.
id?||Идентификатор операции, присвоенный платёжной платформой.
method*stringHTTP-метод для перехода по ссылке.
"POST""GET"status?Status-OutputРезультат выполнения запроса API.
"redirect""success""redirect""error"url*stringURL для продолжения или завершения оплаты плательщиком.