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

# Pagamentos

> Endpoints de pagamento: validação de código, cotação, criação, submissão, listagem, consulta e recibos.

Os endpoints de pagamento cobrem o ciclo completo de uma transação: validar o código de destino, cotar, criar, submeter e consultar. Exigem autenticação por token JWT, exceto a validação de código, que é pública.

<Info>
  Fluxo completo em [Uso e Exemplos](/pt-BR/sdks/usage-examples). O recibo final também está descrito aqui, na seção Recibos.
</Info>

## Validar código

Valida um código de pagamento (PIX, boleto ou giftcard) antes de cotar.

<ParamField body="code" type="string" required>
  Código do pagamento a validar (por exemplo, um BR Code PIX iniciando em `00020101...`).
</ParamField>

<ResponseField name="data" type="object">
  Detalhes do destino do pagamento validado (tipo, valor, beneficiário).
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST https://app.pag.finance/api/payments/validate-code \
    -H "Content-Type: application/json" \
    -d '{ "code": "00020101..." }'
  ```

  ```ts SDK theme={null}
  const transfer = await client.payments.validateCode({ code: '00020101...' });
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true,
    "data": {
      "type": "pix",
      "amount": 150.00,
      "currency": "BRL"
    }
  }
  ```
</ResponseExample>

## Cotar pagamento

Solicita uma cotação para o pagamento, indicando o ativo e a blockchain de origem.

<ParamField header="Authorization" type="string" required>
  `Bearer <tokenJWT>`
</ParamField>

<RequestExample>
  ```ts SDK theme={null}
  const quote = await client.payments.quote({
    code: '00020101...',
    assetId: 1,
    blockchain: 'solana',
  });
  ```
</RequestExample>

## Criar pagamento

Cria o pagamento a partir de uma cotação válida.

<ParamField header="Authorization" type="string" required>
  `Bearer <tokenJWT>`
</ParamField>

<ParamField body="quoteId" type="string" required>
  Identificador da cotação obtida previamente.
</ParamField>

<RequestExample>
  ```ts SDK theme={null}
  const payment = await client.payments.create({ quoteId: quote.id });
  ```
</RequestExample>

## Submeter pagamento

Submete a transação on-chain associada ao pagamento criado.

<ParamField header="Authorization" type="string" required>
  `Bearer <tokenJWT>`
</ParamField>

<RequestExample>
  ```ts SDK theme={null}
  await client.payments.submit({ paymentId: payment.id, txHash: '...' });
  ```
</RequestExample>

## Listar pagamentos

Lista os pagamentos do usuário autenticado.

<ParamField header="Authorization" type="string" required>
  `Bearer <tokenJWT>`
</ParamField>

<RequestExample>
  ```ts SDK theme={null}
  const payments = await client.payments.list();
  ```
</RequestExample>

## Consultar pagamento

Retorna um pagamento específico pelo identificador.

<ParamField header="Authorization" type="string" required>
  `Bearer <tokenJWT>`
</ParamField>

<RequestExample>
  ```ts SDK theme={null}
  const payment = await client.payments.get(id);
  ```
</RequestExample>

## Recibos

Retorna o recibo de uma transação. É agnóstico: serve para PIX, boleto e giftcard.

<ResponseField name="data" type="object">
  Dados do recibo (comprovante, status e detalhes da liquidação).
</ResponseField>

<RequestExample>
  ```ts SDK theme={null}
  const receipt = await client.receipts.get({ type: 'pix', tx: '...', chain: 'solana' });
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true,
    "data": {
      "type": "pix",
      "status": "settled",
      "receiptUrl": "https://..."
    }
  }
  ```
</ResponseExample>
