Criação de CCB — Pagamento via QR Code PIX (EMV)


Visão Geral

Neste fluxo, o desembolso da CCB é realizado via QR Code PIX (EMV). Em vez de informar dados de boleto, o payload carrega o código EMV previamente validado e a chave PIX do beneficiário.

O fluxo exige uma etapa de validação do QR Code antes da criação da Application — o campo qrcode_emv enviado deve ser o retorno do endpoint /validate-pix-emv, garantindo que valor e destinatário coincidam com os termos da proposta.

1. Validar o QR Code EMV → POST /validate-pix-emv
   ↓
2. Criar a Application com payment_method: QRCODE_PIX
   ↓
3. Fluxo normal de assinatura e desembolso

Etapa 1 — Validação do QR Code EMV

Antes de criar a Application, o QR Code deve ser validado para confirmar que o valor e o destinatário são compatíveis com a operação.

POST /banking/originator/validate-pix-emv
{
  "qrcode_emv": "00020101021126580014br.gov.bcb.pix0136655c6978-294b-449e-b996-7c156f73587b52040000530398654041.005802BR5913Celcoin Teste6009Sao Paulo62070503***6304E32D"
}

O retorno desta chamada fornece a pix.key e confirma que o EMV é válido para uso na criação da Application. Sempre use o qrcode_emv retornado por este endpoint — nunca envie um EMV bruto sem validação prévia.


Etapa 2 — Criação da Application

Endpoint

POST /banking/originator/applications

Payload Completo

{
  "product": {
    "id": "d4e5252f-f3fc-47a3-8ef9-7a8d9ff4e60f"
  },
  "borrower": {
    "id": "a03f9d67-1afa-48df-b1c5-537be306f26e"
  },
  "funding": {
    "id": "7b8432fb-34e7-4f14-ba6a-a24dc2b29c35"
  },
  "simulation_id": "e5d70282-00be-4ce9-8ec3-a66b88a42f56",
  "payment_method": "QRCODE_PIX",
  "beneficiary_account": {
    "pix": {
      "key": "655c6978-294b-449e-b996-7c156f73587b",
      "key_type": "ALEATORY_KEY"
    },
    "qrcode_emv": "00020101021126580014br.gov.bcb.pix0136655c6978-294b-449e-b996-7c156f73587b52040000530398654041.005802BR5913Celcoin Teste6009Sao Paulo62070503***6304E32D"
  }
}

Referência de Campos

Campos raiz

CampoTipoObrigatórioDescrição
product.iduuidsimID do produto configurado
borrower.iduuidsimID do tomador cadastrado
funding.iduuidsimID do fundo/originador
simulation_iduuidsimRetornado pelo endpoint /preview. Vincula os dados da simulação
payment_methodenumsimMétodo de pagamento do desembolso. QRCODE_PIX para este fluxo
beneficiary_accountobjectsimDados do beneficiário do desembolso via PIX

Objeto beneficiary_account

CampoTipoObrigatórioDescrição
pix.keystringsimChave PIX do beneficiário — retornada pela validação do EMV
pix.key_typeenumsimTipo da chave PIX. Ver tabela de tipos abaixo
qrcode_emvstringsimCódigo EMV ("Copia e Cola") previamente validado via /validate-pix-emv

Tipos de Chave PIX Suportados

key_typeFormato esperado em key
EMAIL[email protected]
TAXPAYER_IDCPF: 12345678900 · CNPJ: 12345678000100 (somente números)
PHONE_NUMBER+5511999999999 (com DDI)
ALEATORY_KEYUUID aleatório gerado pelo banco (chave aleatória)

Diferenças em Relação ao Fluxo de Boleto

Pagamento via BoletoPagamento via QR Code PIX
payment_methodBILLET_PAYMENTQRCODE_PIX
Dados de pagamentobillets_infobeneficiary_account
Validação préviaNão exigeObrigatório via /validate-pix-emv
Chave de destinoCódigo de barrasChave PIX + EMV

Observações Importantes

qrcode_emv deve ser validado previamente — enviar um código EMV bruto sem passar pelo /validate-pix-emv resultará em erro de processamento. A validação garante que o valor do QR Code é compatível com o valor da simulação e que o destinatário é o beneficiário esperado.

simulation_id — expira após um período configurado no produto. Sempre crie a Application logo após a simulação para evitar expiração.

billets_info não deve ser enviado neste fluxo — é exclusivo para liquidação de boletos via código de barras e será ignorado ou retornará erro se enviado junto com payment_method: QRCODE_PIX.


Erros Comuns

SituaçãoCausa provável
QR Code recusado no desembolsoqrcode_emv não foi validado via /validate-pix-emv antes do envio
Valor divergenteValor embutido no EMV não corresponde ao valor da simulação
Chave PIX inválidapix.key não corresponde ao destinatário codificado no qrcode_emv
simulation_id expiradoTempo entre simulação e criação excedeu o limite configurado no produto

Documento gerado para integração técnica. Em caso de dúvidas, acione o time de suporte via canal dedicado.