Создание запроса на выплату

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

1. Укажите реквизиты получателя

Выберите пример /withdrawal для подключённого способа выплаты. Передайте новый order, сумму, валюту и обязательные поля получателя.

2. Выполните следующий шаг

Обработайте withdrawal_request.redirect, если он получен. Для продолжения используйте полученные url, method и form_data.

3. Подтвердите двухстадийную выплату

В двухстадийном режиме подтвердите созданную выплату через /withdrawal/submit или отмените её через /withdrawal/cancel до обработки.

4. Подтвердите итоговый статус

Проверьте /withdrawal_request по id или order либо обработайте webhook выплаты с проверкой подписи. Проверяйте поля ответа вместе с HTTP-статусом.

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

Запрос

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

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

Ответ

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

application/json
{
  "status": "success",
  "withdrawal_request": {
    "account_id": "27",
    "amount": "0.0000",
    "created_at": "2023-12-28T11:01:24.167742+03:00",
    "id": "853",
    "merchant_id": "1",
    "parts": [],
    "redirect": {},
    "requested_amount": "100.1200",
    "status": "new",
    "to_masked_pan": "411111XXXXXX1111"
  }
}
Поля выбранного запроса17
amountstring

Сумма выплаты; передайте amount или requested_amount.

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

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

customerstring

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

endpoint_idstring

ID платёжного эндпоинта; передайте endpoint_id или product_id.

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

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

notification_urlstring

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

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

Идентификатор выплаты в системе мерчанта.

payment_methodstring

Способ выплаты, настроенный для эндпоинта.

phone_numberstring

Телефон получателя для выплаты по номеру телефона.

receiver_account_numberstring

Номер банковского счёта получателя.

receiver_bank_namestring

Название банка получателя.

receiver_branch_codestring

Код отделения банка получателя.

receiver_countrystring

Страна получателя.

receiver_emailstring

Email получателя.

receiver_first_namestring

Имя получателя.

receiver_last_namestring

Фамилия получателя.

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

Подпись запроса; рассчитывается по правилам раздела о подписи запросов.

Описание и правила метода

Создаёт выплату по токену карты, PAN, номеру телефона (payment_method=spb для СБП) или банковским реквизитам. Доступные способы зависят от вашего endpoint.

Примеры выплат на карту, SEPA и FPS

Для этих сценариев передайте amount, currency, новый order, merchant_id, подключённый endpoint_id, customer, notification_url и signature, а также реквизиты из таблицы. Выберите соответствующий именованный пример запроса.

СпособВалютаpayment_methodРеквизиты для этого сценария
Карта (Host2Host)Валюта, доступная endpointНе передаётсяpan, receiver_first_name, receiver_last_name
SEPAEURsepareceiver_iban, receiver_first_name, receiver_last_name, receiver_country, receiver_city, receiver_address, receiver_postalcode
Faster Payments (Великобритания)GBPfpsreceiver_account_number, receiver_sort_code, receiver_first_name, receiver_last_name

В этих сценариях передавайте имена и адресные данные получателя латиницей. Для SEPA используйте код страны ISO 3166-1 alpha-2. Для FPS передавайте номер счёта и шестизначный sort code строками, сохраняя начальные нули. Это требования конкретных способов выплаты: поле, необязательное в общей схеме API, может требоваться подключённым способом.

status: "success" подтверждает создание выплаты, а не отправку средств. Проверяйте withdrawal_request.status через /withdrawal_request или webhook с проверенной подписью: done означает завершение, rejected - отклонение. Для выплат без карты, в том числе SEPA и FPS, to_masked_pan в ответе и masked_pan в webhook пустые.

В двухстадийном режиме сначала создайте выплату, затем вызовите /withdrawal/submit для обработки или /withdrawal/cancel для возврата зарезервированных средств.

В notification_url укажите адрес вашего webhook для уведомлений о выплате. Если ответ содержит withdrawal_request.redirect.url, перенаправьте клиента с указанными method и form_data.

Передавайте JSON в теле запроса (Content-Type: application/json). Рассчитывайте signature по общим правилам подписи для пути URL этого метода. Подписи в примерах — заполнители: замените реквизиты доступа и URL, укажите новый order для новой выплаты и пересчитайте подпись по окончательному телу запроса.

Все параметры и схемы

Свернуть схему

Тело запроса

application/json
  1. body

