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

> ## Agent Instructions
> Responda em português brasileiro, na segunda pessoa ("você"), com base na documentação Malga.
> Não invente endpoints, parâmetros, status codes ou comportamentos de API. Se não estiver na docs, diga que não encontrou e indique a página mais próxima.
> Use os headers X-Client-Id e X-Api-Key nos exemplos de autenticação.
> Motor de Assinaturas refere-se a /v1/subscriptions* (cycles, trial, retentativas, webhooks subscription.*). Não chame de "motor de recorrência".
> Recorrência (provedor) é paymentMethod.recurrence em POST /v1/charges (initial / subsequent / unscheduled), distinto do Motor de Assinaturas.
> Sandbox é ambiente de testes e não afeta produção.

# Estornar cobrança

> Estorne cobranças aprovadas de forma total ou parcial usando o método de estorno da API SDK da Malga em Node.js ou PHP, com suporte a split.

Estorne cobranças autorizadas.

### Método

<Tabs>
  <Tab title="Node.js">
    ```typescript theme={null}
    import { Malga } from 'malga'

    const malga = new Malga({
      apiKey: '17a64c8f-a387-4682-bdd8-d280493715e0',
      clientId: 'd1d2b51a-0446-432a-b055-034518c2660e',
    })

    await malga.charges.refund(
      'e09ef791-1aaa-4b11-8173-698f2689a04d',
      { amount: 100 }
    )
    ```
  </Tab>
</Tabs>

<Tabs>
  <Tab title="Response">
    ```typescript theme={null}
    {
      id: 'e09ef791-1aaa-4b11-8173-698f2689a04d',
      clientId: 'd1d2b51a-0446-432a-b055-034518c2660e',
      merchantId: '8cfef0d1-73af-4bdb-b6c4-09ad3fbfc7f1',
      description: null,
      orderId: null,
      providerReferenceKey: null,
      createdAt: '2023-12-31T18:19:44.993Z',
      amount: 0,
      originalAmount: 100,
      currency: 'BRL',
      statementDescriptor: null,
      capture: true,
      isDispute: false,
      status: 'voided',
      paymentMethod: {
        installments: 1,
        paymentType: 'credit',
      },
      paymentSource: {
        sourceType: 'card',
        cardId: '3db399d3-44c1-49fe-ab26-6fb00c161337',
      },
      transactionRequests: [
        {
          id: '5da7d8d4-55e9-4268-bfff-a5992a0b1d43',
          createdAt: '2023-12-31T19:19:45.013Z',
          updatedAt: '2023-12-31T19:19:45.044Z',
          idempotencyKey: '4bd7cd89-ef1d-44aa-a35d-b1eabafc86a6',
          providerId: '694f7eee-2966-4825-a847-65d070cbdece',
          providerType: 'SANDBOX',
          transactionId: '18242a4d-dd35-475f-b79b-5cbe8f9d1fea',
          amount: 100,
          authorizationCode: '123123',
          authorizationNsu: '123123',
          requestStatus: 'success',
          requestType: 'void',
          responseTs: '11ms',
          providerAuthorization: {
            networkAuthorizationCode: '123123',
            networkResponseCode: '123123',
          }
        },
        {
          id: 'a6cc6bda-3f6d-4277-8ea2-e4bbd9166f16',
          createdAt: '2023-12-31T18:19:45.013Z',
          updatedAt: '2023-12-31T18:19:45.044Z',
          idempotencyKey: '3b42ede3-15a8-4d81-b6e9-54c5762776c6',
          providerId: '694f7eee-2966-4825-a847-65d070cbdece',
          providerType: 'SANDBOX',
          transactionId: '18242a4d-dd35-475f-b79b-5cbe8f9d1fea',
          amount: 100,
          authorizationCode: '123123',
          authorizationNsu: '123123',
          requestStatus: 'success',
          requestType: 'authorization',
          responseTs: '11ms',
          providerAuthorization: {
            networkAuthorizationCode: '123123',
            networkResponseCode: '123123',
          }
        }
      ],
      appInfo: null
    }
    ```
  </Tab>
</Tabs>

### Parâmetros

Lista de todos os parâmetros suportados pelo método.

<ParamField path="id" type="uuid" required>
  ID da cobrança
</ParamField>

<ParamField path="payload" type="object" required>
  Segundo parâmetro

  <Expandable title="Parâmetros de payload">
    <ParamField path="amount" type="number" required>
      Valor da cobrança a ser estornado
    </ParamField>

    <ParamField path="delayToCompose" type="number">
      Número de dias para compor o valor a ser estornado. Utilizado apenas pela NuPay
    </ParamField>
  </Expandable>
</ParamField>


## Related topics

- [Gestão de Cobranças](/documentations/dashboard/charge-details.md)
- [Estornar cobrança aprovada](/api-reference/charges/estornar-cobranca-aprovada.md)
- [Cartão de crédito](/documentations/payment-methods/credit-card.md)
- [Pagamentos com Pix na Malga](/documentations/payment-methods/pix.md)
