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

# Solicitar reembolso (assíncrono)

> Solicita um reembolso para uma transação específica. A operação é
processada de forma assíncrona — o endpoint retorna `202 Accepted`
imediatamente com o header `Location` apontando para o endpoint de
consulta de status.

Caso já exista um reembolso ativo (status `requested` ou `success`)
para a transação, o endpoint retorna `200 OK` com os dados do
reembolso existente, sem criar uma nova solicitação.

**Campos opcionais:**
- `observation` - Observação sobre o reembolso
- `reason` - Motivo do reembolso (caso não informado, o Nexus utiliza o padrão)
- `fraud_confirmed` - Indica se o reembolso é motivado por fraude confirmada
- `refund_type` - Tipo de reembolso quando aplicável

**Fluxo recomendado:**
1. `POST /financial/refund/{hash}` → recebe `202` com `Location`
2. `GET /financial/refund/{hash}/status` → consulta até `completed` ou `failed`




## OpenAPI

````yaml /api-reference/openapi.yaml post /financial/refund/{transaction_hash}
openapi: 3.0.3
info:
  title: Nexus
  version: 1.0.2
  description: >
    API para integração entre Ticto e clientes externos


    # Autenticação


    Para autenticar as solicitações aos endpoints descritos a seguir, por favor,
    siga os passos abaixo:


    1. **Solicite** seu cadastro como cliente através do e-mail
    **infraestrutura@ticto.com.br** para obter seu `client_id` e `token`.

    2. **Use** seu token e ID de cliente para fazer login no Nexus e obter seu
    `client_token`.

    3. **Em todas as outras requisições**, envie seu `client_token` no header
    como `X-Api-Client-Token`.

    4. **Crie** seus usuários na rota de criação de usuário. Para cada usuário,
    será retornado um `public_token` único.

    5. **Para endpoints que não estão em public.php**, adicione o `public_token`
    do usuário no cabeçalho **Authorization** utilizando o formato:

       ```http
       Authorization: Bearer {public_token}
       ```

    ## Restrição de origem


    O acesso a esta API não está disponível para todos os sellers. Seu uso é
    estritamente permitido para parceiros comerciais que a utilizarão em
    cenários específicos. Por este motivo, o acesso será restrito a endereços IP
    e domínios previamente informados por esses parceiros. Essa medida visa
    proporcionar um ambiente mais controlado e seguro para todos os nossos
    usuários e parceiros.


    ### O que isso significa para os desenvolvedores?


    - **Acesso Limitado:**
      Somente os IPs e domínios pré-autorizados poderão realizar chamadas à API. Qualquer tentativa de acesso de um IP ou domínio não listado será automaticamente rejeitada.

    - **Processo de Autorização:**
      Para garantir a continuidade do acesso à API sem interrupções, é essencial que os desenvolvedores enviem os endereços IP ou domínios que necessitam de acesso diretamente à nossa equipe de suporte.

    - **Como Solicitar Acesso:**
      Envie um e-mail para **liberacao@ticto.com.br** com o assunto _"Solicitação de Acesso à API de pagamentos"_, incluindo:
      - Nome da empresa ou do desenvolvedor
      - Endereços IP ou domínios a serem autorizados
      - Justificativa para o acesso
      - Informações de contato para eventuais esclarecimentos

    ## Alterações e/ou inclusão de novos domínios e IPs


    Recomendamos que solicitações de adição ou alteração de IPs/domínios sejam
    feitas o mais breve possível para garantir uma transição suave. Em casos de
    alterações, os domínios e/ou IPs anteriores serão imediatamente bloqueados
    após sua remoção.


    ## Suporte e Dúvidas


    Para dúvidas ou suporte adicional, entre em contato conosco através do
    e-mail **liberacao@ticto.com.br**. Estamos comprometidos em auxiliar neste
    processo e garantir a melhor experiência possível.
servers:
  - url: https://nexus.ticto.com.br/api/v1
    description: Produção
security: []
tags:
  - name: Autenticação
  - name: Configurações do Cliente
  - name: Usuários
  - name: Onboarding de usuário
  - name: Contas Bancárias
  - name: Faixas de Taxa
    description: >-
      Endpoints para consulta de faixas de taxa personalizadas e histórico de
      alterações.
  - name: Frete
  - name: Financeiro
  - name: PIX Automático
    description: >-
      Consulta, cancelamento e nova tentativa de cobrança de assinaturas com PIX
      Automático (débito recorrente autorizado pelo pagador).
  - name: Produtos
  - name: Integrações
  - name: 'Webhooks: Usuários'
    description: Eventos relacionados a cadastro e atualização de usuários.
  - name: 'Webhooks: Contas Bancárias'
    description: Eventos relacionados a contas bancárias dos sellers.
  - name: 'Webhooks: Produtos e Ofertas'
    description: Eventos relacionados a produtos, ofertas, afiliados e coprodutores.
  - name: 'Webhooks: Financeiro'
    description: Eventos de reembolso, saque e antecipação.
  - name: 'Webhooks: Faixas de Taxa'
    description: Eventos de criação, atualização e exclusão de faixas de taxa.
  - name: 'Webhooks: Pedidos'
    description: Eventos de criação e atualização de pedidos.
  - name: 'Webhooks: Cobranças'
    description: >-
      Eventos de criação e mudança de status de cobranças (transações), na
      primeira compra e nas renovações.
  - name: 'Webhooks: Assinaturas'
    description: Eventos do ciclo de vida de assinaturas, cobranças e trial.
