RefundsGet Refunds

Get Refunds

Retrieve a paginated list of your manual card refunds for the authenticated test or live environment.

See the Refund Overview for funding, fees, and status lifecycle guidance.

Endpoint

GET https://backendapi.sayswitchgroup.com/api/v1/refund

Request Examples

curl --request GET \
  --url "https://backendapi.sayswitchgroup.com/api/v1/refund?page=1" \
  --header "Authorization: Bearer YOUR_SECRET_KEY" \
  --header "Accept: application/json"

Keep your secret key and this request on your server.

Response

{
  "success": true,
  "message": "Refunds retrieved.",
  "data": {
    "current_page": 1,
    "data": [
      {
        "refund_reference": "REFUND_REFERENCE",
        "transaction_reference": "SSW_TRANSACTION_REFERENCE",
        "amount": "25.00",
        "fee": "1.00",
        "total_reserved": "26.00",
        "funding": {
          "status": "funded",
          "available_reserved": "26.00",
          "pending_reserved": "0.00",
          "pending_funded_amount": "0.00",
          "pending_remaining": "0.00",
          "funded_at": "2026-09-28T10:00:00+01:00"
        },
        "currency": "USD",
        "status": "pending",
        "external_reference": null,
        "requested_at": "2026-09-27T12:00:00+01:00",
        "completed_at": null
      }
    ],
    "first_page_url": "https://backendapi.sayswitchgroup.com/api/v1/refund?page=1",
    "from": 1,
    "last_page": 1,
    "last_page_url": "https://backendapi.sayswitchgroup.com/api/v1/refund?page=1",
    "next_page_url": null,
    "path": "https://backendapi.sayswitchgroup.com/api/v1/refund",
    "per_page": 20,
    "prev_page_url": null,
    "to": 1,
    "total": 1
  }
}

The newest refunds are returned first, with 20 records per page. Use the page query parameter or the pagination URLs to retrieve more records.

Refund Fields

FieldTypeDescription
refund_referencestringSaySwitch reference for the refund.
transaction_referencestringReference of the original successful card transaction.
amountstringAmount being returned to the customer.
feestringRefund processing fee determined by the merchant’s agreement.
total_reservedstringRefund amount plus fee reserved from the wallet.
fundingobjectFunding state and the available/pending balance reservation split.
currencystringRefund currency. Currently USD.
statusstringawaiting_settlement, pending, processing, success, failed, or rejected.
external_referencestring or nullProcessing reference when available.
requested_atstring or nullISO 8601 time when the request was accepted.
completed_atstring or nullISO 8601 time when the refund completed successfully.

For one refund, use Get Refund Details.

Refund status tracks processing, while funding.status tracks whether reserved money is ready. See Funding Status for all funding fields.

If full S2S payload encryption is enabled, this GET request has no encrypted body, but the response is encrypted and must be decrypted using your existing response-decryption process.