3.23. /api/v4/withdrawal-sbp

Введение

Чтобы выполнить выплату, отправьте запрос HTTPS POST, используя указанные ниже URL-адреса и параметры. Для аутентификации используйте OAuth RSA-SHA256.

API URL

Примечание

Путь API URL не должен быть задан фиксированным значением, т.к. он может быть изменён позднее.

Интеграционная среда

Производственная среда

https://sandbox.payneteasy.ru/paynet/api/v4/withdrawal-sbp/ENDPOINTID

https://gate.payneteasy.ru/paynet/api/v4/withdrawal-sbp/ENDPOINTID

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

Примечание

Запрос должен иметь content-type=application/x-www-form-urlencoded и Заголовки авторизации.

Название параметра

Описание

Значение

client_orderid

Идентификатор заказа, присвоенный Присоединяющейся Стороной.

Необходимость: Обязательно
Тип: String
Длина: 128

amount

Сумма к оплате. Сумма должна быть указана в максимальных единицах с «.» разделителем. Например, 100.5 в RUB означает 100 российских рублей и 50 копеек.

Необходимость: Обязательно
Тип: Numeric
Длина: 10

currency

Валюта, в которой проводится операция (трёхбуквенные алфавитные коды валют). Примеры значений: USD для доллара США, EUR для европейского евро, RUB для российского рубля.

Необходимость: Обязательно
Тип: String
Длина: 3

receiver_phone

Номер телефона Получателя, также можно отправить как phone.

Необходимость: Обязательно
Тип: Numeric
Длина: 128

order_desc

Любая дополнительная информация об этой транзакции, которая может быть полезна во внешних системах Присоединяющейся стороны, например VIP customer, TV promo campaign lead. Будет возвращена в ответе Status и Callback Присоединяющейся стороны. Для SBP этот параметр используется для передачи кода банка Получателя. За подробностями обратитесь в Payneteasy.

Необходимость: Обязательно
Тип: String
Длина: 64k

bank_id

Любая дополнительная информация для этой транзакции, которая может быть полезна во внешних системах Присоединяющейся стороны, например VIP customer, TV promo campaign lead. Возвращается в ответе Status и Callback Присоединяющейся стороны. Для SBP этот параметр используется для передачи кода банка получателя. Также может быть отправлен как merchant_data. Для получения подробностей обратитесь в Payneteasy.

Необходимость: Обязательно
Тип: String
Длина: 64k

ipaddress

IP-адрес получателя (IPv4 или IPv6)

Необходимость: Условно
Тип: String
Длина: 7-45

purpose

Назначение вывода средств.

Необходимость: Условно
Тип: String
Длина: 128

receiver_first_name

Имя Получателя, так же можно отправить как first_name.

Необходимость: Условно
Тип: String
Длина: 128

receiver_last_name

Фамилия Получателя, так же можно отправить как last_name.

Необходимость: Условно
Тип: String
Длина: 128

receiver_country_code

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

Необходимость: Условно
Тип: String
Длина: 3

receiver_state

Штат Получателя, обязательный параметр для стран, которые делятся на штаты (США, Канада, Австралия), также можно отправить как state.

Необходимость: Условно
Тип: String
Длина: 4

receiver_city

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

Необходимость: Условно
Тип: String
Длина: 128

receiver_zip_code

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

Необходимость: Условно
Тип: Numeric
Длина: 32

receiver_address1

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

Необходимость: Условно
Тип: String
Длина: 256

receiver_email

Адрес электронной почты Получателя, также можно отправить как email.

Необходимость: Условно
Тип: String
Длина: 128

order_desc

Описание заказа.

Необходимость: Опционально
Тип: String
Длина: 64

server_callback_url

URL-адрес server_callback_url, по которому будет отправлен обратный вызов с результатом транзакции. Присоединяющаяся сторона может использовать обратные вызовы для индивидуальной обработки завершения транзакции (например, для сбора данных о платежах в информационной системе Присоединяющейся стороны). Список параметров, включенных в обратный вызов, см. в разделе Обратного вызова Присоединяющейся стороны. Данный параметр может быть передан вместо notify_url. При использовании server_callback_url платежный шлюз отправляет callback-уведомление только при получении финального статуса исходной транзакции. При использовании notify_url платежный шлюз отправляет уведомление при получении финального статуса и продолжает отправлять уведомления о всех последующих изменениях (возвраты, chargeback и др.).
Необходимость: Опционально
Тип: String
Длина: 128

notify_url

URL-адрес notify_url, по которому будет отправлен обратный вызов с результатом транзакции. Присоединяющаяся сторона может использовать обратные вызовы для индивидуальной обработки завершения транзакции (например, для сбора данных о платежах в информационной системе Присоединяющейся стороны). Список параметров, включенных в обратный вызов, см. в разделе Обратного вызова Присоединяющейся стороны. Данный параметр может быть передан вместо server_callback_url. При использовании notify_url платежный шлюз отправляет уведомление при получении финального статуса и продолжает отправлять уведомления о всех последующих изменениях (возвраты, chargeback и др.). При использовании server_callback_url платежный шлюз отправляет callback-уведомление только при получении финального статуса исходной транзакции.
Необходимость: Опционально
Тип: String
Длина: 128

* Спросите менеджера службы поддержки если условные параметры обязательны для интеграции

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

Примечание

