Skip to main content
Beta

Refund a Payment

Issue a refund to return money to a customer. There are two types:

  • Full refund – Returns the entire payment amount; can only be done once.
  • Partial refund – Returns part of the payment; can be done multiple times, up to the original amount.

Request

Find the API documentation for the request here.

POST /payments/{payment_id}/refund

Hellgate® supports multiple refunds for a payment. Each request needs the following payload:

{
"amount": 500,
"currency_code": "EUR",
"reference": "Refund order #12345"
}

The amount available for refund is the captured amount minus the total of all refunds already successfully processed.

Response

Hellgate® will process the refund asynchronously, such that the response will return a refund in processing state, which the ultimately will finish in completed or failed state.

The amount on the payment will be updated and reflects the total amount of refunds on the payment:

{
...
"amount": {
"requested": 1000,
"authorized": 1000,
"captured": 800,
"refunded": 500
}
...
}