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

# Reembolsar Pedido

> Solicita o reembolso de um pedido específico

#### Escopo

```bash theme={null}
    write orders
```

## Visão geral

Reembolsa um pedido pago. Quem confirma o reembolso é a adquirente — a chamada apenas **solicita** a operação; o pedido fica com status `in_settlement` até a liquidação ser processada.

<Note>
  Se o pedido já estiver com status `refund_requested` (por exemplo, aberto pelo cliente), esta chamada **aprova** a solicitação em andamento em vez de abrir uma nova.
</Note>

## Pré-condições

| Condição                                            | Resposta se não atendida                                        |
| --------------------------------------------------- | --------------------------------------------------------------- |
| A conta do produtor não pode estar bloqueada        | `400` — `Conta do produtor bloqueada.`                          |
| O pedido não pode já estar reembolsado              | `400` — `Pedido já reembolsado`                                 |
| O pedido precisa estar `paid` ou `refund_requested` | `400` — `Não é possível reembolsar uma ordem que não está paga` |

## Erros

| Código | Quando                                                                               |
| ------ | ------------------------------------------------------------------------------------ |
| `400`  | Pré-condição não atendida (tabela acima)                                             |
| `409`  | A solicitação de reembolso já está sendo processada por outra requisição concorrente |
| outros | Repassados diretamente da adquirente quando ela rejeita o reembolso                  |


## OpenAPI

````yaml POST /public_api/orders/{id}/refund/
openapi: 3.0.3
info:
  title: Cakto API
  version: 1.0.0
  description: Documentação da API pública do Cakto.
servers:
  - url: https://api.cakto.com.br
    description: Cakto API
security: []
paths:
  /public_api/orders/{id}/refund/:
    post:
      tags:
        - orders
      description: Refund via producer.
      operationId: orders_refund_create
      parameters:
        - in: path
          name: id
          schema:
            type: string
            format: uuid
          description: Id do Pedido
          required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderRefund200'
              examples:
                Successo:
                  value:
                    detail: Reembolso solicitado com sucesso!
          description: Corpo da resposta status 200
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderRefund400'
              examples:
                ContaBloqueada:
                  value:
                    detail: Conta do produtor bloqueada.
                PedidoJáReembolsado:
                  value:
                    detail: Pedido já reembolsado
                PedidoNãoPago:
                  value:
                    detail: Não é possível reembolsar uma ordem que não está paga
          description: Corpo da resposta status 400
        '401':
          description: Request não autenticado devido à ausência ou invalidez do token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
              examples:
                Token ausente ou inválido:
                  $ref: '#/components/examples/UnauthenticatedErrorExample'
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderRefund404'
              examples:
                PedidoNãoEncontrado:
                  value:
                    detail: Não encontrado.
          description: Corpo da resposta status 404
      security:
        - OAuth Token: []
components:
  schemas:
    OrderRefund200:
      type: object
      properties:
        detail:
          type: string
      required:
        - detail
    OrderRefund400:
      type: object
      properties:
        detail:
          type: string
      required:
        - detail
    UnauthenticatedError:
      type: object
      properties:
        detail:
          type: string
    OrderRefund404:
      type: object
      properties:
        detail:
          type: string
      required:
        - detail
  examples:
    UnauthenticatedErrorExample:
      summary: Token ausente ou inválido
      description: Token ausente ou inválido
      value:
        detail: As credenciais de autenticação não foram fornecidas.
  securitySchemes:
    OAuth Token:
      type: http
      scheme: bearer
      in: header
      name: Authorization
      description: >-
        Token de autenticação do tipo `Bearer {access_token}`, onde
        `{access_token}` é o token obtido no fluxo de
        [autenticação](/authentication).

````