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

# Tokenização de Cartão

> Endpoint para tokenizar dados de cartão de crédito

## Tokenização de Cartão

Este endpoint permite que você tokenize dados de cartão de crédito de forma segura, convertendo informações sensíveis do cartão em um token que pode ser usado para transações sem armazenar os dados reais do cartão.

### Autenticação

Este endpoint utiliza autenticação via query parameter:

```
https://api.hydrahub.com.br/api/v1/card-token?publicKey=pk_userKey
```

### Parâmetros da Requisição

<ParamField query="publicKey" type="string" required>
  Sua chave pública para tokenização
</ParamField>

### Body da Requisição

<ParamField body="number" type="string" required>
  Número do cartão de crédito
</ParamField>

<ParamField body="holderName" type="string" required>
  Nome do titular como aparece no cartão
</ParamField>

<ParamField body="expirationMonth" type="string" required>
  Mês de expiração (formato: MM)
</ParamField>

<ParamField body="expirationYear" type="string" required>
  Ano de expiração (formato: AAAA)
</ParamField>

<ParamField body="cvv" type="string" required>
  Código de segurança do cartão
</ParamField>

<RequestExample>
  ```json
  {
    "number": "4000000000000010",
    "holderName": "JOAO M SILVA",
    "expirationMonth": "12",
    "expirationYear": "2028",
    "cvv": "123"
  }
  ```
</RequestExample>

### Resposta

A resposta é o token do cartão em formato JWT:

<ResponseExample>
  ```text
  eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZWxsZXIiOjEsImNhcmQiOnsib...kZCI6dHJ1ZX0sImlhdCI6MTY4NTM4MjAwMSwiZXhwIjoxNjg1MzgyMzAxfQ.aBcDeFgHiJkLmNoPqRsTuVwXyZ
  ```
</ResponseExample>

### Exemplo com cURL

```bash
curl --location 'https://api.hydrahub.com.br/api/v1/card-token?publicKey=pk_userKey' \
--header 'Content-Type: application/json' \
--data '{
    "number": "4000000000000010",
    "holderName": "JOAO M SILVA",
    "expirationMonth": "12",
    "expirationYear": "2028",
    "cvv": "123"
}'
```

### Códigos de Resposta

* `200` - Token gerado com sucesso
* `401` - Erro de autenticação
* `400` - Dados inválidos

### Segurança

Por razões de segurança, nunca armazenamos os dados completos do cartão em nossos servidores. O token gerado é único e só pode ser utilizado para criar uma transação com sua conta.

### Validade do Token

O token gerado tem validade de 5 minutos. Após esse período, será necessário gerar um novo token para realizar uma transação.
