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/refundRequest 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
| Field | Type | Description |
|---|---|---|
refund_reference | string | SaySwitch reference for the refund. |
transaction_reference | string | Reference of the original successful card transaction. |
amount | string | Amount being returned to the customer. |
fee | string | Refund processing fee determined by the merchant’s agreement. |
total_reserved | string | Refund amount plus fee reserved from the wallet. |
funding | object | Funding state and the available/pending balance reservation split. |
currency | string | Refund currency. Currently USD. |
status | string | awaiting_settlement, pending, processing, success, failed, or rejected. |
external_reference | string or null | Processing reference when available. |
requested_at | string or null | ISO 8601 time when the request was accepted. |
completed_at | string or null | ISO 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.