Refunds
Overview
On Revio, you can refund a transaction quickly with the API or the Revio dashboard.
Refunds are not setup up by default. Please contact your Revio account manager to activate this feature for you.
Dashboard refund
Refunding customers via the Revio dashboard is easy to do. Navigate to your feed section and select refund by clicking on the ellipses next to the transaction you want to refund.
Refunds via the API
Send a request to the refund
endpoint with the purchase_id
in the Request URL to initiate a refund and consult the refund_availability
field on Purchase in detail about whether this Purchase
can be refunded or not.
This request will generate a Payment
object and return it as a successful response.
curl -X 'POST' \
'https://gate.reviopay.com/api/v1/purchases/07e9c8d2-5af7-4c40-92e4-866a07bed7cd/refund/' \
-H 'Authorization: Bearer {Revio API key}' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"amount": 120
}'
If this operation takes too long to be processed on the acquirer side - you will get a response with status code 200 and a Purchase
object having status = pending_refund
in body (you will receive a corresponding Webhook
callback too for a purchase.pending_refund event
).
To be notified of a successful operation completion, please subscribe to payment.refunded
callback event - it will deliver a Payment
generated by this refund
.
If refund
fails due to payment
processing error, you will receive HTTP response code 400 with error code purchase_refund_error
.
In this case, to get more details about the error, you should perform a GET /purchase/ request
for the Purchase
you tried to refund. In transaction_data.attempts
[] array (newest element first) you'll find the corresponding attempt with error code and description in .error
parameter.
Pro tip
An optional
amount
argument can be included in the request body to request a partialrefund
.
Updated over 1 year ago