3.21. /api/v2/card-insurance-document

Формирование запроса

После успешного проведения транзакции, необходимо сформировать запрос для скачивания полиса страхования с данными клиента в формате PDF.
Запрос инициируется на указанный ниже URL. Для подписания запроса используется OAuth HMAC-SHA1 авторизация.

API URLs

Интеграция

Боевая Среда

https://sandbox.sbctech.ru/paynet/api/v2/card-insurance-document/ENDPOINTID

https://gate.sbctech.ru/paynet/api/v2/card-insurance-document/ENDPOINTID

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

Имя параметра запроса

Описание

client-order-id

Номер клиента в системе

order_id

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

endpoint_id

Номер терминала в системе, по которому совершалась операция

consumer_key

Логин торговца в системе

consumer_secret

Контрольный ключ торговца

Для формирования запроса можно воспользоваться инструментом отладки (ссылка на отладку). Формировать запрос требуется для родительской транзакции.

Note

Для этого необходимо подставить имеющиеся данные для доступа к системе: endpoint_id, consumer_key, consumer_secret и заполнить остальные параметры запроса.

HTTP method
URL
parameters
version
consumer key
consumer secret
timestamp
nonce
signature method

normalized parameters
signature base string
signature
authorization header
Curl
              
            

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

Имя параметра запроса

Описание

request_serial_number

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

document_path

Ссылка для скачивания документа

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

{
  "request_serial_number": "00000000-0000-0000-0000-000001fd4472",
  "document_path": "https://sandbox.sbctech.ru/paynet/api/v2/download/card-ins-95255434629222889419"
}

Note

Полученную в ответе ссылку необходимо отобразить в браузере клиента.

Warning

Файл доступен только для одной загрузки.

Передача полей по API

Существует возможность передавать значения полей по API для предварительного заполнения формы страхования.
Параметры запроса

Имя параметра

Описание

Свойства

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

Параметры платежной формы

Имя параметра

Описание

Свойства

client_orderid

Идентификатор заказа в системе торговца.

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

order_desc

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

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

first_name

Имя клиента.

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

last_name

Фамилия клиента.

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

ssn

Последние четыре цифры номера социального страхования клиента.

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

birthday

Дата рождения клиента в формате ГГГГMMДД.

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

address1

Адрес клиента срока 1.

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

city

Город клиента.

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

state

Штат покупателя (Двухбуквенные коды штатов). Смотри country_state_codes список кодов штатов. Обязательно для США, Канады и Австралии.

Необходимость: Зависит от Банк-Эквайера
Тип: String
Длинна: 2

zip_code

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

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

country

Страна клиента (Двухбуквенные коды стран). Смотри country_state_codes список кодов стран.

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

phone

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

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

cell_phone

Полный номер мобильного телефона клиента, включая код страны.

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

email

Адрес электронной почты клиента.

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

purpose

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

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

amount

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

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

insurance_amount

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

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

currency

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

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

ipaddress

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

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

site_url

URL-адрес сайта, с которого выполнен запрос.

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

control

Контрольная сумма. Представляет собой SHA-1 свёртку от конкатенации следующих параметров: ENDPOINTID/GROUPID + client_orderid + amount (в копейках) + email + merchant-control.

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

redirect_url

URL-адрес, на который будет перенаправлен держатель карты после завершения транзакции. Держатель карты будет перенаправлен в любом случае, независимо от того, будет ли транзакция одобрена или отклонена. Не следует использовать этот параметр для получения результатов со шлюза SBC , так как все параметры проходят через браузер клиента и могут быть потеряны во время передачи. Для доставки корректного результата платежа используется server_callback_url

Необходимость: Обязательно, если отсутствуют оба параметра redirect_success_url и redirect_fail_url
Тип: String
Длинна: 1024

redirect_success_url

URL-адрес, на который будет перенаправлен держатель карты после завершения транзакции. Держатель карты будет перенаправлен в случае, если транзакция одобрена. Не следует использовать этот параметр для получения результатов со шлюза SBC , так как все параметры проходят через браузер клиента и могут быть потеряны во время передачи. Для доставки корректного результата платежа используется server_callback_url

Необходимость: Обязательно, если отсутствует параметр redirect_url
Тип: String
Длинна: 1024

redirect_fail_url

