Refunds

List Refunds

Lists refunds, newest first. Without filters this is every refund the caller can read; narrow it to one payment with payment_id, one account with account_id, or one buyer with user_id.

get/refunds

Query parameters

account_idstring

Only refunds issued by this account, prefixed biz_.

payment_idstring

Only refunds of this payment, prefixed pay_.

user_idstring

Only refunds to this buyer, prefixed user_.

created_beforestring date-time

Only refunds requested before this ISO 8601 timestamp.

created_afterstring date-time

Only refunds requested after this ISO 8601 timestamp.

order'created_at'

The field to sort by.

direction'asc' | 'desc'

The sort direction.

firstinteger

The number of refunds to return.

afterstring

A cursor; returns refunds after this position.

lastinteger

The number of refunds to return from the end of the range.

beforestring

A cursor; returns refunds before this position.

Response

refunds listed

Example response

{
  "data": [
    {
      "account_id": "biz_xxxxxxxxxxxxxx",
      "amount": {
        "amount": "-2.50",
        "currency": "usd",
        "decimals": 2,
        "display_decimals": 2
      },
      "created_at": "2026-01-01T12:00:00.000Z",
      "failure_message": "Insufficient funds on the merchant balance.",
      "failure_reason": "insufficient_funds",
      "id": "rf_xxxxxxxxxxxxxx",
      "original_amount": {
        "amount": "-2.50",
        "currency": "usd",
        "decimals": 2,
        "display_decimals": 2
      },
      "payment_id": "pay_xxxxxxxxxxxxxx",
      "provider": "stripe",
      "provider_created_at": "2026-01-01T12:00:00.000Z",
      "reason": "duplicate",
      "reference_status": "available",
      "reference_type": "acquirer_reference_number",
      "status": "failed",
      "updated_at": "2026-01-01T12:00:00.000Z"
    }
  ],
  "page_info": {
    "start_cursor": "WyJjdXJzb3IiLDFd"
  }
}

Changes