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

# Encerrar autorização

> Encerra a autorização de Pix Automático no banco do pagador — as faturas seguintes deixam de ir a débito e passam a ser pagas pelo link.

`DELETE /pix-authorizations/:id`

Faz parte do recurso [Pix Automático](/pt-BR/pix-authorizations) — quem mais pode encerrar uma
autorização, e como você fica sabendo, está lá.

Encerra a autorização primeiro no banco do pagador e depois do nosso lado, e ela passa a `canceled`.
Nenhuma fatura seguinte vai a débito: a assinatura continua, e as renovações passam a ser enviadas
ao pagador por e-mail, com o link para pagar por Pix. Você também recebe o webhook
`pix_authorization.canceled`.

<Warning>
  **Se o banco do pagador recusar o encerramento, a resposta é `409` e nada muda.** A autorização
  continua `active` e as faturas continuam indo a débito. Tente de novo.
</Warning>

<Note>
  **Encerrar o que já está encerrado devolve `200`.** Uma autorização `canceled` ou `expired` volta
  com o estado dela, sem nova chamada ao banco — repetir a requisição é seguro.
</Note>

<Note>
  **Cancelar a assinatura, a assinatura cumprir todos os ciclos (`maxCycles`) ou trocar a forma de
  pagamento dela também encerra a autorização.** Nesses casos você não precisa chamar esta rota.
</Note>

## Exemplo

```bash theme={null}
curl -X DELETE https://api.sandbox.z2pay.com/v1/pix-authorizations/pxa_j43n74fbt2geb8c1y86ssf6iw \
  -H "x-api-key: SUA_CHAVE_DE_SANDBOX"
```

```json Resposta 200 theme={null}
{
  "id": "pxa_j43n74fbt2geb8c1y86ssf6iw",
  "customerId": "cust_hqx4mkpi8dcxbrb2nzynxnjky",
  "subscriptionId": "sub_m4n6b8v0c2x4z6a8s0d2f4g6h",
  "status": "canceled",
  "frequency": "monthly",
  "endDay": null,
  "createdAt": "2026-08-31T14:22:05.000Z",
  "updatedAt": "2026-08-31T14:24:40.000Z"
}
```


## OpenAPI

````yaml openapi/psp.json DELETE /pix-authorizations/{id}
openapi: 3.0.3
info:
  title: Z2Pay PSP API
  version: 1.0.0
  description: API pública do PSP — autenticação via API Key (Credential)
servers:
  - url: https://api.sandbox.z2pay.com/v1
    description: Sandbox
  - url: https://api.z2pay.com/v1
    description: Produção
security: []
tags:
  - name: Cards
    description: Cartões salvos de um cliente
  - name: Chargebacks
    description: Gerenciamento de chargebacks
  - name: Customers
    description: Gerenciamento de clientes (compradores)
  - name: Fees
    description: Tabela de taxas da conta (pix, boleto, cartão, saque, refund, chargeback)
  - name: Payments
    description: Consulta e estorno de pagamentos
  - name: Pix Automático
    description: >-
      Autorizações de débito recorrente por Pix. O pagador confirma uma vez no
      app do banco e as cobranças seguintes são debitadas sem ação dele.
  - name: Receivables
    description: >-
      Recebíveis: o que cada venda vai depositar na carteira, por recebedor e
      parcela, com data prevista e status
  - name: Recipients
    description: Gerenciamento de recebedores (sellers/merchants que recebem repasses)
  - name: Refunds
    description: Gerenciamento de reembolsos e estornos
  - name: Splits
    description: Regras de divisão do valor de uma venda entre recebedores
  - name: Transactions
    description: Gerenciamento de transações e payments
  - name: Wallets
    description: Saldo, extrato e resumo da carteira de um recebedor, agrupados por moeda
  - name: Webhooks
    description: Configuração, gerenciamento e histórico de entregas de webhooks
  - name: Withdrawals
    description: Solicitação e acompanhamento de saques (payouts) por recipient
