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

# Primeiros passos

> Integre a Safefy em poucos minutos

## Sua primeira cobrança PIX ou boleto

Siga este guia para criar sua primeira cobrança PIX ou boleto em poucos minutos.

<Steps>
  <Step title="Obtenha suas credenciais">
    Acesse o [Painel Safefy](https://app.safefypay.com.br) e crie uma credencial de API.

    Você receberá:

    * `clientId` - Identificador público da sua aplicação
    * `clientSecret` - Chave secreta (exibida apenas uma vez, mantenha em segurança!)
  </Step>

  <Step title="Gere um token de acesso">
    Com suas credenciais, solicite um token JWT:

    ```bash theme={null}
    curl -X POST https://api-payment.safefypay.com.br/v1/auth/token \
      -H "Content-Type: application/json" \
      -d '{
        "grantType": "client_credentials",
        "clientId": "pk_sandbox_seu_client_id",
        "clientSecret": "sk_sandbox_seu_client_secret"
      }'
    ```

    **Resposta:**

    ```json theme={null}
    {
      "data": {
        "accessToken": "eyJhbGciOiJIUzI1NiIs...",
        "tokenType": "Bearer",
        "expiresIn": 3600
      }
    }
    ```
  </Step>

  <Step title="Crie uma cobrança PIX ou boleto">
    Use o token para criar sua primeira cobrança:

    ```bash theme={null}
    curl -X POST https://api-payment.safefypay.com.br/v1/transactions \
      -H "Authorization: Bearer {seu_token}" \
      -H "Content-Type: application/json" \
      -d '{
        "method": "pix",
        "amount": 1000,
        "currency": "BRL",
        "description": "Minha primeira cobrança",
        "callbackUrl": "https://seusite.com/webhook"
      }'
    ```

    Para boleto, informe o cliente e a data de vencimento:

    ```bash theme={null}
    curl -X POST https://api-payment.safefypay.com.br/v1/transactions \
      -H "Authorization: Bearer {seu_token}" \
      -H "Content-Type: application/json" \
      -d '{
        "method": "boleto",
        "amount": 1000,
        "currency": "BRL",
        "description": "Boleto de teste",
        "customerId": "550e8400-e29b-41d4-a716-446655440000",
        "boletoDueDate": "2024-12-31",
        "callbackUrl": "https://seusite.com/webhook"
      }'
    ```

    **Resposta:**

    ```json theme={null}
    {
      "data": {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "status": "Pending",
        "amount": 1000,
        "pix": {
          "qrCode": "data:image/png;base64,...",
          "copyAndPaste": "00020126580014br.gov.bcb.pix..."
        }
      }
    }
    ```
  </Step>

  <Step title="Receba o pagamento">
    Quando o pagamento for confirmado, você receberá um webhook na URL configurada:

    ```json theme={null}
    {
      "event": "transaction.completed",
      "data": {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "status": "Completed",
        "amount": 1000,
        "completedAt": "2024-01-15T10:30:00Z"
      }
    }
    ```
  </Step>
</Steps>

***

## Próximos passos

<CardGroup cols={2}>
  <Card title="Autenticação" icon="key" href="/authentication">
    Entenda como funciona a autenticação OAuth2.
  </Card>

  <Card title="Webhooks" icon="bell" href="/webhooks">
    Configure notificações em tempo real.
  </Card>

  <Card title="Sandbox" icon="flask" href="/sandbox">
    Teste pagamentos em ambiente de desenvolvimento.
  </Card>

  <Card title="Criar transação" icon="code" href="/api-reference/transactions/create">
    Veja a referência completa do endpoint.
  </Card>
</CardGroup>
