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

# Receber Pix por chave fixa

> Receba Pix numa chave fixa da sua conta, sem gerar cobrança, e automatize a baixa com webhook.

Com o Pix por chave fixa, seus clientes pagam numa chave Pix da sua conta AbacatePay, sem cobrança, QR Code ou boleto. Serve para quem tem clientes que só pagam "por chave" e quer automatizar a baixa desses recebimentos.

* Todo Pix que cai na chave entra no seu saldo, com a mesma [taxa](https://docs.abacatepay.com/pages/concepts/taxas.md) do Pix por QR Code da sua conta.
* A cada Pix recebido, a AbacatePay dispara o webhook `pix_key.received`, com o valor, a taxa e quem pagou (nome, CPF/CNPJ e banco).
* Não existe cobrança por trás. O pagamento é identificado pelo próprio Pix (pagador e `endToEndId`), não por um ID de cobrança.

***

## Disponibilidade

* O recurso é liberado conta a conta pela equipe AbacatePay, para contas elegíveis. Para usar, fale com o suporte pelo chat do dashboard ou em [ajuda@abacatepay.com](mailto:ajuda@abacatepay.com).
* Funciona só em produção. Não existe Pix por chave no [Dev mode](https://docs.abacatepay.com/pages/devmode.md), e webhooks criados em Dev mode não recebem esses eventos.

***

## Passo 1: pegue a sua chave no dashboard

Com o recurso liberado, a aba **Chave Pix** aparece em **Cobranças**.

Clique em **Ver minha chave Pix**:

![Botão Ver minha chave Pix em Cobranças](https://mintcdn.com/abacatepay/BO5y-SPVe4L6apAE/images/pix-chave-botao.png?fit=max\&auto=format\&n=BO5y-SPVe4L6apAE\&q=85\&s=8da0de2f383f0b2a863a03594c63c659)

Copie a chave. É ela que você passa para os seus clientes.

![Modal Sua chave Pix com a chave e o botão de copiar](https://mintcdn.com/abacatepay/BO5y-SPVe4L6apAE/images/pix-chave-modal.png?fit=max\&auto=format\&n=BO5y-SPVe4L6apAE\&q=85\&s=60e38e9e6f2e95002bff5b8f01fcccf8)

***

## Passo 2: acompanhe os Pix recebidos

A aba **Chave Pix** lista cada Pix recebido na chave, com:

* pagador (nome e CPF/CNPJ mascarado);
* valor e data;
* status: **Pago**, **Em disputa** ou **Reembolsado**;
* ações: **Ver comprovante**, **Reembolsar** e **Copiar ID**.

Dá para buscar por ID, nome ou CPF/CNPJ e filtrar por status.

![Aba Chave Pix com a lista dos Pix recebidos](https://mintcdn.com/abacatepay/BO5y-SPVe4L6apAE/images/pix-chave-lista.png?fit=max\&auto=format\&n=BO5y-SPVe4L6apAE\&q=85\&s=1241f3c028a670379af7b0138c3607d0)

Os Pix recebidos na chave contam no faturamento do dashboard e aparecem no Extrato como venda no Pix.

***

## Passo 3: cadastre o webhook

Em **Webhooks → Webhook v2** no dashboard, crie um webhook com os eventos:

| Evento | Nome no dashboard | Quando é disparado |
| - | - | - |
| `pix_key.received` | Pix recebido na chave | Um Pix caiu na sua chave |
| `pix_key.refunded` | Pix recebido na chave reembolsado | Um Pix recebido na chave foi reembolsado |

![Criação de webhook v2 com os eventos de Pix por chave](https://mintcdn.com/abacatepay/BO5y-SPVe4L6apAE/images/pix-chave-webhook.png?fit=max\&auto=format\&n=BO5y-SPVe4L6apAE\&q=85\&s=4bc7685c27e5e18d46736c58a842f695)

Esses eventos só aparecem, e só podem ser cadastrados, em contas com o recurso liberado. Nas demais, a API recusa o cadastro.

Assinatura, retentativas e formato de entrega são os mesmos dos outros webhooks v2. Veja [Verificação e segurança](https://docs.abacatepay.com/pages/webhooks/security.md) e [Entrega e retentativas](https://docs.abacatepay.com/pages/webhooks.md#entrega-e-retentativas).

***

## Passo 4: dê baixa com o `pix_key.received`

```json theme={null}
{
  "id": "log_uRuGjMfQhP1nCPt5kuLBMWqn",
  "event": "pix_key.received",
  "apiVersion": 2,
  "devMode": false,
  "data": {
    "pixKey": {
      "id": "tran_64cYncueN5DNF24FQgGJUyqZ",
      "amount": 100,
      "fee": 80,
      "status": "COMPLETE",
      "endToEndId": "E18236120202610271332s06f8c6bb99",
      "receiptUrl": "https://app.abacatepay.com/receipt/tran_64cYncueN5DNF24FQgGJUyqZ",
      "createdAt": "2026-10-27T13:32:34.077Z"
    },
    "payer": {
      "name": "Maria da Silva",
      "taxId": "123.***.789-**",
      "bank": { "ispb": "18236120", "name": "NU PAGAMENTOS - IP" }
    }
  }
}
```

* `data.pixKey.amount`: o que o cliente pagou, em centavos.
* `data.pixKey.fee`: a taxa, em centavos. Você recebe `amount - fee`.
* `data.payer`: quem pagou. Use para saber de qual cliente é o Pix.
* `data.pixKey.id`: o ID do Pix na AbacatePay. Guarde para não dar baixa duas vezes.

Veja todos os campos em [Eventos de Pix por chave](https://docs.abacatepay.com/pages/webhooks/events/pix-key.md).

***

## Reembolso

O reembolso é feito pelo dashboard: na aba **Chave Pix**, clique em **Reembolsar** no Pix.

* O valor volta para quem pagou e o webhook `pix_key.refunded` é disparado.
* O reembolso exige saldo disponível suficiente na conta.
* Ainda não há endpoint da API para reembolsar um Pix por chave.

***

## Boas práticas

> **Como sei de qual cliente é o Pix?**
>
> Como não há cobrança, a conciliação é pelo pagador (`payer.name` e `payer.taxId`) e pelo valor. Oriente seus clientes a pagar de uma conta no nome deles: um Pix feito da conta de outra pessoa chega com os dados dessa outra pessoa.

> **Como evito dar baixa duas vezes?**
>
> O mesmo Pix nunca gera dois `data.pixKey.id` diferentes, mas o webhook pode ser reentregue. Antes de dar baixa, confira se aquele `data.pixKey.id` já foi processado para o mesmo evento.

> **E se o Pix for menor que a taxa?**
>
> A taxa nunca passa do valor recebido. Um Pix menor que a taxa resulta em líquido zero, não em saldo negativo.

> **O pagador pode contestar o Pix?**
>
> Sim, pelo MED. Enquanto a contestação está aberta, o status fica `UNDER_DISPUTE` (**Em disputa** no dashboard) e o valor fica bloqueado no seu saldo.
>
> **TODO:** confirmar se há webhook na abertura e no encerramento da contestação.

> **Dá para testar no Dev mode?**
>
> Não. O Pix por chave só existe em produção.


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