3.40. /api/v4/transfer-by-ref
Введение
Трансфер Deposit to card (D2C) - это тип перевода средств с банковского аккаунта Присоединяющейся Стороны (Депозит) на номер банковской карты Получателя (PAN) или токенизированный идентификатор карточных данных (Card Reference ID). Deposit to card инициируется через запрос HTTPS POST на указанный ниже URLs с использованием указанных параметров. Для аутентификации запроса используется OAuth RSA-SHA256.
API URL
Примечание
Интеграционная среда |
Производственная среда |
|---|---|
https://sandbox.sbctech.ru/paynet/api/v4/transfer-by-ref/ENDPOINTID |
https://gate.sbctech.ru/paynet/api/v4/transfer-by-ref/ENDPOINTID |
https://sandbox.sbctech.ru/paynet/api/v4/transfer-by-ref/group/ENDPOINTGROUPID |
https://gate.sbctech.ru/paynet/api/v4/transfer-by-ref/group/ENDPOINTGROUPID |
Параметры запроса
Примечание
Название параметра |
Описание |
Значение |
|---|---|---|
client_orderid |
Идентификационный номер транзакции, присовенный Присоединяющейся Стороной. |
Необходимость: ОбязательноТип: StringДлина: 128 |
login |
Логин Присоединяющейся Стороны. Должен быть использован как параметри oauth_consumer_key в авторизации OAuth и не должен быть включен в запрос как параметр login. |
Необходимость: ОбязательноТип: StringДлина: 20 |
destination-card-no |
Номер карты Получателя. Параметр является обязательным в случае присутствия destination-card-ref-id. Для сценариев выплат на карту внутри системы, данная карта будет расцениваться как целевая и все процессинговые лимиты, листы и Фрод очки применятся как к целевой карте. |
Необходимость: УсловноТип: StringДлина: 16-19 |
destination-card-ref-id |
Ссылочный идентификатор карты, полученный на шаге Регистрации Карты. Параметр является обязательным в случае присутствия destination-card-no. Для сценариев выплат на карту внутри системы, данная карта будет расцениваться как целевая и все процессинговые лимиты, листы и Фрод очки применятся как к целевой карте. |
Необходимость: УсловноТип: NumericДлина: 20 |
destination_expire_month |
Месяц истечения срока действия карты получателя. |
Необходимость: УсловноТип: StringДлина: 512 |
destination_expire_year |
Год истечения срока действия карты получателя. |
Необходимость: УсловноТип: StringДлина: 2-3 |
amount |
Сумма для перевода. Сумма должна быть указана в старших единицах с разделителем .. Например, 10.5 для USD означает 10 долларов США и 50 центов. |
Необходимость: ОбязательноТип: NumericДлина: 10 |
currency |
Валюта, в которой проводится операция. Примеры значений: USD для доллара США, EUR для европейского евро, RUB для российского рубля. |
Необходимость: ОбязательноТип: StringТип: 3 |
order_desc |
Описание заказа. |
Необходимость: ОбязательноТип: StringДлина: 64k |
receiver_identity_document_series |
Серия докумета, удостоверяющего личность Получателя. |
Необходимость: ОпциональноТип: StringДлина: 512 |
receiver_identity_document_number |
Номер докумета, удостоверяющего личность Получателя. |
Необходимость: ОпциональноТип: StringДлина: 512 |
receiver_identity_document_id |
Идентификационный номер документа, удостоверяющего личноть Получателя. Возможные значения: 21 для местного паспорта или 31 для международного. |
Необходимость: ОпциональноТип: StringДлина: 512 |
receiver_address1 |
Адрес Получателя. |
Необходимость: ОпциональноТип: StringДлина: 512 |
receiver_city |
Город Получателя. |
Необходимость: ОпциональноТип: StringДлина: 512 |
receiver_first_name |
Имя Получателя. |
Необходимость: ОбязательноТип: StringДлина: 128 |
receiver_middle_name |
Среднее имя/патроним Получателя. |
Необходимость: ОпциональноТип: StringДлина: 128 |
receiver_last_name |
Фамилия Получателя. |
Необходимость: ОбязательноТип: StringДлина: 128 |
receiver_phone |
Полный номер мобильного телефона Получателя, включая код страны. |
Необходимость: ОпциональноТип: StringДлина: 128 |
receiver_resident |
Является ли Получатель резидентом? |
Необходимость: ОпциональноТип: BooleanДлина: true/false |
ipaddress |
IP-адрес Плательщика. Включен для отслеживания мошеннических действий. |
Необходимость: ОпциональноТип: StringДлина: 45 |
first_name |
Имя Отправителя. |
Необходимость: ОпциональноТип: StringДлина: 128 |
middle_name |
Среднее имя/патроним Отправителя. |
Необходимость: ОпциональноТип: StringДлина: 128 |
last_name |
Фамилия Отправителя. |
Необходимость: ОпциональноТип: StringДлина: 128 |
ssn |
Последние четыре цифры номера социального страхования Отправителя. |
Необходимость: ОпциональноТип: NumericДлина: 32 |
birthday |
Дата рождения Отправителя в формате MMDDYY. |
Необходимость: ОпциональноТип: NumericДлина: 8 |
address1 |
Адрес Плательщика, строка 1. (Обратите внимание, что в некоторых случаях невозможно отправить адрес длиной более 50 символов. Для получения более подробной информации обратитесь к вашему менеджеру.) |
Необходимость: ОпциональноТип: StringДлина: 256 |
city |
Город Отправителя. |
Необходимость: ОпциональноТип: StringДлина: 50 |
state |
Регион отправителя. Список допустимых кодов регионов см. в Приложении A. Обязателен для США, Канады и Австралии. |
Необходимость: ОпциональноТип: StringДлина: 2-3 |
zip_code |
Почтовый индекс Отправителя. |
Необходимость: ОпциональноТип: StringДлина: 10 |
receiver_zip_code |
Почтовый индекс Получателя. |
Необходимость: ОпциональноТип: StringДлина: 10 |
country |
Страна отправителя (двухбуквенный код страны). Список допустимых кодов стран см. в приложении B. |
Необходимость: ОпциональноТип: StringДлина: 2 |
receiver_country_code |
Страна получателя (двухбуквенный код страны). Список допустимых кодов стран см. в Приложении B. |
Необходимость: ОпциональноТип: StringДлина: 2 |
phone |
Полный международный номер телефона Отправителя, включая код страны. |
Необходимость: ОпциональноТип: StringДлина: 15 |
cell_phone |
Полный номер мобильного телефона Отправителя, включая код страны. |
Необходимость: ОпциональноТип: StringДлина: 15 |
Электронный адрес Отправителя. |
Необходимость: ОпциональноТип: StringДлина: 50 |
|
purpose |
Куда совершается платёж. Может быть полезно для Присоединяющихся Сторон, позволяющих своим клиентам совершать трансфер с кредитной карты на какой-либо тип аккаунта клиента, например, игры или аккаунт мобильного телефона. Например: +9999999999; mail@example.com и т.д. Данный параметр может быть использован в целях отслеживания мошеннических действий. |
Необходимость: ОпциональноТип: 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, на который держатель карты будет перенаправлен после завершения транзакции. Перенаправление выполняется независимо от одобрения или отклонения транзакции. Подробнее см. в статусах. |
Необходимость: ОпциональноТип: StringДлина: 250 |
redirect_success_url |
URL-адрес, на который будет перенаправлен Плательщик после завершения транзакции. Перенаправление осуществляется только в случае получения транзакцией статуса успешно |
Необходимость: ОпциональноТип: StringДлина: 1024 |
redirect_fail_url |
URL-адрес, на который будет перенаправлен Плательщик после завершения транзакции. Перенаправление осуществляется только в случае получения транзакцией статуса неуспешно или отфильтровано |
Необходимость: ОпциональноТип: StringДлина: 1024 |
order_desc |
Любая дополнительная информация о транзакции, которая может быть полезна во внешних системах Присоединяющейся стороны, например VIP клиент, лид промокампании на ТВ. |
Необходимость: ОпциональноТип: StringДлина: 64k |
Параметры запроса страхования
Примечание
Название параметра |
Описание |
Значение |
|---|---|---|
insurance_amount |
Сумма к страхованию. Сумма должна быть указана в минимальных единицах с . разделителем. Например, 100.5 в RUB означает 100 российских рублей и 50 копеек. |
Тип: NumericДлина: 10 |
insured_person_first_name |
Имя страхователя |
Тип: StringДлина: 256 |
insured_person_last_name |
Фамилия страхователя |
Тип: StringДлина: 256 |
insured_person_middle_name |
Отчество страхователя |
Тип: StringДлина: 256 |
insured_person_birthday |
Дата рождения страхователя |
Тип: StringДлина: 256 |
insured_person_document_series |
Серия документа страхователя |
Тип: StringДлина: 256 |
insured_person_document_number |
Номер документа страхователя |
Тип: StringДлина: 256 |
insured_person_document_issue_date |
Дата выдачи документа страхователя |
Тип: StringДлина: 256 |
insured_person_document_issuer_name |
Кем выдан документ страхователя |
Тип: StringДлина: 256 |
insured_person_document_issuer_code |
Код подразделения отделения, выдавшего документ страхователя |
Тип: StringДлина: 256 |
insured_person_registration_address |
Адрес регистрации страхователя |
Тип: StringДлина: 256 |
insured_person_phone |
Телефон страхователя |
Тип: StringДлина: 256 |
insured_person_email |
Электронная почта страхователя |
Тип: StringДлина: 256 |
card_insurance_agreement_number |
Номер договора |
Тип: StringДлина: 256 |
card_insurance_agreement_sell_date |
Дата продажи |
Тип: StringДлина: 256 |
card_insurance_agreement_start_date |
Дата начала договора |
Тип: StringДлина: 256 |
card_insurance_agreement_end_date |
Дата окончания договора |
Тип: StringДлина: 256 |
card_insurance_agreement_amount |
Страховая сумма |
Тип: StringДлина: 256 |
card_insurance_agreement_bonus |
Страховая премия |
Тип: StringДлина: 256 |
Параметры ответа
Примечание
Параметр ответа |
Описание |
|---|---|
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/transfer-by-ref/39915 HTTP/1.1
Host: sandbox.sbctech.ru
User-Agent: curl/7.83.0
Accept: */*
Authorization: OAuth oauth_consumer_key="TestMerchant", oauth_nonce="w1rmMzx2Sq2k5Hi7KAZmdhHHD6BygKcE", oauth_signature="rXn0DwLOlaV%2Ft1q3s%2FJdLybJTdxKKN0XeFtyVNZ0U5bG0Qfcc6iyHqQG66Ohb852CYKjhrxvG3wf33RlIQdO9f23OSg91JkdrUgl8QDrMqntC5myWGR1woums%2BMjpV821fAY8AS%2BBByNUKOuC1mwFgLYwr5YinbhjDa6P8aEdHgbf%2FVw5vg9OqjwKxJhSXPGB5mIg7T9gTNXF4n4YTUJA0l%2BWyeGcIjuTSsiCUnbsrNjBOGYc0PlUSuHirwJ0NiKVdHk3qaZrGaEw8SZEq%2F8x0naoaaOXUq%2FkpqPfTJT%2FjTl%2FbGyX1x%2FwTl6EYgIElavHYj2psIGmFnyUk%2FYnaGZHikE00rSf4IkG5Ye2M4hyl7lKQOCXMZMvvGtfvLm0RsAod8o30KuDD5Tw%2BRmDiQNCqN8GeZawHsZipgwZuy2IdZ3sHiot3U6NEt1OVH9TsWDU%2FstfBJOWBBStTRTTh4hn3Zvf5jLuTfTcepKz4CIgdQGGmMmRSz6dcBnkYJaa7VRTh27dz%2BnEuC0laEYAytVuzQA43MvUXNLmAuh9JlmqQquAZwB%2BRFfLPgOj%2FVVsFsqX35UWBYQtWlWdEVc3jWBVxCjEW0s8cAcowlb4R2g4V48HC2Rz3ggfINzP9%2FWtX1nkNnIlzQAeYbMREguYqFrK%2BYK6Lqyu%2BM1jeo6j9CWhhk%3D", oauth_signature_method="RSA-SHA256", oauth_timestamp="1697442690", oauth_version="1.0"
Content-Length: 805
Content-Type: application/x-www-form-urlencoded
Connection: close
address1=10020Main%20st
&amount=100
&birthday=19820115
&cell_phone=%2B19023384543
&city=Seattle
&client_orderid=34T43R77N
&country=US
¤cy=USD
&destination-card-ref-id=1461819
&card-exp-month=07
&card-exp-year=2028
&email=john.smith%40gmail.com
&first_name=John
&ipaddress=65.153.12.232
&last_name=Smith
&merchant_data=VIP%20customer
&middle_name=M
&order_desc=Test%20Order%20Описание
&phone=%2B12063582043
&purpose=user_account1
&receiver_address1=Red%20Sq%2C%201a
&receiver_city=Moscow
&receiver_first_name=Jane
&receiver_identity_document_id=21
&receiver_identity_document_number=222222
&receiver_identity_document_series=1111
&receiver_last_name=Doe
&receiver_middle_name=L
&receiver_phone=%2B79031110022
&receiver_resident=true
&redirect_url=http%3A%2F%2Fwww.example.com%2F
&server_callback_url=https%3A%2F%2Fhttpstat.us%2F200
&ssn=1267&state=WA
&zip_code=98102
Пример успешного ответа
HTTP/1.1 200
Server: server
Date: Mon, 16 Oct 2023 13:20:25 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: 145
type=async-response
&serial-number=00000000-0000-0000-0000-000002ee3a57
&merchant-order-id=34T43R77N
&paynet-order-id=7234671
&end-point-id=39915
Пример неуспешного ответа
HTTP/1.1 200
Server: server
Date: Mon, 16 Oct 2023 07:54:11 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: 162
type=validation-error
&serial-number=00000000-0000-0000-0000-000002ee3a4f
&merchant-order-id=34T43R77N
&error-message=Rebill+1461819+was+not+found
&error-code=104
Open API Collection
Open this method in the OpenAPI Reference
View in OpenAPIКоллекция Postman
Конструктор запросов
Введите приватный ключ, содержащийся в PKCS#1. См. RSA-SHA256.
Debug form
Use either destination-card-no or destination-card-ref-id
| 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 |
|---|
| Base64 Encoded Signature |
|---|
|