Refunds API

The Refunds API lets you issue and retrieve refunds against your store's orders. A refund is always tied to a single order, so refunds are created and listed under an order's token. Requests are authenticated with your secret API key, sent as the HTTP Basic username with an empty password. With curl: -u {API_KEY}:. See Authentication for details. The base URL is always https://app.snipcart.com/api.

⚠️ Important: Creating a refund is irreversible and submits the refund to the payment gateway that processed the original order. Double-check the amount before posting.

Table of contents

POST /orders/{token}/refunds

Creates a refund for the order identified by token and submits it to the order's payment gateway.

Resource URL

https://app.snipcart.com/api/orders/{token}/refunds

Headers

Name Required Description
Accept Yes Must be application/json.
Content-Type Yes Must be application/json.

Path Parameters

Name Required Type Description
token Yes string The order's unique token.

Body Parameters

Name Required Type Description
amount Yes decimal The amount to refund. Rounded to two decimal places. Cannot exceed the order's grand total or be below the gateway's minimum amount.
comment No string A note explaining the reason for the refund.
status No string Refund type. One of Complete or Partial.
autoRefundTaxes No boolean When true, taxes are refunded automatically in proportion to the refunded amount. Defaults to false.
notifyCustomer No boolean When true, sends the customer a refund notification email. Defaults to false.

Example request

curl https://app.snipcart.com/api/orders/4243490d-87c1-480e-b413-51db0b419313/refunds \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -u {API_KEY}: \
  -d '{
        "amount": 200.50,
        "comment": "Reason for refund",
        "status": "Partial",
        "autoRefundTaxes": true,
        "notifyCustomer": true
      }'

Example response

{
    "id": "2573490e-81d2-110c-b713-51ab0d823513",
    "creationDate": "2026-06-17T14:32:08Z",
    "modificationDate": "2026-06-17T14:32:08Z",
    "orderToken": "4243490d-87c1-480e-b413-51db0b419313",
    "amount": 200.50,
    "comment": "Reason for refund",
    "notifyCustomer": true,
    "refundedByPaymentGateway": true,
    "withdrawals": []
}

GET /orders/{token}/refunds

Returns every refund issued against the order identified by token.

Resource URL

https://app.snipcart.com/api/orders/{token}/refunds

Headers

Name Required Description
Accept Yes Must be application/json.

Path Parameters

Name Required Type Description
token Yes string The order's unique token.

Example request

curl https://app.snipcart.com/api/orders/4243490d-87c1-480e-b413-51db0b419313/refunds \
  -H "Accept: application/json" \
  -u {API_KEY}:

Example response

[
    {
        "id": "2223490d-84c1-480c-b713-50cb0b819313",
        "creationDate": "2026-05-02T09:14:51Z",
        "modificationDate": "2026-05-02T09:14:51Z",
        "amount": 300.00,
        "comment": "A comment",
        "notifyCustomer": false,
        "refundedByPaymentGateway": true,
        "withdrawals": []
    },
    ...
]

GET /orders/{token}/refunds/{id}

Returns a single refund for the given order.

Resource URL

https://app.snipcart.com/api/orders/{token}/refunds/{id}

Headers

Name Required Description
Accept Yes Must be application/json.

Path Parameters

Name Required Type Description
token Yes string The order's unique token.
id Yes string The refund's unique identifier (GUID).

Example request

curl https://app.snipcart.com/api/orders/4243490d-87c1-480e-b413-51db0b419313/refunds/2223490d-84c1-480c-b713-50cb0b819313 \
  -H "Accept: application/json" \
  -u {API_KEY}:

Example response

{
    "id": "2223490d-84c1-480c-b713-50cb0b819313",
    "creationDate": "2026-05-02T09:14:51Z",
    "modificationDate": "2026-05-02T09:14:51Z",
    "amount": 300.00,
    "comment": "A comment",
    "notifyCustomer": false,
    "refundedByPaymentGateway": true,
    "withdrawals": []
}

Was this article helpful?