3.15. /api/v2/make-rebill-sale

Введение

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

API URL

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

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

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

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

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

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

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

Note

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

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

Описание

Значение

login

Connecting Party’s login name.

Необходимость: Обязательно
Тип: 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 проведет несколько попыток оплаты с указанными суммами, пока не будет получен успешный статус или пока не закончится последовательность переданных сумм.

Necessity: Optional
Тип: String
Длина: 128

recurrent_scenario

Тип повторной оплаты. Возможные значения: REGULAR (регулярный) или IRREGULAR (нерегулярный). Если параметр передан в запросе, его значение имеет приоритет над значением этого параметра, установленном на шлюзе. Актуально только для некоторых Экваеров.

Necessity: Optional
Тип: String
Длина: 50

recurrent_initiator

Инициатор повторной оплаты. Возможные значения: CARDHOLDER (держатель карты) или MERCHANT (торговец). Если параметр передан в запросе, его значение имеет приоритет над значением этого параметра, установленном на шлюзе. Актуально только для некоторых Экваеров.

Necessity: Optional
Тип: String
Длина: 50

cvv2

CVV2-код Плательщика. CVV2 (Card Verification Значение) — это трех- или четырех-значное число ПОСЛЕ номера кредитной карты в области подписи карты. Может быть пустым или отсутствовать, если эквайринговый канал поддерживает процессинг без CVV2 или он не актуален для данного платёжного метода.

Necessity: Optional
Тип: Numeric
Длина: 3-4

ipaddress

IP-адрес плательщика, также включен в проверки на мошенничество.

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

comment

Короткий комментарий.

Necessity: Optional
Тип: 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 и т. д. Это значение может проверяться системой защиты от мошенничества.

Necessity: Optional
Тип: String
Длина: 128

redirect_url

URL-адрес, на который будет перенаправлен Плательщик после завершения транзакции. Перенаправление выполняется в любом случае, независимо от того, получила ли транзакция успешный, неуспешный или любой другой конечный статус (см. Статусы транзакций).Не следует использовать параметры, отправленные вместе с HTTP-запросом перенаправления, для обработки статуса транзакции. Вместо этого необходимо использовать server_callback_url или запрос статуса. Если транзакция не предполагает возврата плательщика, параметр может быть использован со значением https://doc.payneteasy.com для тестов. Допускается использование либо параметра redirect_url, либо комбинации параметров redirect_success_url и redirect_success_url, но не и того, и другого одновременно.

Necessity: Optional
Тип: String
Длина: 1024

redirect_success_url

URL-адрес, на который будет перенаправлен Плательщик после завершения транзакции. Перенаправление выполняется в любом случае, независимо от того, получила ли транзакция успешный, неуспешный или любой другой конечный статус (см. Статусы транзакций).Не следует использовать параметры, отправленные вместе с HTTP-запросом перенаправления, для обработки статуса транзакции. Вместо этого необходимо использовать server_callback_url или запрос статуса. Если транзакция не предполагает возврата плательщика, параметр может быть использован со значением https://doc.payneteasy.com для тестов. Допускается использование либо параметра redirect_url, либо комбинации параметров redirect_success_url и redirect_success_url, но не и того, и другого одновременно.

Necessity: Optional
Тип: String
Длина: 1024

redirect_fail_url

URL-адрес, на который будет перенаправлен Плательщик после завершения транзакции. Перенаправление выполняется в любом случае, независимо от того, получила ли транзакция успешный, неуспешный или любой другой конечный статус (см. Статусы транзакций).Не следует использовать параметры, отправленные вместе с HTTP-запросом перенаправления, для обработки статуса транзакции. Вместо этого необходимо использовать server_callback_url или запрос статуса. Если транзакция не предполагает возврата плательщика, параметр может быть использован со значением https://doc.payneteasy.com для тестов. Допускается использование либо параметра redirect_url, либо комбинации параметров redirect_success_url и redirect_success_url, но не и того, и другого одновременно.

Necessity: Optional
Тип: String
Длина: 1024

server_callback_url

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

Necessity: Optional
Тип: String
Длина: 1024

merchant_data

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

Necessity: Optional
Тип: String
Длина: 64

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

Note

Ответ имеет заголовок 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

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

error-code

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

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

POST /paynet/api/v2/make-rebill-sale/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=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

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

endpointid or groupid

input ENDPOINTID or ENDPOINTGROUPID

login
client_orderid

make it or use internal invoice ID

cardrefid
amount
currency
enumerate_amounts
recurrent_scenario
recurrent_initiator
cvv2
ipaddress
comment
order_desc
merchant_control

input Control Key

String to sign
Signature