paths:
  /pix-authorizations/{id}:
    delete:
      tags:
        - Pix Automático
      summary: Encerrar autorização
      description: >-
        Encerra a autorização no banco do pagador (arranjo Pix Automático) e só
        então marca o registro como `canceled`: nenhuma cobrança seguinte vai a
        débito automático, e o contrato volta a ser cobrado por Pix comum.


        Idempotente — encerrar uma autorização já `canceled` ou `expired`
        devolve `200` com o estado dela, sem chamar o banco de novo.
      operationId: PixAuthorizationController_cancel
      parameters:
        - name: id
          in: path
          required: true
          description: ID da autorização (`pxa_`)
          schema:
            type: string
      responses:
        '200':
          description: Autorização encerrada
          content:
            application/json:
              example:
                id: pxa_j43n74fbt2geb8c1y86ssf6iw
                customerId: cust_hqx4mkpi8dcxbrb2nzynxnjky
                subscriptionId: sub_m4n6b8v0c2x4z6a8s0d2f4g6h
                status: canceled
                frequency: monthly
                recurrenceBeginningDay: '2026-09-01'
                endDay: null
                createdAt: '2026-08-31T14:22:05.000Z'
                updatedAt: '2026-08-31T14:24:40.000Z'
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: ID da autorização (`pxa_`).
                  customerId:
                    type: string
                    nullable: true
                    description: >-
                      Cliente pagador (`cust_`). Na resposta da abertura vem
                      nulo quando o pagador foi enviado em `customer`: o vínculo
                      é preenchido logo depois, e o `GET` já o traz.
                  subscriptionId:
                    type: string
                    nullable: true
                    description: >-
                      Assinatura que usa esta autorização como forma de
                      pagamento. Nulo até a assinatura ser criada — e para
                      sempre numa autorização que nunca virou assinatura.
                  status:
                    type: string
                    description: >-
                      Situação da autorização: `pending`, `active`, `canceled`
                      ou `expired`. `canceled` e `expired` são finais.
                    enum:
                      - pending
                      - active
                      - canceled
                      - expired
                  frequency:
                    type: string
                    description: >-
                      Periodicidade que o pagador autorizou: `weekly`,
                      `monthly`, `quarterly`, `semiannual` ou `annual`. Precisa
                      ser a mesma da assinatura.
                    enum:
                      - weekly
                      - monthly
                      - quarterly
                      - semiannual
                      - annual
                  recurrenceBeginningDay:
                    type: string
                    description: >-
                      Primeiro dia em que o débito pode acontecer
                      (`YYYY-MM-DD`), no calendário da sua conta. Na abertura
                      pela API é o dia seguinte — o primeiro pagamento sai na
                      hora, pelo QR.
                  endDay:
                    type: string
                    nullable: true
                    description: >-
                      Último dia de validade (`YYYY-MM-DD`), resolvido a partir
                      do `endDate` enviado. Nulo quando a autorização vale até
                      ser encerrada.
                  createdAt:
                    type: string
                    description: Criação, ISO 8601.
                  updatedAt:
                    type: string
                    description: Última alteração, ISO 8601.
        '401':
          description: Credencial ausente ou inválida
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        description: >-
                          Identificador estável do erro. É por ele que você deve
                          ramificar, não pela mensagem.
                      message:
                        type: string
                        description: >-
                          Descrição legível. Pode mudar sem aviso e não deve ser
                          usada em condicional.
              example:
                error:
                  code: UNAUTHORIZED
                  message: Invalid API key
        '404':
          description: Autorização não encontrada nesta conta
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        description: >-
                          Identificador estável do erro. É por ele que você deve
                          ramificar, não pela mensagem.
                      message:
                        type: string
                        description: >-
                          Descrição legível. Pode mudar sem aviso e não deve ser
                          usada em condicional.
              example:
                error:
                  code: NOT_FOUND
                  message: Resource not found
        '409':
          description: >-
            O banco do pagador recusou o encerramento. Nada foi alterado — tente
            novamente.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        description: >-
                          Identificador estável do erro. É por ele que você deve
                          ramificar, não pela mensagem.
                      message:
                        type: string
                        description: >-
                          Descrição legível. Pode mudar sem aviso e não deve ser
                          usada em condicional.
              example:
                error:
                  code: CONFLICT
                  message: No refundable payment found
        '422':
          description: >-
            Idempotency-Key já usada com um corpo diferente. Use uma chave nova
            para uma operação diferente
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: >-
                      Mensagem do conflito de idempotência. Aqui `error` é
                      texto, não objeto — ramifique pelo status HTTP.
              example:
                error: Idempotency key already used with a different request body
      security:
        - apiKey: []
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: API Key da Credential (gerada no Backoffice)

````

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