Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

code

description

REFUND_LIMIT_EXCEEDED

Refund limit for an order was exceeded. Refund limit is compared against sum of all order’s refunds, which are not FAILED, WITHDRAWN or EXIPRED plus the amount of requested refund.

If the requested sum of refunds is higher than the limit specified and calculated in the order (refundLimitPercentage), this error is thrown.

To change the refund limit for an order, call Update Order endpoint and set the refundLimitPercentage to a higher value (or 0, if the limit should not be checked

REFUND_CANNOT_BE_CREATED

Refund can not be created for an order at this moment. Possible reason is that no payment was initialized for the order, yet.

Refunds can be only initialized for orders, whose payment’s processing was started.

REFUND_DUPLICATED

The same refund was already created. To prevent duplicated refunds, it is not possible to create two identical refunds for a single order.

To create a refund with the same payment data (amount, reference etc.), change at least instructionId (which should be unique) or reason.

NOT_AUTHORIZED

Client is not authorized to create refund. Refunds scope might be missing.

Refund processing

Refunds can be processed via:

  • redirect flow - by clicking the link from the Refund initialization response

  • embedded flow - by calling the Process Refund endpoint with the ID of a refund retrieved from the Refund initialization response

Processing of refunds is basically the same as processing of order’s payments.

For instructions how to use the embedded flow for refund processing, see https://everifin.atlassian.net/wiki/spaces/EPAD/pages/2467561560/Embedded+Flow#3.-Process-Order-Payment. There are two differences with the payment processing in the embedded flow:

In the Postman documentation, you can find various examples on how to use the Process Refund endpoint.

Error codes

In addition to error codes specified for the Process Order Payment endpoint, note also the following error codes:

code

description

MISSING_RECIPIENT_IBAN

Refund has no recipientIban specified. First specify the recipientIban through the Refund Process endpoint.

Refund withdrawal

You can withdraw (invalidate / cancel) a refund by calling Everifin Paygate endpoint with DELETE method. The refund cannot be withdrawn for finalized refunds (successful or failure) and also in case the user has already started a refund authorization on bank’s side.

On details, how to use this endpoint, see the Postman documentation: https://documenter.getpostman.com/view/21056419/2s9Y5Ww3LU#af3ff169-8a87-42e0-91ae-689bb44d75bb

Error codes

In addition to error codes specified for the Process Order Payment endpoint, note also the following error codes:

code

description

REFUND_CANNOT_BE_WITHDRAWN

Refund’s state does not allow to withdraw it. Payment might be processing at the moment.

Refund detail

Refund detail endpoint can be used to check the status of a refund.

Documentation: https://documenter.getpostman.com/view/21056419/2s9Y5Ww3LU#b88e9eab-e428-4192-9116-650f5bde9a18

List of order’s refunds

To get all order’s refunds, use the Order Refunds endpoint.

Documentation: https://documenter.getpostman.com/view/21056419/2s9Y5Ww3LU#c0e5d94f-e328-48f2-9d91-0d2db6e75959

List of all refunds

To search refunds without the context of an order, use the Search Refunds endpoint.

See the Postman documentation for instructions how to use this endpoint - filtering, sorting and pagination is supported.

Documentation: https://documenter.getpostman.com/view/21056419/2s9Y5Ww3LU#83d3e8cf-23dd-457e-befe-3049cddcba3f