3.11. /api/v4/withdrawal-sbp

Введение

Выплата инициируется через запрос HTTPS POST на указанный ниже URL с использованием указанных параметров. Для аутентификации запроса используется OAuth RSA-SHA256. См. Статусы транзакций.

API URL

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

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

https://sandbox.connpay.com/paynet/api/v4/withdrawal-sbp/ENDPOINTID

https://gate.connpay.com/paynet/api/v4/withdrawal-sbp/ENDPOINTID

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

Note

Запрос должен иметь заголовок 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

merchant_data, alias bank_id

Дополнительные сведения о транзакции для Присоединяющейся Стороны, которые можно прикрепить к транзакции и передать обратно в ответе на запрос статуса или обратном вызове. Может содержать данные, которые будут полезны во внешней системе Присоединяющейся Стороны, например VIP клиент, телевизионная промо-кампания. Для СБП в этом параметре передаётся номер банка получателя из справочника, предоставляемого ConnPay по запросу.

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

ipaddress

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

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

purpose

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

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

receiver_first_name

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

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

receiver_last_name

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

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

receiver_country_code

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

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

receiver_state

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

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

receiver_city

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

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

receiver_zip_code

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

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

receiver_address1

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

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

receiver_email

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

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

order_desc

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

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

server_callback_url

URL-адрес, по которому будет отправлен обратный вызов с результатом транзакции.Присоединяющаяся сторона может использовать обратные вызовы для индивидуальной обработки завершения транзакции (например, для сбора данных о платежах в информационной системе Присоединяющейся стороны).Список параметров, включенных в обратный вызов, см. в разделе Обратного вызова Присоединяющейся cтороны.

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

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

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

Note

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

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

Описание

type

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

paynet-order-id

Номер заказа в системе gate.connpay.com.

merchant-order-id

Номер заказа в системе Присоединяющейся Стороны.

serial-number

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

error-message

Если статус error то этот параметр содержит причину отклонения или сведения об ошибке.

error-code

Код ошибки для статуса error.

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

POST /paynet/api/v4/withdrawal-sbp/39915 HTTP/1.1
Host: sandbox.connpay.com
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 для интеграционной среды в поле ниже. Конструктор запроса поддерживает ключ длиной до 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.