Skip to main content
POST
/
refunds
Create a refund
curl --request POST \
  --url https://developersandbox-api.flutterwave.com/refunds \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "amount": 12.34,
  "charge_id": "<string>",
  "reason": "requested_by_customer",
  "meta": {}
}
'
{
  "status": "success",
  "message": "<string>",
  "data": {
    "id": "<string>",
    "amount_refunded": 12.34,
    "meta": {},
    "reason": "requested_by_customer",
    "status": "new",
    "charge_id": "chg_VnUihmASmF",
    "created_datetime": "<string>"
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

X-Trace-Id
string

A unique identifier to track this operation. It must be between 12 and 255 characters in length.

Required string length: 12 - 255
X-Idempotency-Key
string

A unique identifier to prevent duplicate requests. It must be between 12 and 255 characters in length.

Required string length: 12 - 255

Body

application/json

A refund of a previously created charge

amount
number<decimal>
required

Amount of the refund

Required range: x >= 0.01
Example:

12.34

charge_id
string
required

ID of the charge to refund

reason
enum<string>
required

Reason for the refund

Available options:
duplicate,
fraudulent,
requested_by_customer,
expired_uncaptured_charge
Example:

"requested_by_customer"

meta
object

Response

OK

status
enum<string>
Available options:
success,
failed
message
string
data
object

A refund of a previously created charge