BETAHubCard beta — feedback bem-vindo.
produto2 de maio de 2026·5 min de leitura

MCC codes explicados: como restringir cartões corporativos por ramo de atividade via API

MCC é o código de 4 dígitos que define o ramo do merchant. Como usar MCC para restringir cartões corporativos na borda da autorização, via API REST.

TA
Tiago Andrade
CTO
produto
MCC
Quando um código de 4 dígitos vale mais que mil regras.

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:

MCCCategoria
5734Computer Software Stores (OpenAI, Anthropic, software)
5817Digital Goods — Apps, Software, Games
7311Advertising Services (Google Ads, Meta Ads)
7372Computer Programming/Data Processing (AWS, GCP, Azure)
5818Digital Goods — Large Digital Goods Merchant
4816Computer 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:

  1. MCC pode estar errado. Em ~3% dos casos, o adquirente classifica mal. Se você acha que Google Cloud é 7372 e descobre uma cobrança como 5817, a culpa é do classificador, não sua. O sistema permite ajuste por exceção.
  2. 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_cents por cartão e emita cartões diferentes.
  3. 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.

TA

Tiago Andrade

CTO

Escreve sobre cartões corporativos, API de emissão e gestão de despesas em tempo real.

Falar com o time

Continue lendo

Todos os posts
MCC codes explicados: como restringir cartões corporativos por ramo de atividade via API · HubCard