MCC — Merchant Category Code — é um código de 4 dígitos que a Visa, Mastercard e demais bandeiras atribuem a cada estabelecimento. Existe desde 1972. E é a forma mais barata e robusta de restringir cartões corporativos por ramo de atividade na borda da autorização, antes de qualquer regra de pós-processamento. Nesse post, como exposemos MCC na nossa API de cartões pré-pago e o que mudou no v2.
Por que MCC, e não regras customizadas
Quando começamos, oferecíamos restrição por merchant name — você listava "openai.com" e o cartão só autorizava nele. Quebrou em três semanas:
- Merchant name muda: Google Cloud aparece ora como "GOOGLE CLOUD" ora como "GOOGLE *CLOUD-LLC".
- Subdomínios diferentes: a mesma empresa cobra de 14 entidades jurídicas distintas.
- Internacionalização: cobranças em árabe ou cirílico.
MCC resolve isso por baixo: a bandeira já classificou o merchant. Você restringe por categoria, não por string.
O que cabe num MCC
Os MCCs relevantes para gestão de despesas corporativas em SaaS, mídia paga e cloud:
| MCC | Categoria |
|---|---|
| 5734 | Computer Software Stores (OpenAI, Anthropic, software) |
| 5817 | Digital Goods — Apps, Software, Games |
| 7311 | Advertising Services (Google Ads, Meta Ads) |
| 7372 | Computer Programming/Data Processing (AWS, GCP, Azure) |
| 5818 | Digital Goods — Large Digital Goods Merchant |
| 4816 | Computer Network/Information Services |
Um cartão para ferramentas de IA tipicamente cobre 5734, 5818, 4816. Um cartão para mídia paga cobre só 7311. Tente cruzar — não dá: um cartão de mídia paga não autoriza compra de SaaS, e vice-versa.
A API
No HubCard, MCC é um campo na emissão:
curl -X POST https://api.hubcard.one/v2/cards \
-H "Authorization: Bearer sk_live_••••" \
-H "Idempotency-Key: emit_ai_tools_2026_05_02" \
-d '{
"supplier": "ai-tools-pool",
"limit_cents": 500000,
"mcc_allow": [5734, 5818, 4816],
"currency": "USD"
}'
A regra: se a autorização vem com MCC fora de mcc_allow, declined na borda. Sem processar, sem registrar tentativa de captura. O webhook tx.declined dispara com reason: "mcc_not_allowed".
Você também pode usar mcc_block para o caminho inverso (autoriza tudo exceto X). A maioria dos casos é melhor com allow-list — é menos surpresa.
O que MCC não resolve
MCC tem três limitações que vale conhecer:
- MCC pode estar errado. Em ~3% dos casos, o adquirente classifica mal. Se você acha que Google Cloud é
7372e descobre uma cobrança como5817, a culpa é do classificador, não sua. O sistema permite ajuste por exceção. - MCC não distingue produtos do mesmo merchant. Se OpenAI cobra plataforma e cobra DALL-E pelo mesmo MCC, não dá para separar via MCC. Use
limit_centspor cartão e emita cartões diferentes. - MCC é por merchant, não por categoria de despesa. Um anúncio no Facebook tem MCC 7311; uma assinatura premium do Facebook também. Para o sistema, a mesma transação.
O efeito colateral: chargeback fica mais simples
Quando você tem MCC restrito, qualquer cobrança que aparece fora do MCC esperado é automaticamente suspeita. Quase sempre é fraude. O HubCard dispara alerta antes da fatura fechar.
Em quatro meses de v2, o tempo médio para detectar fraude por uso fora de MCC caiu de 6 dias (na fatura) para 8 segundos (na autorização). Isso muda o custo da fraude — não é mais "perder dinheiro e tentar disputar", é "negar antes de capturar".
Como combinar com outras restrições
MCC funciona melhor combinado com:
limit_cents: teto por ciclo (mensal, semanal).country_allow: restrição por país do merchant (Brasil-only, ou multi-país explícito).currency: cobrança em outra moeda que não a do cartão é bloqueada.active_until: cartão com data de expiração explícita para uso de campanha ou agente temporário.
Combinados, esses quatro atributos cobrem >95% dos casos de uso de gestão de despesas corporativas. O resto é caso raro o suficiente para tratar como exceção manual.
Por que isso é diferente de regras de fraude bancária
Bancos têm regras de fraude que rodam pós-autorização — eles autorizam, capturam, e depois disputam. MCC restrito no HubCard roda antes da autorização — se o cartão não permite aquele MCC, a bandeira nem chega a confirmar a transação.
A diferença prática: dinheiro nunca sai. Não há disputa, não há reembolso pendente, não há fatura suja. Para gestão de despesas em escala, isso é a diferença entre "controle pós-fato" e "controle pré-fato".
E é por isso que cartão corporativo na infraestrutura certa é diferente de cartão bancário antigo com app: o ponto de decisão se move para o emissor, e o emissor escuta as suas regras.