Skip to main content

Refunds

ZendFi supports merchant-initiated voluntary refunds for confirmed payments, including partial refunds.

Create a Refund

Requires authenticated merchant access.
Creates a refund in pending status and begins asynchronous processing.

Validation Rules

  • Payment must exist and belong to the authenticated merchant
  • Payment status must be confirmed
  • Refund amount must be greater than 0
  • Refund amount must be less than or equal to remaining refundable balance
  • Only one active refund (pending or processing) is allowed per payment

Request Body

number
required
Refund amount in USD.
string
Human-readable reason for the refund.
object
Optional metadata for internal tracking.

Example

Response

List Refunds for a Payment

Returns all refunds for a merchant-owned payment, ordered by newest first.

Example

List Merchant Refunds

Session-authenticated merchant endpoint for dashboard integrations.

Query Parameters

integer
default:"50"
Number of records to return (max 100).
integer
default:"0"
Number of records to skip.
string
Filter by refund status: pending, processing, completed, failed.
string
ISO date/time filter (inclusive lower bound for created_at).
string
ISO date/time filter (inclusive upper bound for created_at).

Example

Get a Specific Refund

Returns a single refund detail object for the authenticated merchant.

Refund Statuses

Refund Lifecycle Events

Refund processing emits webhook events:
  • RefundInitiated
  • RefundCompleted
  • RefundFailed
See Webhooks for payload details.