gerar-br-code-typescriptlisted
Install: claude install-skill roldaobatista/roldao-method
# gerar-br-code-typescript
> **Skill executável vive no core** (`templates/.claude/skills/gerar-br-code/`, Python). Este aqui é **guia de implementação em TypeScript** pra projetos JS/Node que querem incorporar a lógica no próprio bundle em vez de delegar pra skill externa. Foi separado do core na auditoria 10-agentes 2026-05-24 — antes os dois usavam o mesmo slug e colidiam.
BR Code = QR Code Pix no padrão **EMV QR Code Specification** estendido pelo Bacen. Não é "qualquer QR Code" — tem estrutura TLV (Tag-Length-Value) específica.
## Tipos
| Tipo | Quando | Campo 26 |
|---|---|---|
| **Estático** | Mesma chave, valor opcional, sem expiração | Chave Pix direta |
| **Dinâmico** | URL aponta pra payload JWS assinado pelo PSP | URL HTTPS |
## Estrutura TLV (Tag-Length-Value)
Cada campo:
- **Tag**: 2 dígitos.
- **Length**: 2 dígitos (zero-padded).
- **Value**: conteúdo.
Exemplo: `0002BR` = Tag 00, Length 02, Value "BR".
## Campos obrigatórios
| Tag | Nome | Valor |
|---|---|---|
| `00` | Payload Format Indicator | `01` |
| `26` | Merchant Account Info (Pix) | sub-TLV: GUI + chave/URL |
| `52` | Merchant Category Code | MCC ISO 18245 do ramo. Use `0000` apenas pra PF sem categoria. PJ usa o MCC do ramo (ex: `5411` supermercado, `5812` restaurante, `5814` fast-food, `5912` farmácia, `7372` software/SaaS). |
| `53` | Currency | `986` (BRL) |
| `58` | Country Code | `BR` |
| `59` | Merchant Name | até 25 chars, ASCII |
| `60` | Merchant City | até 15 chars |
| `63` | CRC16