paths:
  /financial/refund/{transaction_hash}:
    post:
      tags:
        - Financeiro
      summary: Solicitar reembolso (assíncrono)
      description: >
        Solicita um reembolso para uma transação específica. A operação é

        processada de forma assíncrona — o endpoint retorna `202 Accepted`

        imediatamente com o header `Location` apontando para o endpoint de

        consulta de status.


        Caso já exista um reembolso ativo (status `requested` ou `success`)

        para a transação, o endpoint retorna `200 OK` com os dados do

        reembolso existente, sem criar uma nova solicitação.


        **Campos opcionais:**

        - `observation` - Observação sobre o reembolso

        - `reason` - Motivo do reembolso (caso não informado, o Nexus utiliza o
        padrão)

        - `fraud_confirmed` - Indica se o reembolso é motivado por fraude
        confirmada

        - `refund_type` - Tipo de reembolso quando aplicável


        **Fluxo recomendado:**

        1. `POST /financial/refund/{hash}` → recebe `202` com `Location`

        2. `GET /financial/refund/{hash}/status` → consulta até `completed` ou
        `failed`
      operationId: createRefund
      parameters:
        - name: transaction_hash
          in: path
          required: true
          description: Hash da transação
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestRefund'
      responses:
        '200':
          description: Reembolso já existente retornado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseRefund'
        '202':
          description: Reembolso aceito para processamento assíncrono
          headers:
            Location:
              description: URL do endpoint de consulta de status
              schema:
                type: string
                example: /api/v1/financial/refund/{hash}/status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseRefundAccepted'
        '401':
          description: Não autorizado
        '404':
          description: Transação não encontrada
        '422':
          description: Transação não elegível para reembolso
        '500':
          description: Erro interno do servidor
      security:
        - ApiClientToken: []
        - bearerAuth: []
components:
  schemas:
    RequestRefund:
      type: object
      properties:
        observation:
          type: string
          description: Observação que ficará registrada no reembolso
        reason:
          type: string
          maxLength: 1000
          description: Motivo do reembolso enviado ao serviço de pagamentos
        fraud_confirmed:
          type: boolean
          description: Indica se a solicitação é referente a fraude confirmada
        refund_type:
          type: string
          description: Tipo do reembolso quando aplicável
        cancel_subscription:
          type: boolean
          nullable: true
          description: >-
            Se deve cancelar a assinatura vinculada à transação junto com o
            reembolso. Quando não informado e a transação possui assinatura, o
            valor padrão é `true`.
        user_id:
          type: string
          nullable: true
          description: >-
            Código (hash) do usuário associado ao reembolso. Deve ser um código
            válido de um usuário ativo (não excluído).
          example: XXWBD7UOKM1756304064
    ResponseRefund:
      type: object
      required:
        - status
        - message
        - data
      properties:
        status:
          type: string
          example: success
        message:
          type: string
          example: Reembolso processado com sucesso
        data:
          oneOf:
            - $ref: '#/components/schemas/Refund'
            - type: object
              properties:
                message:
                  type: string
                refunds:
                  type: array
                  items:
                    $ref: '#/components/schemas/Refund'
    ResponseRefundAccepted:
      type: object
      required:
        - status
        - message
        - data
      properties:
        status:
          type: string
          enum:
            - processing
          example: processing
        message:
          type: string
          example: Refund is being processed.
        data:
          type: object
          properties:
            transaction_hash:
              type: string
              example: TPC1E5FE0308FDE66WXX
    Refund:
      type: object
      required:
        - hash
        - transaction_hash
        - status
        - amount
      properties:
        hash:
          type: string
        transaction_hash:
          type: string
        status:
          type: string
        amount:
          type: integer
          description: Valor do reembolso em centavos
        observation:
          type: string
          nullable: true
        created_at:
          type: string
          example: 31/12/2024 12:00:00
          description: Data e hora do registro (formato dd/mm/aaaa HH:MM:SS)
        updated_at:
          type: string
          example: 31/12/2024 12:00:00
          description: Data e hora da última atualização (formato dd/mm/aaaa HH:MM:SS)
  securitySchemes:
    ApiClientToken:
      type: apiKey
      in: header
      name: X-Api-Client-Token
      description: Token de autenticação do cliente obtido via endpoint /auth
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Token de autenticação do usuário (public_token) obtido na criação do
        usuário

````

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