3.14. /api/v2/make-rebill-preauth

Введение

Повторная предавторизация инициируется через запрос HTTPS POST на указанный ниже URL с использованием указанных параметров. Для аутентификации запроса используется SHA-1. См. Статусы транзакций.

API URL

Примечание

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

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

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

https://sandbox.payneteasy.com/paynet/api/v2/make-rebill-preauth/ENDPOINTID

https://gate.payneteasy.com/paynet/api/v2/make-rebill-preauth/ENDPOINTID

https://sandbox.payneteasy.com/paynet/api/v2/make-rebill-preauth/group/ENDPOINTGROUPID

https://gate.payneteasy.com/paynet/api/v2/make-rebill-preauth/group/ENDPOINTGROUPID

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

Примечание

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

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

Описание

Значение

login

Логин Присоединяющейся Стороны

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

client_orderid

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

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

cardrefid

Ссылочный идентификатор, полученный на этапе регистрации карты (или иного платежного метода) /api/v2/create-card-ref/.

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

amount

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

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

currency

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

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

enumerate_amounts

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

Необходимость: Опционально
Тип: 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. merchant_control (Контрольный ключ, назначенный для учетной записи Присоединяющейся Cтороны в Payneteasy).
Необходимость: Обязательно
Тип: String
Длина: 40

purpose

Назначение платежа. Параметр может использоваться для указания пополняемого счёта (счета мобильных телефонов, игровые учётные записи и т. д.). Примеры значений: +7123456789; gamer0001@ereality.com и т. д. Это значение может проверяться системой защиты от мошенничества.

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

redirect_url

URL the cardholder will be redirected to upon completion of the transaction. Please note that the cardholder will be redirected in any case, no matter whether the transaction is approved or declined. This parameter should not be used to retrieve results from Payneteasy gateway, because all parameters go through client’s browser and can be lost during transmission. To deliver the correct payment result to the backend server_callback_url must be used instead. Parameter is required for 3DS flow and optional for non-3DS. https://doc.payneteasy.com can be used for testing purposes if it’s unknown whether 3DS is used or not.

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

server_callback_url

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

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

merchant_data

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

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

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

Примечание

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

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

Описание

type

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

serial-number

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

merchant-order-id

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

paynet-order-id

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

end-point-id

Идентификатор терминала, используемый для транзакции.

error-message

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

error-code

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

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

POST /paynet/api/v2/make-rebill-preauth/46750 HTTP/1.1
Host: https://sandbox.payneteasy.com
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
&currency=USD
&cvv2=321
&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:10:44 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-000002e0d498
&merchant-order-id=902B4FF5
&paynet-order-id=6937030
&end-point-id=46750

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

HTTP/1.1 200
Server: server
Date: Thu, 02 Feb 2023 13:18:50 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-000002e0d614
&merchant-order-id=902B4FF5
&error-message=End+point+with+id+99999+not+found
&error-code=3

Коллекция Postman

Конструктор запросов

endpointid or groupid

input your ENDPOINTID or ENDPOINTGROUPID

login
client_orderid

make it or use your internal invoice ID

cardrefid
amount

currency
enumerate_amounts
recurrent_scenario
recurrent_initiator
cvv2
ipaddress
comment
order_desc
merchant_control

input your Control Key

insurance_amount
insured_person_first_name
insured_person_last_name
insured_person_middle_name
insured_person_birthday
insured_person_document_series
insured_person_document_number
insured_person_document_issue_date
insured_person_document_issuer_name
insured_person_registration_address
insured_person_phone
insured_person_email
card_insurance_agreement_number
card_insurance_agreement_sell_date
card_insurance_agreement_start_date
card_insurance_agreement_end_date
card_insurance_agreement_bonus

String to sign
Signature