Повернення/Відміна платежу (Refund)

Запит Refund використовується для проведення повернення коштів або скасування платежу.

Повернення коштів можна виконати через особистий кабінет M-portal, або через виклик методу API - Refund.

 

Параметри запиту:
Запит c необхідними параметрами формується на стороні продавця та передається методом POST по протоколу HTTP на URL https://api.wayforpay.com/api

 

Параметр

Опис

Обов'язкове

transactionType

Тип запиту, приймає значення REFUND

так

merchantAccount

Унікальний ідентифікатор продавця.

так

orderReference

Унікальний номер замовлення в системі торговця

так

amount

Сума повернення

так

currency

Валюта замовлення: UAH

так

comment

Коментар мерчанта, опис причини реверсу. Кодування UTF-8

так

merchantSignature

Підпис запитуПідпис запитуПідпис запитуПідпис запиту

так

apiVersion

Версія протоколу.

Значення за замовчуванням: 1

так

productName[]

Масив з найменуванням замовлених товарів

ні

productPrice[]

Масив з цінами за одиницю товару. Ця інформація буде видна на сторінці оплати замовлення

ні

productCount[]

Масив з кількістю замовленого товару по кожній з позицій.

ні

З метою підтвердження валідності даних необхідно згенерувати і передати в запиті HMAC_MD5 контрольний підпис з використанням SecretKey торговця.

Рядок, що підлягає HMAC_MD5, генерується шляхом конкатенації параметрів merchantAccount, orderReference, amount, currency розділених ";" (крапка з комою) в кодуванні UTF-8

Параметри відповіді:

 

Параметр

Опис

Обов'язкове

merchantAccount

Ідентифікатор продавця

так

orderReference

Унікальний номер замовлення в системі торговця

так

transactionStatus

Статус обробки повернення. Може містити наступні значення:

- Refunded,Voided

- Declined

так

reason

Причина відмови

так

reasonCode

Код відмови

так

Параметри запиту шлюзу WayForPay у відповідь

З метою підтвердження валідності даних необхідно згенерувати і передати в запиті HMAC_MD5 контрольний підпис з використанням SecretKey торговця.

Рядок, що підлягає HMAC_MD5, генерується шляхом конкатенації параметрів merchantAccount, orderReference, transactionStatus, reasonCode, розділених ";" (крапка з комою) в кодуванні UTF-8

 

Приклад запиту і відповіді

Запит:
{
"transactionType":"REFUND",
"merchantAccount":"test_merchant",
"orderReference":"DH783023",
"amount":100,
"currency":"UAH",
"comment":"Нет в наличии товара",
"merchantSignature":"b95932786cbe243a76b014846b63fe92",
"apiVersion": 1
}

 

Відповідь:

 

{
"orderReference":"DH783023",
"transactionStatus":"refunded",
"reasonCode":1100,
"reason":"ok",
"merchantAccount":"test_merchant"
}