> ## Documentation Index
> Fetch the complete documentation index at: https://partner-docs.tickify.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Request a refund for an order

> 
Request a full or partial refund for an order. Supports idempotent refunds — duplicate requests with the same idempotencyKey return the existing refund result.

**Refund Behavior:**
- Full or partial refund amounts supported
- Stripe refund created via payment intent
- Tickets associated with the order are voided (status set to REFUNDED)
- Tickify platform fees are reversed for the refunded amount
- Finance transaction recorded with REFUND type
- `refund.processed` webhook sent to partner

**Idempotency:** Provide an `idempotencyKey` to safely retry a refund request without double-processing.
    



## OpenAPI

````yaml /partner-docs/openapi.json post /partners/orders/{orderId}/refund
openapi: 3.0.0
info:
  title: Tickify Partner API
  description: >2-

        API documentation for the Tickify Partner Platform.

        Getting Started:
    1. Register as a partner and wait for approval from the Tickify team.
        2. Once approved, request an API key from the Tickify team. A Tickify admin will generate and securely share your API key with you.
        3. Use your API key to authenticate partner API requests.
        4. Generate an access token using the /partner/auth/token endpoint in the Auth documentation.
        5. Use the access token for authenticated requests where required.

        **API Keys:**
    - Test keys use the 

    `tk_test_` prefix. These keys work in sandbox mode and never charge real
    payment methods.

    - Live keys use the 

    `tk_live_` prefix. These keys process real payments and require completed
    Stripe Connect onboarding.

    - Both key types follow the same API behavior — only the payment environment
    differs.

    - To test checkout flows without real charges, use 

    `tk_test_` keys and include test card numbers in your Stripe integration.
        
  version: '1.0'
  contact: {}
servers:
  - url: http://localhost:3000
    description: Local Development
  - url: https://api-staging.tickify.io
    description: Staging
  - url: https://api.tickify.io
    description: Production
security: []
tags: []
paths:
  /partners/orders/{orderId}/refund:
    post:
      tags:
        - Partner Orders
      summary: Request a refund for an order
      description: >-

        Request a full or partial refund for an order. Supports idempotent
        refunds — duplicate requests with the same idempotencyKey return the
        existing refund result.


        **Refund Behavior:**

        - Full or partial refund amounts supported

        - Stripe refund created via payment intent

        - Tickets associated with the order are voided (status set to REFUNDED)

        - Tickify platform fees are reversed for the refunded amount

        - Finance transaction recorded with REFUND type

        - `refund.processed` webhook sent to partner


        **Idempotency:** Provide an `idempotencyKey` to safely retry a refund
        request without double-processing.
            
      operationId: PartnerOrdersController_refundOrder
      parameters:
        - name: orderId
          required: true
          in: path
          description: Order ID (Stripe Session ID)
          schema:
            example: cs_test_abc123
            type: string
      responses:
        '200':
          description: Refund request processed successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Refund processed successfully
                  refund_id:
                    type: string
                    example: re_abc123
                  amount:
                    type: number
                    example: 50
                  currency:
                    type: string
                    example: USD
                  status:
                    type: string
                    example: REFUNDED
                  isIdempotent:
                    type: boolean
                    example: false
                  reversedFee:
                    type: number
                    example: 2.5
        '400':
          description: Refund amount exceeds total, order not paid, or invalid input
        '404':
          description: Order not found or not owned by partner
        '422':
          description: Validation failed or refund not possible
      security:
        - access-token: []
        - partner-api-key: []
components:
  securitySchemes:
    access-token:
      scheme: bearer
      bearerFormat: JWT
      type: http
    partner-api-key:
      type: apiKey
      in: header
      name: x-partner-key
      description: Partner API Key (tk_live_... or tk_test_...)

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.