3.20. /api/v2/return
Введение
Возврат может быть проведён только для транзакций с успешным конечным статусом. См. Статусы транзакций. После успешного Возврата Преавторизированная Продажа принимает статус Отменённой транзакции, Продажа и Подтверждение - статус Возврата. Транзакции возврата инициируется через HTTPS POST запрос, используя URL и параметры, указанные ниже. Запрос подписывается SHA-1 для аутентификации.
API URL
Интеграционная среда |
Производственная среда |
---|---|
https://sandbox.payneteasy.com/paynet/api/v2/return/ENDPOINTID |
https://gate.payneteasy.com/paynet/api/v2/return/ENDPOINTID |
https://sandbox.payneteasy.com/paynet/api/v2/return/group/ENDPOINTGROUPID |
https://gate.payneteasy.com/paynet/api/v2/return/group/ENDPOINTGROUPID |
Параметры запроса возврата
Note
Warning
В значениях параметров необходимо экранировать следующие символы: & + “.
Название параметра |
Описание |
Значение |
---|---|---|
login |
Логин Присоединяющейся Стороны. |
Необходимость : ОбязательноТип : StringДлина : 20 |
orderid |
Уникальный идентификационный номер транзакции, присвоенный системой Payneteasy. |
Необходимость : ОбязательноТип : StringДлина : 20 |
client_orderid |
Уникальный идентификационный номер Присоединяющейся Стороны. |
Необходимость : ОбязательноТип : StringДлина : 128 |
control |
Контрольная сумма, сгенерированная SHA-1. Строка для подписи представляет собой объединение следующих параметров:
1. Параметр запроса: login.
2. Параметр запроса: client_orderid.
3. Параметр запроса: orderid.
4. Параметр запроса: amount (в минимальных единицах).
5. Параметр запроса: currency.
6. merchant_control (Контрольный ключ, присвоенный аккаунту Присоединяющейся Стороны в системе Payneteasy.
|
Необходимость : УсловноТип : StringДлина : 128 |
amount |
Сумма должна быть указана в минимальных единицах с . разделителем. Например, 100.5 в RUB означает 100 российских рублей и 50 копеек. Если данный параметр пропущен, будет произведен возврат всей суммы. Данный параметр имеет смысл для возвратов, но не отмены. Сумма не может быть больше изначальной суммы транзакции. Важно! Если указана сумма, необходимо также указать валюту! |
Необходимость : ОбязательноТип : NumericДлина : 10 |
currency |
Валюта, в которой проводится операция (см. Коды валют). Примеры значений: USD для доллара США, EUR для европейского евро, RUB для российского рубля. |
Необходимость : ОбязательноТип : StringДлина : 50 |
comment |
Краткое описание. |
Необходимость : ОбязательноТип : StringДлина : 50 |
Параметры ответа
Note
Название параметра |
Описание |
---|---|
type |
Тип ответа. Может принимать такие значения как - async-response, validation-error, error и т.д. Если тип равен validation-error или error, параметры error-message и error-code будут содержать сведения об ошибке. |
paynet-order-id |
Номер заказа в системе Payneteasy. |
merchant-order-id |
Номер заказа в системе Присоединяющейся Стороны. |
serial-number |
Уникальный номер, присвоенный сервером Payneteasy конкретному запросу от Присоединяющейся Стороны. |
end-point-id |
Идентификатор терминала, используемый для транзакции. |
error-message |
Для транзакций в статусе error этот параметр будет содержать причину отклонения или сведения об ошибке. |
error-code |
Код ошибки для транзакций в статусе error. |
Пример запроса
POST /paynet/api/v2/return/39914 HTTP/1.1
Host: sandbox.payneteasy.com
User-Agent: curl/7.83.0
Accept: */*
Content-Length: 162
Content-Type: application/x-www-form-urlencoded
Connection: close
login=TestMerchant
&client_orderid=Test
&orderid=6862958
&amount=5.00
¤cy=RUB
&comment=Service not provided
&control=2dfdb99c4eff5b31c978ecb8bc4b4d094e24c1d4
Пример успешного ответа
HTTP/1.1 200 OK
Server: server
Date: Mon, 08 Aug 2022 07:50:08 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: 141
type=async-response
&serial-number=00000000-0000-0000-0000-000002ddad4a
&merchant-order-id=Test
&paynet-order-id=6862958
&end-point-id=39914
Пример неуспешного ответа
HTTP/1.1 200 OK
Server: server
Date: Mon, 08 Aug 2022 10:45:32 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: 153
type=validation-error
&serial-number=00000000-0000-0000-0000-000002ddad5c
&error-message=Reversal+currency+does+not+match+project+currency
&error-code=16
Коллекция Postman
Конструктор запросов
String to sign |
---|
Signature |
---|
|