Payment-Refund-v2

From Barion Documentation
Jump to navigation Jump to search

Barion API: Execute the refund of a payment

POST /v2/Payment/Refund

The /payment/refund API endpoint is used to execute a refund of an existing, completed payment.

Prerequisites before use:


v2 This API endpoint is available in API v2 only.

Authentication

Barion Shop Authentication

Use cases

This API endpoint is designed to be used in the following scenarios:

Input properties

Property name Property type Limitations and constraints Description
POSKey Guid
  • Required
The secret API key of the shop, generated by Barion. This lets the shop to authenticate through the Barion API, but does not provide access to the account owning the shop itself.
PaymentId Guid
  • Required
The identifier of the payment in the Barion system.
TransactionsToRefund TransactionToRefund[]
  • Required
An array containing the payment transactions to refund.

Output properties

Property name Property type Description
PaymentId Guid The identifier of the payment in the Barion system.
RefundedTransactions RefundedTransaction[] An array containing information about the refunded transactions.

Possible error responses

Error code Description
ModelValidationError This happens when some of the input properties fail the basic validation. For example a string property exceeds its allowed length.
NotExistingPaymentId The specified payment id is invalid.
SuspendedUserTriedToRefund You are not allowed to refund a payment if you are suspended.
TheSourceAndDestinationAccountsAreMatched Very rare error, this happens in case the payment was payed by the shop owner.
PaymentStatusNotValid Only payments in Succeeded status can be refunded.
TransactionDoesNotBelongToPayment The transaction specified in the request body does not belong to a payment.
InvalidTransactionType The transaction specified is not a refundable transaction type. Only CardPayment, Shop and BankTransferPayment types are refundable.
InvalidAccount The account is not eligable for refund.
TooLowBalanceToMakeRefund There is not enough funds to fulfill the refund request.
AmountToRefundIsGreaterThanTransactionAmount The amount specified to refund is greater than the original payment transaction itself.
InternalServerError Something unexpected happened.