3.13. /api/v2/make-rebill-sale
Введение
Повторная оплата инициируется через запрос HTTPS POST на указанный ниже URL с использованием указанных параметров. Для аутентификации запроса используется SHA-1. См. Статусы транзакций.
API URL
Примечание
Интеграционная среда |
Производственная среда |
|---|---|
https://sandbox.sbctech.ru/paynet/api/v2/make-rebill-sale/ENDPOINTID |
https://gate.sbctech.ru/paynet/api/v2/make-rebill-sale/ENDPOINTID |
https://sandbox.sbctech.ru/paynet/api/v2/make-rebill-sale/group/ENDPOINTGROUPID |
https://gate.sbctech.ru/paynet/api/v2/make-rebill-sale/group/ENDPOINTGROUPID |
Параметры запроса
Примечание
Название параметра |
Описание |
Значение |
|---|---|---|
login |
Логин Присоединяющейся стороны в Системе. |
Необходимость: ОбязательноТип: StringДлина: 20 |
client_orderid |
Уникальный идентификатор заказа, присвоенный Присоединяющейся Стороной. |
Необходимость: ОбязательноТип: StringДлина: 128 |
cardrefid |
Ссылочный идентификатор, полученный на этапе регистрации карты (или иного платежного метода) /api/v2/create-card-ref/. |
Необходимость: ОбязательноТип: StringДлина: 20 |
amount |
Сумма к оплате. Сумма должна быть указана в наибольших единицах с разделителем .. Например, 10.5 для USD означает 10 долларов США и 50 центов. |
Необходимость: ОбязательноТип: NumericДлина: 10 |
currency |
Валюта, в которой проводится операция. Примеры значений: USD для доллара США, EUR для европейского евро, RUB для российского рубля. |
Необходимость: ОбязательноТип: StringДлина: 3 |
enumerate_amounts |
Парметр может содержать последовательность из нескольких сумм, разделенных запятой ,. SBC проведет несколько попыток оплаты с указанными суммами, пока не будет получен успешный статус или пока не закончится последовательность переданных сумм. |
Необходимость: ОпциональноТип: StringДлина: 128 |
recurrent_scenario |
Тип повторной оплаты. Возможные значения: REGULAR (регулярный) или IRREGULAR (нерегулярный). Если параметр передан в запросе, его значение имеет приоритет над значением этого параметра, установленном на шлюзе. Актуально только для некоторых Экваеров. |
Необходимость: ОпциональноТип: StringДлина: 50 |
recurrent_initiator |
Инициатор повторной оплаты. Возможные значения: CARDHOLDER (держатель карты) или MERCHANT (торговец). Если параметр передан в запросе, его значение имеет приоритет над значением этого параметра, установленном на шлюзе. Актуально только для некоторых Экваеров. |
Необходимость: ОпциональноТип: StringДлина: 50 |
cvv2 |
CVV2-код Плательщика. CVV2 (Card Verification Значение) — это трех- или четырех-значное число ПОСЛЕ номера кредитной карты в области подписи карты. Может быть пустым или отсутствовать, если эквайринговый канал поддерживает процессинг без CVV2 или он не актуален для данного платёжного метода. |
Необходимость: ОпциональноТип: NumericДлина: 3-4 |
ipaddress |
IP-адрес Плательщика. Включен для отслеживания мошеннических действий. |
Необходимость: ОбязательноТип: StringДлина: 45 |
comment |
Короткий комментарий. |
Необходимость: ОпциональноТип: StringДлина: 50 |
order_desc |
Описание заказа. |
Необходимость: ОбязательноТип: StringДлина: 64k |
control |
Контрольная сумма, сгенерированная SHA-1. Строка для подписи представляет собой объединение следующих параметров:
1. Параметр запроса: login
2. Параметр запроса: client_orderid
3. Параметр запроса: cardrefid
4. Параметр запроса:amount в минимальных денежных единицах (если отправлен).
5. Параметр запроса: currency
6.:ex:merchant_control (Контрольный ключ, назначенный для учетной записи Присоединяющейся Cтороны в SBC).
|
Необходимость: ОбязательноТип: StringДлина: 40 |
purpose |
Получатель платежа. Это полезно для Присоединяющейся стороны, позволяющей клиентам переводить деньги с кредитной карты на какой-либо счёт клиента, например игровой счёт или счёт мобильного телефона. Примеры значений: +9999999999; mail@example.com и т. д. Это значение будет использоваться системой мониторинга мошенничества. |
Необходимость: ОпциональноТип: StringДлина: 128 |
redirect_url |
URL-адрес, на который будет перенаправлен держатель карты после завершения транзакции. Обратите внимание: держатель карты будет перенаправлен в любом случае — независимо от того, была ли транзакция approved или declined. Этот параметр не следует использовать для получения результатов из Платёжного Шлюза SBC, поскольку все параметры передаются через браузер клиента и могут быть потеряны при передаче. Для доставки корректного результата платежа в бэкенд следует использовать server_callback_url. Параметр обязателен для сценария 3DS и необязателен для сценария без 3DS. https://doc.sbctech.ru/ можно использовать для тестирования, если неизвестно, используется ли 3DS. |
Необходимость: ОпциональноТип: StringДлина: 1024 |
server_callback_url |
URL-адрес server_callback_url, по которому будет отправлен обратный вызов с результатом транзакции. Присоединяющаяся сторона может использовать обратные вызовы для индивидуальной обработки завершения транзакции (например, для сбора данных о платежах в информационной системе Присоединяющейся стороны). Список параметров, включенных в обратный вызов, см. в разделе Обратного вызова Присоединяющейся стороны. Данный параметр может быть передан вместо notify_url. При использовании server_callback_url платежный шлюз отправляет callback-уведомление только при получении финального статуса исходной транзакции. При использовании notify_url платежный шлюз отправляет уведомление при получении финального статуса и продолжает отправлять уведомления о всех последующих изменениях (возвраты, chargeback и др.).
|
Необходимость: ОпциональноТип: StringДлина: 1024 |
notify_url |
URL-адрес notify_url, по которому будет отправлен обратный вызов с результатом транзакции. Присоединяющаяся сторона может использовать обратные вызовы для индивидуальной обработки завершения транзакции (например, для сбора данных о платежах в информационной системе Присоединяющейся стороны). Список параметров, включенных в обратный вызов, см. в разделе Обратного вызова Присоединяющейся стороны. Данный параметр может быть передан вместо server_callback_url. При использовании notify_url платежный шлюз отправляет уведомление при получении финального статуса и продолжает отправлять уведомления о всех последующих изменениях (возвраты, chargeback и др.). При использовании server_callback_url платежный шлюз отправляет callback-уведомление только при получении финального статуса исходной транзакции.
|
Необходимость: ОпциональноТип: StringДлина: 1024 |
order_desc |
Любая дополнительная информация о транзакции, которая может быть полезна во внешних системах Присоединяющейся стороны, например VIP клиент, лид промокампании на ТВ. |
Необходимость: ОпциональноТип: StringДлина: 64 |
Параметры запроса страхования
Примечание
Название параметра |
Описание |
Значение |
|---|---|---|
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 будут содержать сведения об ошибке.
|
serial-number |
Уникальный номер, присваиваемый сервером SBC конкретному запросу от Присоединяющейся стороны. |
merchant-order-id |
Номер заказа в системе Присоединяющейся Стороны. |
paynet-order-id |
Идентификатор заказа, присвоенный SBC. |
end-point-id |
Идентификатор терминала, используемый для транзакции. |
error-message |
Для транзакций в статусе error этот параметр будет содержать причину отклонения или сведения об ошибке. |
error-code |
Код ошибки для транзакций в статусе error. |
Пример запроса
POST /paynet/api/v2/make-rebill-sale/46750 HTTP/1.1
Host: https://sandbox.sbctech.ru
User-Agent: curl/7.85.0
Accept: */
Content-Length: 229
Content-Type: application/x-www-form-urlencoded
Connection: close
&login=login
&client_orderid=902B4FF5
&cardrefid=1461665
&amount=5.00
¤cy=USD
&cvv2=123
&ipaddress=34.129.65.12
&comment=Information abount Rebill
&order_desc=Rebill order description
&control=a37f4972233b4a5dbfb4dcaae149ce7feed01ef9
Пример успешного ответа
HTTP/1.1 200
Server: server
Date: Thu, 02 Feb 2023 13:22:04 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: 144
type=async-response
&serial-number=00000000-0000-0000-0000-000002e0d6b9
&merchant-order-id=902B4FF5
&paynet-order-id=6937242
&end-point-id=46750
Пример неуспешного ответа
HTTP/1.1 200
Server: server
Date: Thu, 02 Feb 2023 13:24:47 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: 164
type=validation-error
&serial-number=00000000-0000-0000-0000-000002e0d74c
&merchant-order-id=902B4FF5
&error-message=End+point+with+id+99999+not+found
&error-code=3
Коллекция Postman
Конструктор запросов
| String to sign |
|---|
| Signature |
|---|
|