comecerodocs

Get a refund list

GET
/refund_list/{refund_list_id}

Returns the result of an earlier order refund again: the refund_list that POST /orders/{order_id}/refunds returned, with each refund in its current state. Its url is in that response.

Needs a secret or trusted token. Limited tokens get 403.

Authorization

headerAuthorizationBearer <token>

A secret, trusted or limited token. See Authentication.

Path Parameters

refund_list_id*string

The refund list id, from refund_list_id in the refund response.

Query Parameters

expand?string

Comma-separated child objects to return in full instead of as a URL, for example customer,payments. Use dot notation for nested objects (items.product), up to four levels deep. A single object takes up to 12 paths; a list takes up to 2, applied to every item. Extra paths are dropped without an error. See Expanding objects.

Response Body

The refund list.

application/json
  1. response

The result of refunding an order. An order can have more than one payment, and the refund is spread over them, largest first (store credit payments last), so this holds one refund per payment used, each with its own result.

object*"refund_list"

The object type. Always refund_list.

Value in"refund_list"
url*string

The URL of this result, which you can read again later.

Formaturi
refund_list_id*string

The id of this result.

test*boolean

True for test refunds.

account_id*|

The account the refunds belong to.

currency*|

The currency of the refunds.

subtotal*number

The subtotal of the refunds that completed or are pending, in currency.

shipping*number

The shipping of the refunds that completed or are pending, in currency.

tax*number

The tax of the refunds that completed or are pending, in currency.

total*number

The total of the refunds that completed or are pending, in currency.

success_count*integer

How many refunds succeeded (completed or pending).

failure_count*integer

How many refunds failed.

refunds*array<>

The refunds made.

Example Request
curl -X GET 'https://api.comecero.com/api/v1/refund_list/string'
Example Response
{  "object": "refund_list",  "url": "https://api.comecero.com/api/v1/refund_list/0090374314470RlA8kWm3T",  "refund_list_id": "0090374314470RlA8kWm3T",  "test": true,  "account_id": "AB1234",  "currency": "USD",  "subtotal": 49.95,  "shipping": 0,  "tax": 0,  "total": 49.95,  "success_count": 1,  "failure_count": 0,  "refunds": [    {      "object": "refund",      "url": "https://api.comecero.com/api/v1/refunds/0090374314462Rec3PffZ5",      "refund_id": "0090374314462Rec3PffZ5",      "account_id": "AB1234",      "success": true,      "status": "completed",      "reference": null,      "date_created": "2026-11-03T10:12:40Z",      "date_modified": "2026-11-03T10:12:41Z",      "date_completed": "2026-11-03T10:12:41Z",      "test": true,      "currency": "USD",      "subtotal": 49.95,      "shipping": 0,      "tax": 0,      "total": 49.95,      "reason": "Customer request",      "apply_to_balance": false,      "is_chargeback": false,      "record_only": false,      "record_only_memo": null,      "response_code": "OK",      "response_message": "OK",      "gateway_transaction_id": "re_test_3PffZ5",      "gateway_error_code": null,      "gateway_error_message": null,      "gateway": "https://api.comecero.com/api/v1/gateways/0089584408915Gtf5AsdJ8",      "comments": null,      "payment_method": "https://api.comecero.com/api/v1/refunds/0090374314462Rec3PffZ5/payment_method",      "settlement_currency": "USD",      "settlement_subtotal": 49.95,      "settlement_shipping": 0,      "settlement_tax": 0,      "settlement_total": 49.95,      "fx_rate": 1,      "reporting_currency": "USD",      "reporting_subtotal": 49.95,      "reporting_shipping": 0,      "reporting_tax": 0,      "reporting_total": 49.95,      "reporting_fx_rate": 1,      "items": "https://api.comecero.com/api/v1/refunds/0090374314462Rec3PffZ5/items",      "customer": "https://api.comecero.com/api/v1/customers/0093717976099CuAiEBXu4",      "order": "https://api.comecero.com/api/v1/orders/7393-GMRFY-954",      "payment": "https://api.comecero.com/api/v1/payments/0093717991362PyRYN1qc6",      "invoice": null,      "fees": "https://api.comecero.com/api/v1/refunds/0090374314462Rec3PffZ5/fees",      "fee_summary": "https://api.comecero.com/api/v1/refunds/0090374314462Rec3PffZ5/fee_summary",      "commissions": "https://api.comecero.com/api/v1/refunds/0090374314462Rec3PffZ5/commissions",      "meta": null    }  ]}

Refund an order POST

Gives money back to the customer. Money moves. **An empty body is a full refund.** Send no body (or `{}`) to refund everything on the order that has not been refunded yet. For a partial refund send one of `total`, `tax`, `items` or `shipping` (`items` and `shipping` may go together); the API works out the rest. An order can have more than one payment. The refund is spread over them, largest payment first and store credit payments last, so the response is a `refund_list` with one refund per payment used, not a single refund. Each refund has its own `success` and `status`; a refund can stay `pending` until the payment provider confirms it. When every refund fails, the API answers with an error instead and puts the `refund_list` in the error's `meta.refund_list`. The order's `payment_status` becomes `refunded` once the whole amount is refunded. For each refund, `refund:created_success` fires when it completes (later, for a pending one) and the customer gets the refund email; `refund:created_failure` fires when it fails. A chargeback sends no email and cancels the subscription the order belongs to. To refund one payment of an order, or to record a chargeback on an order with more than one payment, use `POST /payments/{payment_id}/refunds`. Needs a secret or trusted token. Limited tokens get `403`.

List refunds GET

Lists the refunds and chargebacks on your account, including failed and pending ones, oldest first unless you send `desc=true`. To make a refund, refund an order (`POST /orders/{order_id}/refunds`), an invoice or a payment. The list is cursor-based: use `after_item` and `before_item` (or the `next_page_url` and `previous_page_url` in the response). It is ordered by the date named in `date_type` (`date_created` by default; `date_modified` and `date_completed` also work). `sort_by` is ignored. Needs a secret or trusted token. Limited tokens get `403`.