SessionsCreate refund for checkout session

Create refund for checkout session

Creates a refund against a completed or partially refunded checkout session.

curl -X POST "https://api.example.com/api/v1/sessions/6a2fca3f-fffd-4f3a-8eaf-11af4e21aa7b/refunds" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: example_string" \
  -H "Authorization: Bearer YOUR_API_TOKEN (JWT)" \
  -d '{
  "amount": 45.01,
  "reason": "REQUESTED_BY_CUSTOMER",
  "lineItems": [
    {
      "name": "Wireless Headphones",
      "sku": "WH-100",
      "quantity": 1,
      "unitPrice": 119
    }
  ]
}'
{
  "refundId": "3d72f30c-2977-44bf-b2e8-ff09b9b3216d",
  "sessionId": "6a2fca3f-fffd-4f3a-8eaf-11af4e21aa7b",
  "status": "PENDING",
  "amount": 45.01,
  "currency": "USD",
  "reason": "REQUESTED_BY_CUSTOMER",
  "failureReason": "PAYMENT_FAILED",
  "createdAt": "2026-04-24T12:30:00.000Z"
}
POST
/api/v1/sessions/{sessionId}/refunds
POST
Base URLstring

Target server for requests. Edit to use your own host.

Bearer Token (JWT)
Bearer Tokenstring
Required

Bearer token (JWT) - just enter the token, "Bearer" prefix will be added automatically

path
sessionIdstring
Required

Checkout session ID.

Content-Typestring
Required

The media type of the request body

Options: application/json
header
Idempotency-Keystring
Required

Client-generated unique key used to safely retry refund creation. Can be any opaque string up to 255 characters.

amountnumber

Refund amount in major currency units; must not exceed remaining refundable balance. When omitted, refunds the full remaining balance for the session.

reasonstring

Optional refund reason.

Options: REQUESTED_BY_CUSTOMER, DUPLICATE, FRAUDULENT
Request Preview
Response

Response will appear here after sending the request

Authentication

header
Authorizationstring
Required

Bearer token (JWT). Authentication token required.

Path Parameters

sessionIdstring
Required

Checkout session ID.

Example:
6a2fca3f-fffd-4f3a-8eaf-11af4e21aa7b

Headers

Idempotency-Keystring
Required

Client-generated unique key used to safely retry refund creation. Can be any opaque string up to 255 characters.

Body

application/json
amountnumber

Refund amount in major currency units; must not exceed remaining refundable balance. When omitted, refunds the full remaining balance for the session.

Example:
45.01
reasonstring

Optional refund reason.

Allowed values:REQUESTED_BY_CUSTOMERDUPLICATEFRAUDULENT
lineItemsarray

Responses