3.35. /api/v4/payout-by-ref/

Введение

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

API URL

Примечание

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

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

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

https://sandbox.sbctech.ru/paynet/api/v4/payout-by-ref/ENDPOINTID

https://gate.sbctech.ru/paynet/api/v4/payout-by-ref/ENDPOINTID

https://sandbox.sbctech.ru/paynet/api/v4/payout-by-ref/group/ENDPOINTGROUPID

https://gate.sbctech.ru/paynet/api/v4/payout-by-ref/group/ENDPOINTGROUPID

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

Примечание

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

Примечание

Ask Support Менеджер if Conditional fields are Обязательный for integration.

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

Описание

Значение

client_orderid

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

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

amount

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

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

currency

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

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

destination-card-ref-id

Идентификатор ссылки на карту назначения, полученный на этапе регистрации карты. В сценарии оплаты на карту внутри системы эта карта считается картой назначения, и к ней применяются все лимиты обработки, списки и скоринг мошенничества.

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

order_desc

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

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

ipaddress

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

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

purpose

Назначение Payout.

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

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

redirect_url

URL, на который Получатель перенаправляется после завершения транзакции. Обратите внимание: перенаправление выполняется в любом случае, независимо от того, имеет ли транзакция статус approved, declined или любой другой финальный статус.
Не следует использовать параметры, отправленные вместе с HTTP-запросом перенаправления, для обработки статуса транзакции. Вместо этого необходимо использовать server_callback_url или запрос статуса. Если транзакция не предполагает возврата «плательщика, параметр может быть использован со значением https://doc.sbctech.ru/. Допускается использование либо параметра redirect_url, либо комбинации параметров redirect_success_url и redirect_success_url, но не и того, и другого одновременно.
Необходимость: Опционально
Тип: String
Длина: 128

redirect_success_url

URL, на который Получатель перенаправляется, когда статус транзакции — approved (см. список статусов).
Не следует использовать параметры, отправленные вместе с HTTP-запросом перенаправления, для обработки статуса транзакции. Вместо этого необходимо использовать server_callback_url или запрос статуса. Если транзакция не предполагает возврата плательщика, параметр может быть использован со значением http://https://doc.sbctech.ru/. Допускается использование либо параметра redirect_url, либо комбинации параметров redirect_success_url и redirect_success_url, но не и того, и другого одновременно.
Необходимость: Опционально
Тип: String
Длина: 1024

redirect_fail_url

URL, на который Получатель перенаправляется, когда статус транзакции не approved (см. список статусов).
Не следует использовать параметры, отправленные вместе с HTTP-запросом перенаправления, для обработки статуса транзакции.Вместо этого необходимо использовать server_callback_url или запрос статуса. Если транзакция не предполагает возврата плательщика, параметр может быть использован со значением http://https://doc.sbctech.ru/. Допускается использование либо параметра redirect_url, либо комбинации параметров redirect_success_url и redirect_success_url, но не и того, и другого одновременно.
Необходимость: Опционально
Тип: String
Длина: 1024

account_number

Номер банковского счета

Необходимость: Условно
Тип: String
Length: 24

account_name

Банковский счет

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

ewallet_type

Тип e-wallet.

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

ewallet_wallet

Идентификатор e-wallet.

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

crypto_wallet_address

Адрес криптокошелька.

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

bank_name

Имя банка.

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

bank_branch

Имя банковского отделения.

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

bank_code

Код банка.

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

bank_city

Город банка.

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

bank_address1

Адрес банка.

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

bank_zip_code

Почтовый индекс банка.

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

bank_province

Штат банка.

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

bank_area

Область банка

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

routing_number

Номер маршрута, используется для определения отдела банка в Китае.

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

legal_person_name

Имя на юридическом документе.

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

legal_person_document_number

Номер юридического документа

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

receiver_first_name

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

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

receiver_last_name

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

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

receiver_birthday

Дата рождения получателя, так-же можно отправить как birthday.

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

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_phone

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

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

receiver_email

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

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

receiver_identity_document_id

Идентификатор удостоверения личности получателя, так-же можно отправитькак identity_document_id.

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

receiver_identity_document_number

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

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

order_desc

