Este prompt foi criado para ser utilizado em ferramentas de geração de código por IA, como o Lovable, com o objetivo de integrar pagamentos via PIX utilizando a Woovi de forma simples e funcional.

A ideia é fornecer instruções claras e diretas para que a IA gere automaticamente um checkout transparente ou utilizando o checkout hospedado da Woovi, evitando ambiguidades e reduzindo erros na implementação.

---

### Quando usar este prompt

Utilize este prompt quando precisar:

* Criar um checkout PIX integrado rapidamente

* Gerar código backend e frontend automaticamente

* Evitar implementação manual da lógica de pagamento

* Padronizar integrações com a API da Woovi

---

### O que o prompt cobre

O prompt orienta a IA a implementar:

* Criação de cobrança via API da Woovi

* Consulta de status da cobrança (`/api/v1/charge/{id}`)

* Exibição de QR Code e código PIX (no checkout transparente)

* Verificação automática do pagamento via polling (a cada 10 segundos)

* Atualização dinâmica da interface **sem recarregar a página**

* Boas práticas de segurança (API Key apenas no backend)

---

### Como utilizar

1. Copie o prompt fornecido na documentação

2. Cole diretamente na ferramenta de IA (ex: Lovable)

3. Aguarde a geração do código

4. Revise e ajuste conforme necessário ao seu ambiente

# Prompt:

```
Crie uma integração de pagamento usando o checkout da Woovi (payment link) com PIX.

API Woovi:

Base URL:
https://api.woovi.com

Endpoint:
- POST /api/v1/charge → criar cobrança
- GET /api/v1/charge/{id} → consultar status

Autenticação:
Authorization: SUA_API_KEY

Backend:

Criar endpoint /charge:
- Faz POST para /api/v1/charge
- Retorna:
  - id
  - paymentLinkUrl

Criar endpoint /check-status/:id:
- Faz GET em /api/v1/charge/{id}
- Retorna:
  - status
  - paidAt

Frontend:

- Criar botão "Pagar"

Ao clicar no botão:
- Chamar endpoint /charge
- Redirecionar o usuário para:
  paymentLinkUrl

OU (opcional, melhor UX):
- Abrir paymentLinkUrl em uma nova aba ou iframe/modal

Verificação de pagamento (opcional):

- A cada 10 segundos, consultar /check-status/:id

const interval = setInterval(async () => {
  const res = await fetch(`/check-status/${id}`);
  const data = await res.json();

  if (data.status === 'COMPLETED') {
    clearInterval(interval);
    alert('Pagamento confirmado');
  }

  if (data.status === 'EXPIRED') {
    clearInterval(interval);
    alert('Pagamento expirado');
  }
}, 10000);

Regras:

- ACTIVE → aguardando pagamento  
- COMPLETED → pagamento confirmado  
- EXPIRED → expirado  

Segurança:

- Não expor API Key no frontend  
- Backend deve fazer todas chamadas para a Woovi  

Entrega esperada:

- Código completo (backend + frontend)
- Botão de pagamento funcional
- Redirecionamento para checkout Woovi
- Instruções para rodar o projeto
```