Создание платежа или ссылки оплаты

POST/init
Как использовать запрос

1. Выберите пример своего способа

Укажите подключённый payment_method и передайте обязательные для него поля. Примеры отличаются данными клиента и идентификаторами получателя.

2. Пройдите сценарий оплаты

Создайте платёж через /init, затем обработайте полученные url, method и form_data. Клиент выполняет подтверждение, предусмотренное выбранным способом.

3. Подтвердите результат

Проверьте payment_status через /status или webhook с проверенной подписью. Возврат клиента на вашу страницу не подтверждает оплату.

Примечания

Доступность и обязательные поля зависят от способа оплаты и endpoint.

POSThttps://secure-api.404stage.com/initПрямой запрос к API

Запрос

ЗаголовкиAccept: application/json · Content-Type: application/json

Укажите свои реквизиты и подпись. Запрос отправляется на адрес выше.

Ответ

Запрос выполнен; проверяйте статус операции в ответе.

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&currency=EUR&language=en&invoice_id=019c6c4f-9a9c-e583-18f4-0e22eec8fc82&first_name=Ivan&last_name=Ivanov&signature=KSpA6kIj7W-gLzIW5xwjB3AU_s3zgvc6J3qPHl8eKPA"
}
Поля выбранного запроса15
amountstring · обязательное

Сумма платежа в указанной валюте.

currencystring · обязательное

Код валюты платежа.

customerstring

Уникальный идентификатор плательщика в системе мерчанта.

emailstring

Email плательщика.

endpoint_idstring · обязательное

ID платёжного эндпоинта. Также принимается имя product_id.

finish_urlstring

URL возврата плательщика после оплаты.

first_namestring

Имя плательщика, если требуется способом оплаты.

ip_addressstring

IP-адрес плательщика; используется при отправке запроса с сервера мерчанта.

last_namestring

Фамилия плательщика, если требуется способом оплаты.

merchant_idstring · обязательное

ID мерчанта, выданный при подключении.

notification_urlstring

URL мерчанта для уведомлений о статусе платежа.

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
  1. body

Создание платежа или платёжной ссылки. Дополнительные обязательные поля зависят от способа оплаты и сценария интеграции.

amount*|

Сумма платежа в указанной валюте.

card_token?|

Токен сохранённой карты. Также принимается имя card_id.

cardholder?|

Имя владельца, указанное на карте.

currency*string

Код валюты платежа.

Match^[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

Сохранить карту для последующих платежей, если поддерживается способом оплаты.

По умолчаниюfalse
sender_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
  1. response

Инструкции для продолжения или завершения оплаты плательщиком.

deeplink?|

Ссылка для перевода через платёжное приложение.

form_data?|

Параметры перехода в браузере: поля формы для POST, параметры URL для GET. Передавайте имена и значения из ответа.

form_status_signature?|

Подпись для проверки статуса платёжной формы.

id?||

Идентификатор операции, присвоенный платёжной платформой.

method*string

HTTP-метод для перехода по ссылке.

Допустимые значения"POST""GET"
status?Status-Output

Результат выполнения запроса API.

По умолчанию"redirect"
Допустимые значения"success""redirect""error"
url*string

URL для продолжения или завершения оплаты плательщиком.