Создание запроса на выплату. Обязательные реквизиты получателя зависят от способа выплаты.

amount?|||

Сумма выплаты; передайте amount или requested_amount.

card_token?|

Токен сохранённой карты для оплаты или выплаты.

currency*string

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

custom_data?|

Данные мерчанта в виде JSON-объекта; не показываются клиенту.

customer?|

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

customer_card_id?||

Идентификатор сохранённой карты клиента.

customer_id?||

ID плательщика, присвоенный платёжной платформой.

customer_ip?||

IP-адрес клиента.

description?|

Описание или дополнительные сведения о платеже от мерчанта.

endpoint_id?||

ID платёжного эндпоинта; передайте endpoint_id или product_id.

expire_month?|

Месяц окончания действия карты строкой, например 12.

expire_year?|

Год окончания действия карты: две цифры, например 29.

first_name?|

Имя получателя.

language?string

Язык интерфейса для плательщика.

По умолчанию"ru"
last_name?|

Фамилия получателя.

merchant_id*|

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

notification_url?|

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

order*string

Идентификатор выплаты в системе мерчанта.

pan?|

Номер карты получателя для выплаты по номеру карты.

payment_method?|

Способ выплаты, настроенный для эндпоинта.

phone_number?|

Телефон получателя для выплаты по номеру телефона.

product_id?||

ID платёжного эндпоинта; передайте product_id или endpoint_id.

receiver_account_number?|

Номер банковского счёта получателя.

receiver_address?|

Адрес получателя, если требуется способом оплаты.

receiver_bank_bik?|

БИК банка получателя.

receiver_bank_id?||

Идентификатор банка получателя.

receiver_bank_name?|

Название банка получателя.

receiver_bank_name_internal?|

Название или код банка, согласованный для выбранного способа выплаты.

receiver_birthdate?|

Дата рождения получателя.

receiver_branch_code?|

Код отделения банка получателя.

receiver_branch_name?|

Название отделения банка получателя.

receiver_city?|

Город получателя.

receiver_company_name?|

Название компании получателя.

receiver_country?|

Страна получателя.

receiver_email?|

Email получателя.

receiver_first_name?|

Имя получателя.

receiver_iban?|

IBAN получателя для выплаты по IBAN.

receiver_id_number?|

Номер удостоверяющего личность документа получателя.

receiver_ifsc_code?|

IFSC-код банка получателя для платежей в Индии.

receiver_last_name?|

Фамилия получателя.

receiver_messenger?|

Контакт получателя в мессенджере, если требуется способом оплаты.

receiver_middle_name?|

Отчество получателя.

receiver_network?|

Сеть получателя, необходимая выбранному способу выплаты.

receiver_postalcode?|

Почтовый индекс получателя.

receiver_receive_asap?|

Запрос получения средств как можно скорее, если поддерживается способом оплаты.

receiver_receive_time?|

Предпочтительное время получения средств, если поддерживается.

receiver_sort_code?|

Sort code банка получателя для выплат в Великобритании.

receiver_state?|

Штат или область получателя.

receiver_tax_id?|

Налоговый идентификатор получателя.

receiver_username?|

Имя пользователя получателя для способов оплаты по логину.

receiver_verification_code?|

Код подтверждения получателя, если требуется способом оплаты.

recurrent_id?|

Идентификатор рекуррентного платежа, если используется для выплаты.

requested_amount?|

Запрошенная сумма выплаты; передайте amount или requested_amount.

security_question?|

Секретный вопрос для перевода без автоматического зачисления.

security_question_answer?|

Ответ на security_question.

sender_account_number?|

Номер банковского счёта отправителя.

sender_address?|

Адрес отправителя.

sender_birthdate?|

Дата рождения отправителя, если требуется способом оплаты.

sender_city?|

Город отправителя.

sender_country?|

Страна отправителя.

sender_first_name?|

Имя отправителя.

sender_id_number?|

Номер удостоверяющего личность документа отправителя.

sender_id_type?|

Тип удостоверяющего личность документа отправителя.

sender_last_name?|

Фамилия отправителя.

sender_postalcode?|

Почтовый индекс отправителя.

signature*string

Подпись запроса; рассчитывается по правилам раздела о подписи запросов.

source?|

Идентификатор источника платежа, согласованный для способа выплаты.

Тело ответа

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

application/json
  1. response

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

status*string

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

withdrawal_request*

Данные созданного запроса на выплату.