DocsApiRefunds
Back to API Reference

Refunds API

Create and manage refunds for completed payments.

Base URL

http://localhost:8081

Create a Refund

POST/refunds

Request Body

{
  "payment_id": "pay_xyz789",
  "amount": 50000,
  "currency": "NGN",
  "reason": "requested_by_customer",
  "metadata": {
    "reason_note": "Customer returned item"
  }
}

Response

{
  "refund_id": "ref_abc789",
  "payment_id": "pay_xyz789",
  "amount": 50000,
  "currency": "NGN",
  "status": "Succeeded",
  "reason": "requested_by_customer",
  "created_at": "2026-07-26T11:00:00Z",
  "metadata": {
    "reason_note": "Customer returned item"
  }
}

Retrieve a Refund

GET/refunds/{refund_id}
curl -X GET http://localhost:8081/refunds/ref_abc789 \
  -H "api-key: test_api_key_xxxx"

List Refunds

GET/refunds

Query Parameters

ParameterTypeDescription
limitintegerNumber of results (default 20, max 100)
offsetintegerNumber of results to skip
payment_idstringFilter refunds by payment ID
statusstringFilter by status: Succeeded, Failed, Pending
createdobjectDate range filter

Refund Statuses

StatusDescription
PendingRefund initiated, awaiting connector confirmation
SucceededRefund completed by the connector
FailedRefund failed at the connector
CancelledRefund was cancelled before processing