API v5 - MIT/CIT Transações card-on-file [MasterCard]

API v5 - MIT/CIT Transações card-on-file [MasterCard]

Introdução

A Mastercard implementou novas diretrizes para categorizar transações 'Card-on-File' com o objetivo de melhorar a transparência e a segurança em transações eletrônicas.

Essas mudanças são obrigatórias e introduzem os campos CIT (Cardholder Initiated Transaction) e MIT (Merchant Initiated Transaction), que devem ser incluídos em suas integrações para evitar multas e garantir conformidade.

Esses campos estão relacionados a transações recorrentes e a transações com credenciais armazenadas, sendo divididos em dois tipos:

  • CIT (Cardholder Initiated Transaction ou Transação Iniciada pelo Portador);
  • MIT (Merchant Initiated Transaction ou Transação Iniciada pelo Estabelecimento).

A principal diferença entre as duas é que:

  • Na CIT, a transação ocorre com a presença do comprador durante a transação, enquanto a MIT ocorre sem a presença do portador;
  • Toda transação MIT é uma transação 'Credential on File', ou seja, realizada com credenciais armazenadas de interações anteriores. Já uma transação CIT pode ser realizada com base em credenciais fornecidas pelo portador no momento da transação;
  • Transações CIT devem sempre conter o CVV, enquanto transações MIT não precisam.

Caso o lojista não realize transações iniciadas pelo estabelecimento, não será necessário que os campos indicados sejam enviados.

Campos Obrigatórios

Para cumprir essas novas diretrizes, adicionamos dois campos opcionais à Criação de Pedido específicos para os métodos de pagamento com cartão de crédito e débito:

  • initiated_type: (String) Define o tipo de transação avulsa iniciada.
    • Valores possíveis:
      • partial_shipment: Remessa Parcial - Quando um pedido é enviado em múltiplas entregas, cada remessa parcial é tratada como uma transação independente.
      • related_or_delayed_charge: Cobrança Atrasada - Utilizado para cobranças relacionadas a uma transação anterior, como taxas adicionais ou ajustes.
      • no_show: Multa - Aplicado em casos onde o cliente não comparece ou não cumpre uma reserva, resultando em uma multa.
      • retry: Retentativa - Quando uma tentativa de transação falha e é reprocessada.
  • recurrence_model: (String) Identifica o modelo de recorrência. Observação: Este campo não possui relação direta com o parâmetro recurrence_cycle
    • Valores possíveis:
      • standing_order: Ordem Permanente - Pagamentos recorrentes programados sem um número definido de parcelas, como contas mensais.
      • instalment: Parcelamento - Transações divididas em múltiplas parcelas com um número definido de pagamentos.
      • subscription: Assinatura com valor e frequência fixa - Utilizado para cobranças periódicas com um valor fixo, como assinaturas de serviços. Observação: O campo de subscription pode ser utilizado somente para integração Gateway, clientes PSP podem mandar o campo como null

Exemplo de Request para Criação de Pedido:

curl --request POST \
     --url https: //api.pagar.me/core/v5/orders \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
    "customer": {
        "phones": {
            "home_phone": {
                "country_code": "55",
                "area_code": "21",
                "number": "000000000"
            }
        },
        "name": "Tony Stark",
        "email": "[email protected]",
        "type": "individual",
        "document": "03154435026",
        "document_type": "cpf"
    },
    "items": [
        {
            "amount": 2990,
            "description": "Chaveiro do Tesseract",
            "quantity": 1,
            "code": 123
        }
    ],
    "payments": [
        {
            "payment_method": "credit_card",
            "credit_card": {
                "installments": 1,
                "statement_descriptor": "AVENGERS",
                "card": {
                    "number": "4000000000000010",
                    "holder_name": "Tony Stark",
                    "exp_month": 1,
                    "exp_year": 25,
                    "cvv": "351"
                },
                "initiated_type": "string", // Novo campo
                "recurrence_model": "string" // Novo campo
            }
        }
    ]
}
'
curl --request POST \
     --url https: //api.pagar.me/core/v5/orders \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
    "customer": {
        "name": "Tony Stark",
        "email": "[email protected]",
        "type": "individual",
        "document": "03154435026",
        "document_type": "cpf"
    },
    "items": [
        {
            "amount": 2990,
            "description": "Chaveiro do Tesseract",
            "quantity": 1,
            "code": 123
        }
    ],
    "payments": [
        {
            "payment_method": "credit_card",
            "credit_card": {
                "installments": 1,
                "statement_descriptor": "AVENGERS",
                "card": {
                    "number": "4000000000000010",
                    "holder_name": "Tony Stark",
                    "exp_month": 1,
                    "exp_year": 25,
                    "cvv": "351"
                },
                "initiated_type": "string", // Novo campo
                "recurrence_model": "string" // Novo campo
            }
        }
    ]
}
'

🚧

Importante

O prazo final para ajuste de sua integração é 31 de outubro de 2024

📘

Funcionalidade por Adquirentes

Caso sua empresa utilize a Stone como adquirente, a integração já está preparada para receber e repassar essas informações.

Se utilizar outra adquirente, recomendamos verificar com a mesma se está pronta para o recebimento e repasse dos dados exigidos pela Mastercard.

Conclusão

A adoção dos novos campos MIT/CIT é fundamental para garantir a conformidade com as exigências da Mastercard e para aproveitar os benefícios dos programas de incentivo oferecidos.

Em caso de dúvidas, entre em contato com nosso time de atendimento ao cliente pelo e-mail [email protected], pelo chat na sua dashboard ou pelo telefone 4004-1330.