URL-адрес, на который будет перенаправлен держатель карты после завершения транзакции. Держатель карты будет перенаправлен в случае, если транзакция отклонена или отфильтрована. Не следует использовать этот параметр для получения результатов со шлюза SBC , так как все параметры проходят через браузер клиента и могут быть потеряны во время передачи. Для доставки корректного результата платежа используется server_callback_url

Необходимость: Обязательно, если отсутствует параметр redirect_url
Тип: String
Длинна: 1024

server_callback_url

URL-адрес, по которому будет отправлен результат транзакции. Торговец может использовать этот URL для индивидуальной обработки завершения транзакции, например, для сбора данных о продажах в базе данных. Больше информации: Connecting Party Callbacks

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

preferred_language

Двубуквенный код языка лиента, используется для мультиязычных платежных форм

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

merchant_form_data

Параметры, отправленные в merchant_form_data, создают на платежной форме макросы с теми же именами и переданными значениями, которые можно затем использовать для изменения логики работы формы или отображения дополнительных данных (например, переключение между светлым и темным режимом). Значение - строка с параметрами, разделенными символом &, закодированная методом percent URL encode, пример: значение :ex:testparam%3Dtest1%26mynewparam%3Dtest2 будет преобразовано в макросы на форме: :ex:$MFD_testparam = test1 и :ex:$MFD_mynewparam = test2. В названиях параметров допускаются символы [a-zA-Z0-9], в значениях допускаются символы [a-zA-Z0-9], контрольные символы [=&], максимальный размер 2MB. Например, этот параметр можно использовать для отображения формы оплаты в светлом/темном режиме в зависимости от значения, переданного соединяющейся стороной (например, передайте в запросе merchant_form_data=theme%3Ddark, а заполнитель макроса $MFD_theme в форме оплаты будет изменен на темный.

Необходимость: Опционально
Тип: String
Длинна: 128
* Эквайер может переопределить обязательность некоторых полей, чтобы они стали обязательными вместо опциональных.
* Ведущий и замыкающий пробельные символы во входных параметрах будут отсечены.

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

client_orderid=902B4FF5
&order_desc=Test Order Description
&first_name=John
&last_name=Smith
&ssn=1267
&birthday=19820115
&address1=100 Main st
&city=Seattle
&state=WA
&zip_code=98102
&country=US
&phone=+12063582043
&cell_phone=+19023384543
&amount=10.42
&insurance_amount=10
&email=john.smith@gmail.com
&currency=AED
&ipaddress=65.153.12.232
&site_url=www.google.com
&purpose=user_account1
&redirect_url=https://doc.sbctech.ru//doc/dummy.htm
&server_callback_url=https://httpstat.us/200
&merchant_data=VIP customer
&merchant_form_data=testparam%3Dtest1%26mynewparam%3Dtest2
&insured_person_first_name=John
&insured_person_last_name=Doe
&insured_person_middle_name=J
&insured_person_birthday=19820115
&insured_person_document_series=4111
&insured_person_document_number=562297
&insured_person_document_issue_date=19970117
&insured_person_document_issuer_name=First document department
&insured_person_registration_address=Seattle 100 Main st
&insured_person_phone=+12063582043
&insured_person_email=john.smith@gmail.com
&card_insurance_agreement_number=210H3FIM2426726391
&card_insurance_agreement_sell_date=20210115
&card_insurance_agreement_start_date=20210116
&card_insurance_agreement_end_date=20250115
&card_insurance_agreement_amount=20000
&card_insurance_agreement_bonus=4000
&control=c1ac1d532c96ddde35ad87be8b80a3d5aa0f2f48

Success Response Example

Fail Response Example

Postman Collection

Request Builder

Отладка платежной формы

Также возможен сценарий когда управление процессом списания страховой суммы передаётся на сторону мерчанта и осуществляется без отображения информации на платёжной форме через рекуррентный запрос с использованием card-ref-id карты.

Отладка рекуррентного запроса

Страхование при переводе средств

Для осуществления операции страхования при переводе средств на предоставленном End point должно быть разрешено проведение соответствующей операции, помимо этого в самом запросе обязательно нужно указать параметр insurance_amount. Обратите внимание, что страховой полис при этом не формируется и не показывается: при получении запроса на перевод средств операция сразу начинает обрабатываться.

Отладка переводов

Enter your private key in PKCS#1 container to use debug. See RSA-SHA256 for details.

Fillup mandatory fields (the red ones) with appropriate values. Empty values will not be included in output.

Warning

Use either destination-card-no, destination-card-ref-id or combination of destination-iban-no and destination-bic.
>
URL

Вместо ENDPOINTID используйте ID нужного Endpoint в системе

login

your login should be used as Consumer Public for OAuth

client_orderid

make it or use your internal invoice ID

destination-card-no enter the beginning of the sequence, and then "i".

destination-card-ref-id
destination-iban-no
destination-bic
order_desc
amount
insurance_amount
currency
ipaddress
first_name
middle_name
last_name
ssn
birthday
address1
city
state
zip_code
>country
phone
cell_phone
email
purpose
receiver_first_name
receiver_middle_name
receiver_last_name
receiver_phone
receiver_resident
receiver_identity_document_series
receiver_identity_document_number
receiver_identity_document_id
receiver_address1
receiver_city
redirect_url
redirect_success_url
redirect_fail_url
server_callback_url
merchant_data

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.

Выполнение запроса статуса

Торговцу необходимо использовать запрос статуса по API для получения актуальной информации о статусе проведения транзакции. Запрос статуса осуществляется по параметру order_id, который сервер SBC возвращает для каждой созданной транзакции.

Адреса запроса статуса

На этапе интеграции предполагается использование тестовой среды sandbox.sbctech.ru вместо производственной gate.sbctech.ru.

Для интеграций торговца в одной валюте используется Endpoint ID, созданный для торговца в системе SBC, и URL следующего формата: https://gate.sbctech.ru/paynet/api/v2/status/ENDPOINTID Для мультивалютных интеграций торговца используется Endpoint group ID, созданный для торговца в системе SBC, и URL следующего формата: https://gate.sbctech.ru/paynet/api/v2/status/group/ENDPOINTGROUPID

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

Параметр

Описание

Обязательность

login

Логин торговца в системе SBC

Необходимость: Обязательность

client_orderid

Номер заказа в системе торговца, по которому запрашивается статус.

Необходимость: Обязательность

orderid

Номер заказа в системе SBC

Необходимость: Обязательность

by-request-sn

Серийный номер API запроса в системе SBC

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

control

Контрольная сумма, подтверждающая отправление запроса торговцем. Представляет собой SHA-1 свёртку от конкатенации следующих параметров: login + client-order-id + paynet-order-id + merchant-control

Необходимость: Обязательность

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

Параметр

Описание

type

Тип ответа, ожидаемое значение: status-response

status

Статус заказа. Возможные значения: Status List

amount

Сумма заказа. Это значение может быть изменено во время транзакции.

paynet-order-id

Номер заказа, присвоенный системой QA

merchant-order-id

Номер заказа в системе торговца.

phone

Телефон покупателя.

html

HTML код страницы 3-D Secure, закодированный в формат MIME application/x-www-form-urlencoded. Торговцу необходимо декодировать этот параметр перед показом формы покупателю. Система QA HTML код страницы 3-D Secure, закодированный в формат MIME application/x-www-form-urlencoded. Торговцу необходимо декодировать этот параметр перед показом формы покупателю. Система Payneteasy возвращает этот параметр в ответе, когда получает форму 3-D Secure. Параметр содержит HTML код страницы, который должен быть передан в интернет-браузер клиента без изменений. Для non-3DS транзакций данный параметр не присутствует в ответе. Также этот параметр не присутствует в ответе при запросе статуса транзакции по форме (sale form, transfer form).

redirect-to

Параметр может использоваться вместо параметра html Содержит URL для переадресации клиента на форму 3-D Secure. Торговец должен использовать метод GET для переадресации клиента. Для non-3DS транзакций данный параметр не присутствует в ответе. Также этот параметр не присутствует в ответе при запросе статуса транзакции по форме (sale form, transfer form).

serial-number

Уникальный номер конкретного API запроса торговца, присвоенный системой SBC

last-four-digits

Последние четыре цифры номера карты покупателя.

bin

Банковский идентификационный номер (БИН) карты покупателя.

card-type

Тип карты покупателя (например VISA, MASTERCARD, MIR).

gate-partial-reversal

Поддерживаются ли частичные возвраты на шлюзе (enabled or disabled).

gate-partial-capture

Поддерживаются ли частичные capture на шлюзе (enabled или disabled).

transaction-type

Тип транзакции (sale, reversal, capture, preauth).

processor-rrn

Регистрационный номер транзакции в системе банка-эквайера (RRN).

processor-tx-id

Идентификатор транзакции в системе банка-эквайера.

receipt-id

Ссылка на электронный чек https://gate.sbctech.ru/paynet/view-receipt/ENDPOINTID/receipt-id/

name

Имя.

cardholder-name

Имя держателя карты.

card-exp-month

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

card-exp-year

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

card-hash-id

Уникальный идентификатор карты используется для программы лояльности или проверок на fraud.

card-country-alpha-three-code

Трехбуквенный код страны эмитента карты отправителя. Смотри card-country-codes для большей информации.

email

E-mail покупателя.

purpose

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

bank-name

Название банка-эмитента.

terminal-id

Идентификатор терминала банка-эквайера.

paynet-processing-date

Дата процессинга транзакции в системе банка-эквайера.

approval-code

Код подтверждения банка-эквайера.

order-stage

Стадия процессинга транзакции. Смотри Order Stage для большей информации

loyalty-balance

Текущий бонусный баланс программы лояльности для данной операции. if available

loyalty-message

Сообщение от программы лояльности. if available

loyalty-bonus

Бонусное значение программы лояльности для данной операции. if available

loyalty-program

Название программы лояльности для данной операции. if available

descriptor

Идентификатор банка.

error-message

Если статус заказа declined, error или filtered этот параметр содержит причину отказа.

error-code

Код ошибки для заказов в статусе declined, error, filtered.

by-request-sn

Серийный номер запроса, если он содержится в параметрах запроса.

verified-3d-status

Статус результата 3-D Secure. Смотри 3D Secure Status List для большей информации.

verified-rsc-status

Смотри Random Sum Check Status List для большей информации.

merchantdata

Если представлен в инициализирующем запросе, merchant_data параметр и его значение будут включены в ответе на запрос статуса.

initial-amount

Сумма, назначенная в инициализирующей транзакции, без каких-либо комиссий. Это значение может не быть изменено во время транзакции.

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

type=status-response
&serial-number=00000000-0000-0000-0000-0000005b5044
&merchant-order-id=902B4FF5
&processor-tx-id=PNTEST-159884
&paynet-order-id=159884
&status=approved
&amount=10.42
&descriptor=test-usd
&gate-partial-reversal=enabled
&gate-partial-capture=enabled
&transaction-type=sale
&receipt-id=a5061379-6ff5-3565-a9ba-1b8a814d04f6
&name=TEST HOLDER
&cardholder-name=TEST HOLDER
&card-exp-month=1
&card-exp-year=2016
&email=john.smith@gmail.com
&processor-rrn=510321889824
&approval-code=242805
&order-stage=sale_approved
&last-four-digits=9001
&bin=520306
&card-type=MASTERCARD
&phone=12063582043
&bank-name=CITIBANK
&paynet-processing-date=2015-04-09 17:14:26 MSK
&by-request-sn=00000000-0000-0000-0000-0000005b2a8a
&card-hash-id=1493114
&verified-3d-status=AUTHENTICATED
&verified-rsc-status=AUTHENTICATED
&merchantdata=promo

Пример формирования подписи запроса

Контрольная сумма подтверждает отправку запроса статуса торговцем. Параметр merchant_control известен только торговцу и должен быть защищён от доступа третьих лиц. Контрольная сумма представляет собой SHA-1 свёртку от конкатенации следующих параметров:

  • login

  • client_orderid

  • orderid

  • merchant_control

Пример расчёта контрольной суммы:

Parameter Name

Parameter Value

login

cool_merchant

client_orderid

5624444333322221111110

orderid

9625

merchant_control

r45a019070772d1c4c2b503bbdc0fa22

Строка для формирования контрольной суммы будет выглядеть следующим образом:

cool_merchant56244443333222211111109625r45a019070772d1c4c2b503bbdc0fa22

Шифрование вышеприведённой строки с помощью алгоритма SHA-1 . приводит к следующему значению контрольной суммы:

c52cfb609f20a3677eb280cc4709278ea8f7024c

Отладка запроса статуса

endpointid or groupid

input ENDPOINTID or ENDPOINTGROUPID

login

input Login

client_orderid

input Invoice Number

orderid
merchant_control

input Control Key

by-request-sn

String to sign
Signature