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

# Extornar cobrança

> Veja como é simples fazer um extorno



## OpenAPI

````yaml openapi.yaml post /charge/refund/{id}
openapi: 3.1.0
info:
  title: API AobaPay
  description: API para gerenciamento de cobranças e pagamentos usando o AobaPay.
  version: 1.0.0
servers:
  - url: https://api.aobapay.com/v1
    description: Único servidor para os ambientes de produção e sandbox.
security: []
paths:
  /charge/refund/{id}:
    post:
      summary: Extornar cobrança
      description: Veja como é simples fazer um extorno
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type:
              - string
              - integer
            description: Id da cobrança pode ser o (externalID ou ChargeId)
            example: ch_123456
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                amount:
                  type: number
                  description: Valor do extorno em centavos.
                comment:
                  type: string
                  description: Comentário sobre o extorno
                  maxLength: 35
      responses:
        '200':
          description: Extorno realizado
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: 'null'
                  status:
                    type: integer
                    description: Código de status HTTP.
                    example: 200
                  data:
                    $ref: '#/components/schemas/Refund'
        '400':
          description: Requisição inválida. Dados fornecidos são inválidos.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Mensagem de erro descrevendo o motivo da falha.
                    example: ID da cobrança é obrigatório
                  status:
                    type: integer
                    description: Código de status HTTP.
                    example: 400
                  data:
                    type: array
                    example: []
        '401':
          description: Não autorizado. Falha na autenticação.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Mensagem de erro descrevendo o motivo da falha.
                    example: Header com Authorization está vazio
                  status:
                    type: integer
                    description: Código de status HTTP.
                    example: 401
                  data:
                    type: array
                    example: []
      security:
        - bearerAuth: []
components:
  schemas:
    Refund:
      type: object
      description: Dados do extorno.
      additionalProperties: false
      properties:
        id:
          type: string
          description: Identificador único do QRCode Pix.
          example: ch_123456
        externalID:
          type: string
          description: Identificador único do QRCode Pix no seu sistema.
          example: pedido-123
        amount:
          type: integer
          description: Valor Extornado
          example: 200
        comment:
          type: string
          description: Descrição do extorno
          example: Se arrependeu ;(
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Cabeçalho de autenticação Bearer no formato `Bearer <aobapay-api-key>`
        onde `<aobapay-api-key>` é a sua chave de API.

````