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

# Baixar comprovante de transacao

> Baixa o PDF oficial TurbofyPay de uma transacao paga.

## Caso de uso

Use este endpoint para disponibilizar ao seu ERP, checkout ou atendimento o comprovante digital oficial de uma transacao paga.

O arquivo retornado e um PDF com identidade TurbofyPay, dados de pagador, dados de recebedor, valor, data, identificadores de rastreabilidade e QR de validacao.

## Endpoint

```http theme={null}
GET /v1/receipts/transactions/{id}
```

Alias aceito para integracoes que usam o termo cobranca:

```http theme={null}
GET /v1/receipts/charges/{id}
```

## Autenticacao

Headers obrigatorios:

* `x-client-id`
* `x-client-secret`
* `x-turbofy-timestamp`
* `x-turbofy-signature`

A chave de API precisa estar ativa e pertencer ao merchant dono da transacao.

## Identificador aceito

O `{id}` pode ser qualquer identificador da cobranca/transacao persistido pela Turbofy para o merchant autenticado:

* `id` da cobranca Turbofy
* `externalRef`
* `providerChargeId`
* `pixTxid`
* `endToEndId`
* `providerTransactionId`

Use o mesmo valor no path assinado. Exemplo: se baixar por `endToEndId`, assine `/v1/receipts/transactions/{endToEndId}`.

## Assinatura HMAC

Assine a requisicao usando:

```text theme={null}
{timestamp}.GET./v1/receipts/transactions/{id}.
```

Em requisicoes `GET`, o corpo assinado e vazio. Gere uma assinatura nova para cada download.

## Response de sucesso

Em `200`, a API retorna:

* `Content-Type: application/pdf`
* `Content-Disposition: inline; filename="comprovante-transacao-{id}.pdf"`
* `Cache-Control: private, no-store`
* corpo binario do PDF

## Erros comuns

| HTTP  | code                  | Quando ocorre                                      |
| ----- | --------------------- | -------------------------------------------------- |
| `400` | `VALIDATION_ERROR`    | Identificador invalido.                            |
| `401` | `INVALID_CREDENTIALS` | Credenciais ausentes ou invalidas.                 |
| `401` | `INVALID_SIGNATURE`   | Assinatura ausente, invalida ou expirada.          |
| `404` | `NOT_FOUND`           | Transacao inexistente para o merchant autenticado. |
| `409` | `RECEIPT_UNAVAILABLE` | Transacao ainda nao esta paga.                     |

## Exemplo de codigo

```bash theme={null}
curl --request GET \
  --url https://api.turbofypay.com/v1/receipts/transactions/2e97e17c-f636-4580-b29c-059f39319200 \
  --header "x-client-id: <client-id>" \
  --header "x-client-secret: <client-secret>" \
  --header "x-turbofy-timestamp: 1772805000000" \
  --header "x-turbofy-signature: <hmac-sha256>" \
  --output comprovante-transacao.pdf
```

## Regras de negocio

* A consulta retorna somente comprovantes do merchant autenticado.
* O PDF nao deve ser armazenado em cache publico.
* O comprovante e gerado pela TurbofyPay com dados financeiros e rastreabilidade Pix disponiveis no momento da emissao.
* Para transacoes antigas, se o `endToEndId` estiver apenas no registro de transacao Pix vinculado, a API resolve esse vinculo antes de gerar o PDF.
* Para validar assinatura HMAC, revise [Autenticacao](/integracao/autenticacao).
