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

# Tokenização de Cartão de Crédito

> Quando você cria uma transação usando cartão de crédito, o número do cartão nunca deve ser enviado diretamente para a API.

### O fluxo correto é:

1. **Tokenizar** os dados do cartão no front-end
2. Receber um **token seguro**
3. Enviar esse token na requisição de criação da transação no back-end

 

Esse processo garante conformidade com **PCI-DSS**, reduz sua superfície de risco e impede que dados sensíveis passem pelo seu servidor.

### **🧩 Incluindo a biblioteca de tokenização**

A tokenização é feita **exclusivamente no front-end**, usando nossa biblioteca JavaScript.

Basta adicionar o script abaixo **no \<head> da sua página**

```javascript theme={null}
<script src="https://api.conta.paybeehive.com.br/v1/js"></script>
```

Esse script carrega a engine de criptografia responsável por transformar os dados reais do cartão em um token seguro.

### **🔑 Configurando a biblioteca**

Antes de gerar qualquer token, você precisa definir:

* A **chave pública** da sua company (obtida em Configurações → Credenciais de API)
* Se o ambiente está em **modo de teste** ou produção

```json theme={null}
BeehivePay.setPublicKey("SUA_CHAVE_PUBLICA_AQUI");
BeehivePay.setTestMode(true); // Defina false em produção
```

A chave pública **não oferece risco** — ela foi criada exatamente para ser usada no front-end.

### **🪄 Gerando o token do cartão (encrypt)**

Após o cliente digitar os dados do cartão e clicar em finalizar compra, você chama:

```javascript theme={null}
 var token = await BeehivePay.encrypt({
  number: "4111111111111111",
  holderName: "Bruce Wayne",
  expMonth: 1,
  expYear: 2025,
  cvv: "123"
});
```

**O que acontece aqui?**

* Os dados são criptografados diretamente no navegador
* Nenhuma informação sensível trafega pelo seu servidor
* Você recebe algo assim:

```bash theme={null}
bhp_tok_6af98c4e1c6e4f0ab6d93e8e7d093fab
```

Esse token representa o cartão e **pode ser enviado com segurança para o back-end**.

<CardGroup cols={2} />

<Note>
  **Precisa de ajuda?** Veja nossa documentação completa ou entre em nossa comunidade.
</Note>
