Создание платежа или ссылки оплаты
/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 для нового платежа и пересчитайте подпись по окончательному телу запроса.