Любая дополнительная информация о транзакции, которая может быть полезна во внешних системах Присоединяющейся стороны, например VIP клиент, лид промокампании на ТВ.

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

bank_bic

BIC-код банка получателя

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

receiver_inn

Уникальный идентификатор для налогообложения получателя

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

customer_level

Уровень клиента в системе CMS.

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

customer_id

Идентификатор клиента в системе CMS. Параметр становится обязательным, если включена система CMS в режиме определения клиента Платёжным шлюзом.

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

merchant_customer_identifier

Идентификатор клиента-продавца в системе CMS. Параметр становится обязательным, если включена система CMS в режиме CRM.

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

card-ref-id

Ссылочный Идентификатор Платежа для последующих списаний. Может быть создан с помощью запроса токенизации v4 или запроса токенизации v2.

Необходимость: Условно
Тип: Long

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

Примечание

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

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

Описание

type

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

paynet-order-id

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

merchant-order-id

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

serial-number

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

error-message

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

error-code

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

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

POST /paynet/api/v4/payout-by-ref/121799 HTTP/1.1
Host: sandbox.sbctech.ru
User-Agent: curl/8.4.0
Accept: */*
Authorization: OAuth oauth_consumer_key="ErwinTestMerchant", oauth_nonce="8qsDrhiDelGHlxY01aDjCh44u7isXJjL", oauth_signature="WpbNcRxNSDW%2BdJgftRc%2BAN0oe8KAP4CNpUkxjxStFYZEU9Vo%2F7uk9dSKEG%2B76C%2FdlzemILaRmikQqZg93ZK1cibT8zy97uYVDdWVmY2obDSOVb8UipGjt2KFUyKr4awHW9xH%2BTzbR%2FMXwm3y%2Fx2RotElZWxumsL37P5Q%2BCquoAGcO6jjkvkkSH9P4lBYKSmwhfqD4O%2Br8FB3exzNzl2FFBTwLp4ch2G9Cis5a0CkVrpjDB%2FbbbrOutbNPZYhtH45rNz91QAbpvNJ91XjVwxiCm4lCldIO66gF73GQNSFKVG1mstc%2B941Dj1bVhXWQQW%2F9TyPiXfWGP8szg18rwsTHbj1zKCRIaw%2FqVbrOBPhbo%2BJjGMZp2hB1ei0%2FUPIkjeIZkWD2NgJRQEniJfjU7AlILs91augm50fPwWR5JiOuE5uSvwM6VWgXMpYe4USb819ZAK%2BFYTRI%2BenrycFZHmY%2BafOlaOHFtpnbn8FsrzzNbOvGXmXCt2xXAQTaORqMeLRRtkD3DY4rJa8qeO0zYnmT4ZhKsFZjImDdonA3WTG8G7awP9W0RKhHlUGwGaugRWbdPjSbGMhAzs58Y9ptvExr6GwAHhJU1RbzfWL4wCzVbH8%2BAC6I0OrkB13tw2eXP4yIPtEC7iGu%2FkElGz4OrwFEU6cUcEDpeEOmA2%2Fe%2BZFK0w%3D", oauth_signature_method="RSA-SHA256", oauth_timestamp="1721975900", oauth_version="1.0"
Content-Length: 74
Content-Type: application/x-www-form-urlencoded
Connection: keep-alive

amount=10.42
&client_orderid=1
&currency=USD
&destination-card-ref-id=1461897

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

HTTP/1.1 200
Server: server
Date: Fri, 26 Jul 2024 06:39:23 GMT
Content-Type: text/html;charset=utf-8
Connection: keep-alive
Keep-Alive: timeout=60
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: 138

type=async-response
&serial-number=00000000-0000-0000-0000-000002f36e41
&merchant-order-id=1
&paynet-order-id=7363634
&end-point-id=121799

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

HTTP/1.1 200
Server: server
Date: Fri, 26 Jul 2024 06:42:43 GMT
Content-Type: text/html;charset=utf-8
Connection: keep-alive
Keep-Alive: timeout=60
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: 170

type=validation-error
&serial-number=00000000-0000-0000-0000-000002f36e42
&error-message=Project+with+currency+USD+does+not+apply+request+with+currency+AZN
&error-code=16

Коллекция 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.