Ответ имеет заголовок Content-Type: text/html;charset=utf-8. Все поля имеют кодировку x-www-form-urlencoded, с символом (0xA) в конце значения каждого параметра.

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

Описание

type

Тип ответа. Может принимать такие значения как: async-response, validation-error, error и т.д. Если тип ответа validation-error или error, параметры error-message и error-code будут содержать детали ошибки.

paynet-order-id

Идентификатор заказа, присвоенный Payneteasy.

merchant-order-id

Идентификатор заказа Присоединяющейся Стороны.

serial-number

Уникальный номер, присваиваемый сервером Payneteasy конкретному запросу от Присоединяющейся стороны.

error-message

Для транзакций в статусе error этот параметр будет содержать причину отклонения или сведения об ошибке.

error-code

Код ошибки для транзакций в статусе error.

Пример запроса

POST /paynet/api/v4/withdrawal-sbp/39915 HTTP/1.1
Host: sandbox.payneteasy.ru
User-Agent: curl/7.83.0
Accept: */*
Authorization: OAuth oauth_consumer_key="TestMerchant", oauth_nonce="b5E31Tw6SVjauE29uOf2jOLnuUSXmVdE", oauth_signature="WrW79JHNUVwDRhCGWQYgaN6xmJXpQxy8XSNyCOL6b2Wyf7V5BWGMe2TZa1bjC9ZeO0Q3FcQxeGGHv0%2F7hsMAsJNQEET321VNsbDwao2Ep%2Bp7eoYiGYrVveSrSW1diCrBf3AJYJZM0PTJ67Sl8XyeTVBHT4kpC5qBu3xDQ3aFfKnmRTmn9fiVsYsYu3DQrsHM1K9uAoltGt3Muz0kCDZ3MWNGrNqtdpWuar8HRQD3kckcPjuN9D6VrSuQm9eLx27G%2FvkiP%2BZ44i8ghIUp61NWSrJ4Ky69JiZ%2FoaVVmUTEaanc%2F%2B%2BQT6jBwWy%2Bb%2FTLUrxtSakeNfcjn1JVwRf4aCX2fhyG5ozH%2BjiXF6eRb83WVqBUAwykSq35pLU3Vmua3pKMKAJK1ZRDZdjGrT50KJg5tBniC4JFzdQqjQf%2FhFnDYodfIK3S2qZo%2FD3Bmlya46iEcK6SAQdNBBQue3E5Qi8FEHYrY1o7K8wDyzT1QzqqHF%2BQdmXcElSGu9ge0Y655%2BbGtXhnsUWnKEO0NGqErvAwzm7yUg0e5QWHVf505aE7pr5K4z%2Fzj7AvkuD7R1savqam%2BnnuSfq1E%2BnnnN7mTcC0g18Sr38vdTshcGq99YW3xWKc%2FpuooZYdYa5A6u46o%2BREZSTCD2XexcV49%2F9eVn3xdoTXYq4NISJSY8U7ThKnr0g%3D", oauth_signature_method="RSA-SHA256", oauth_timestamp="1677831012", oauth_version="1.0"
Content-Length: 150
Content-Type: application/x-www-form-urlencoded
Connection: close

amount: 100.00
&client_orderid=123456
&currency=RUB
&merchant_data=100000000111
&order_desc=Test Order Описание
&phone=89031234567
&ipaddress=127.0.0.1
&server_callback_url=https://httpstat.us/200

Пример успешного ответа

HTTP/1.1 200
Server: server
Date: Fri, 03 Mar 2023 08:10:34 GMT
Content-Type: text/html;charset=utf-8
Connection: close
Vary: Accept-Encoding
X-XSS-Protection: 1
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000
Content-Language: en-US
Strict-Transport-Security: max-age=31536000
Content-Length: 137

type=async-response
&serial-number=00000000-0000-0000-0000-000002e2c322
&merchant-order-id=1
&paynet-order-id=6982864
&end-point-id=39915

Пример неуспешного ответа

HTTP/1.1 403 Forbidden
Server: server
Date: Thu, 25 Aug 2022 06:50:16 GMT
Content-Type: text/html
Content-Length: 735
Connection: close
X-XSS-Protection: 1
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <title>403</title>

<style type="text/css">
body {
font-family: Arial, sans-serif;
font-size: 130%;
background-color: #eee;
}

p {
margin: 10em auto 0;
width: 500px;
border: 1px solid gray;
text-align: center;
vertical-align: middle;
padding: 40px 20px;
background-color: #fff;
-webkit-border-radius: 20px;
-moz-border-radius: 20px;
border-radius: 20px;
}
</style>
</head>

<body>
<p>Access is denied</p>
</body>
</html>

Коллекция Postman

Конструктор запросов

Вставьте приватный ключ PKCS#1 PEM для среды sandbox в поле ниже. Конструктор запросов поддерживает длину ключа до 4096.

Debug form
URL
parameters
login

login should be used as Consumer Public for OAuth

Normalized parameters string to sign, according to OAuth 1.0a rules
POST body parameters to submit
OAuth 1.0a headers to submit.
HEX Encoded Signature
* HEX encoded string is for debug purposes only. You shouldn't send this string to the server neither in HEX nor in Encoded HEX representation.
Base64 Encoded Signature
* Binary RSA-SHA256 signature directly encoded in base64 should be sent to the server.