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

# Enviar um pagamento PIX

> Faça pagamentos por chave PIX ou QR Code com o fluxo iniciar-e-confirmar

O PIX de saída é um fluxo de duas etapas: você **inicia** o pagamento para resolver o destinatário e o valor, e depois o **confirma** para efetivamente movimentar o dinheiro. A iniciação retorna os dados do destinatário e um `endToEndId` para que você possa revisar antes de confirmar.

## Fluxo

```mermaid theme={null}
sequenceDiagram
  participant You
  participant P3 as Portão 3
  You->>P3: POST /pix (initiate)
  P3->>You: pixId, recipient details, status REQUESTED
  You->>P3: POST /pix/{pixId}/confirm
  P3->>You: status CONFIRMED, endToEndId
```

## Etapa 1: Iniciar o pagamento

Você pode iniciar por **chave PIX** (DICT) ou **lendo um QR Code** (uma string Copia e Cola / EMV que o recebedor fornece).

<Tabs>
  <Tab title="Por chave PIX (DICT)">
    ```bash theme={null}
    curl -X POST \
      'https://api.banking.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/accounts/{accountId}/wallets/{walletId}/pix' \
      -H 'Authorization: Bearer <accessToken>' \
      -H 'x-environment: LIVE' \
      -H 'Content-Type: application/json' \
      -d '{
        "initiationType": "DICT",
        "dict": "CPF",
        "key": "12345678909",
        "amount": 1230,
        "description": "Order 4821"
      }'
    ```

    | Campo            | Observações                                                                                                                                                                                                                                                                                         |
    | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | `initiationType` | `DICT` para uma chave.                                                                                                                                                                                                                                                                              |
    | `dict`           | Tipo de chave: `PHONE`, `EMAIL`, `CPF`, `CNPJ` ou `EVP` (aleatória).                                                                                                                                                                                                                                |
    | `key`            | O valor da chave. Telefone como `+55XXXXXXXXXXX`; CPF com 11 dígitos; CNPJ com 14 caracteres, sem formatação e em maiúsculas — conforme a NT 49/2024 da Receita Federal, o CNPJ pode conter letras `A–Z` nas 12 primeiras posições (apenas os 2 dígitos verificadores finais permanecem numéricos). |
    | `amount`         | Centavos.                                                                                                                                                                                                                                                                                           |
    | `description`    | Aparece no seu extrato.                                                                                                                                                                                                                                                                             |
  </Tab>

  <Tab title="Por QR Code (EMV)">
    ```bash theme={null}
    curl -X POST \
      'https://api.banking.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/accounts/{accountId}/wallets/{walletId}/pix' \
      -H 'Authorization: Bearer <accessToken>' \
      -H 'x-environment: LIVE' \
      -H 'Content-Type: application/json' \
      -d '{
        "initiationType": "DYNAMIC_QRCODE",
        "emv": "00020126..."
      }'
    ```

    Envie a string `emv` lida do QR Code do recebedor (ou do Copia e Cola). O valor vem do próprio QR Code.
  </Tab>
</Tabs>

A resposta resolve a transferência e retorna `status: "REQUESTED"`. Guarde o `external.pixId` (o `pixId`) para a etapa de confirmação, e revise `creditParty` (quem você está pagando), `txnUpdatedAmount` (o valor final) e `receipt.endToEndId` (o ID de recibo do BACEN).

```json theme={null}
{
  "status": "REQUESTED",
  "txnUpdatedAmount": 1230,
  "creditParty": { "name": "...", "document": "...", "bankIspb": "00360305" },
  "receipt": { "endToEndId": "E31680151202507241356RJGLGPJ1CJU" },
  "external": { "pixId": "c7810c30-971f-4e84-8feb-b7819087d4de" }
}
```

Referência: [`POST .../wallets/{walletId}/pix`](/api-reference/banking/pix/realms-organizations-accounts-wallets-pix-1)

## Etapa 2: Confirmar o pagamento

Confirme o `pixId` para liberar os fundos. Repita o `amount` como salvaguarda e escolha a `category` do saldo a debitar.

```bash theme={null}
curl -X POST \
  'https://api.banking.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/accounts/{accountId}/wallets/{walletId}/pix/{pixId}/confirm' \
  -H 'Authorization: Bearer <accessToken>' \
  -H 'x-environment: LIVE' \
  -H 'Content-Type: application/json' \
  -d '{
    "amount": 1230,
    "category": "FLEX_INTERNATIONAL"
  }'
```

Uma confirmação bem-sucedida retorna `status: "CONFIRMED"` e o `endToEndId` final — seu comprovante de que o pagamento foi liquidado.

Referência: [`POST .../pix/{pixId}/confirm`](/api-reference/banking/pix/realms-organizations-accounts-wallets-pix-confirm)

<Note>
  Confirmar um pagamento pode exigir o header `pin` de transação, dependendo de como suas credenciais foram provisionadas. Consulte [Autenticação](/#transaction-pin).
</Note>

## Próximos passos

<CardGroup cols={2}>
  <Card title="Cobrar com PIX" icon="qrcode" href="/guides/collect-pix">
    Gere um QR Code para receber dinheiro em vez de enviar.
  </Card>

  <Card title="Carteiras para seus clientes" icon="wallet" href="/guides/wallets">
    Registre chaves PIX, leia saldos e movimente dinheiro entre carteiras.
  </Card>
</CardGroup>
