3DS 2.0 via Web Checkout
O pagamento HTML do Carat está integrado com o 3DS Server, que é responsável pela realização de autenticações 3DS 2.0.
Esse modelo permite menor esforço de integração, possui checkout de pagamento em 2 modalidades, frame
e pop up
(ambos dentro da loja do cliente) e pode ser customizado com logo e cores do cliente (white label
);
#
Intervalo de ativação automáticaPara casos em que os limites de intervalos para ativação automática de 3DS estiverem configurados na loja e seja passado um valor de authenticate
na criação da transação, o Carat só irá acatar o valor de authenticate
passado se a transação estiver entre os limites de ativação. Caso os limites de intervalos para ativação automática de 3DS estiverem configurados na loja e não seja passado um valor de authenticate
na transação, será assumido o valor 1
como padrão para o tipo de autenticação. Importante: intervalos que possibilitem a utilização de 3DS e antifraude juntos não devem ser utilizados. Mais informações em "Parâmetros específicos da integração".
#
Ativação automática para débitoTransações de débito habilitarão a autenticação por padrão caso a loja esteja configurada com dados de 3DS, sobrescrevendo assim quaisquer outras opções que possam desabilitar esse método de autenticação.
#
Antifraude sobre 3DSÉ possível configurar na loja um parâmetro para ativação de antifraude caso a bandeira escolhida não tenha suporte ao 3DS. Caso a transação, utilizando uma loja com essa configuração seja marcada com 3DS (com authenticate
= 1) e o cartão utilizado não seja suportado no 3DS Server (bandeira não foi certificada ou cartão fora do range na base do 3DS para autenticação), então o Carat não irá negar a transação e seguirá o fluxo do pagamento utilizando o antifraude (enabled_after_auth
). Entre em contato com a nossa equipe de suporte para saber como ativar essa configuração.
Atenção: Caso uma requisição seja realizada com 3DS e com antifraude utilizando
enabled_after_auth
, e a transação seja autenticada com sucesso pelo 3DS Server, então oCarat
não irá prosseguir com a análise de antifraude.Caso o usuário cancele ou abandone o desafio antes de ser finalizado, o antifraude não será chamado e a transação será negada.
#
Adquirentes disponíveisBin |
E.Rede |
CieloEC |
#
Autorizadoras disponíveisEsta integração é suportada pelas seguintes autorizadoras:
ID | Nome |
---|---|
1 | Visa Crédito |
2 | Mastercard Crédito |
41 | Elo Crédito |
221 | Visa Débito |
286 | Mastercard Débito |
288 | Elo Débito |
#
Credenciais necessáriasAs seguintes informações devem ser fornecidas às nossas equipes de suporte e produção:
Nome | Descrição |
---|---|
Acquirer Merchant ID | Para cada roteamento utilizado, é necessário obter com o adquirente o seu Acquirer Merchant ID. Este valor pode ser o mesmo utilizado como código de estabelecimento para o processo de autorização, e deve seguir a formatação especificada na ISO 8583. |
Acquirer BIN | Identificador de cada meio de pagamento atribuído pelo adquirente. |
Com isso, o cadastro será feito de modo que a loja fique preparada para transacionar com 3DS.
#
Parâmetros específicos da integraçãoO serviço de criação de transação HTML possui os seguintes campos específicos da integração 3DS 2.0:
Parâmetro | Descrição | Formato | Obrigatório |
---|---|---|---|
authenticate | Identifica o tipo de autenticação 3DS 2.0.
| = 1 N | SIM |
additional_data | Dados gerais da transação. | ||
exponent | Número de casas decimais da moeda conforme definido na ISO 4217. O valor default será 2 . | = 1 N | NÃO |
extra_info | Informações adicionais sobre a conta fornecidas opcionalmente pelo 3DS Requestor. | < 64 AN | NÃO |
additional_data .authentication | Dados gerais de autenticação. | ||
transaction_type | Identifica o tipo de transação sendo autenticada.
01 em transações 3ds. | = 2 N | NÃO |
indicator | Indica o tipo da requisição de autenticação.
01 . O cenário de recorrência por enquanto não será tratado. | = 2 N | NÃO |
challenge_indicator | Indica se um desafio é requerido para essa transação.
| = 2 N | NÃO |
address_match | Indica se o endereço de entrega e de cobrança do portador são iguais.
| = 1 AN | NÃO |
additional_data .authentication .info | Informações sobre como o 3DS Requestor autenticou o portador do cartão antes ou durante a transação. | ||
method | Mecanismo usado pelo portador do cartão para se autenticar no 3DS Requestor.
| = 2 N | NÃO |
timestamp | Data e hora UTC da autenticação do portador em formato AAAAMMDDHHMM . | = 12 N | NÃO |
additional_data .authentication .prior_info | Informações sobre como o 3DS Requestor autenticou o portador do cartão como parte de uma transação 3DS prévia. | ||
method | Mecanismo usado anteriormente pelo portador para se autenticar no 3DS Requestor.
| = 2 N | NÃO |
timestamp | Data e hora UTC da autenticação prévia do portador em formato AAAAMMDDHHMM . | = 12 N | NÃO |
reference | Este elemento fornece informações adicionais para que o ACS determine a melhor forma de tratar uma requisição. | < 36 AN | NÃO |
additional_data .authentication .account | Informações sobre a conta do comprador no 3DS Requestor. | ||
age_indicator | Período de tempo que o portador teve conta no 3DS Requestor.
| = 2 N | NÃO |
change_date | Data da última alteração da conta do comprador em formato AAAAMMDD . | = 8 N | NÃO |
change_indicator | Período de tempo desde a última alteração na conta do portador.
| = 2 N | NÃO |
date | Data em que o portador abriu a conta no 3DS Requestor no formato AAAAMMDD . | = 8 N | NÃO |
password_change | Data em que o comprador alterou sua senha no formato AAAAMMDD . | = 8 N | NÃO |
password_change_indicator | Indica o período de tempo desde a última alteração de senha do portador.
| = 2 N | NÃO |
number_purchases | Número de compras com esta conta durante os últimos 6 meses. | < 4 N | NÃO |
provision_attempts_day | Número de tentativas de adição de cartão nas últimas 24 horas. | < 3 N | NÃO |
txn_activity_day | Número de transações (confirmadas e abandonadas) para este portador com o 3DS Requestor nas últimas 24 horas. | < 3 N | NÃO |
txn_activity_year | Número de transações (confirmadas e abandonadas) para este portador com o 3DS Requestor no último ano. | < 3 N | NÃO |
payment_account_age | Data em que a conta de pagamento foi registrada na conta do portador com o 3DS Requestor no formato AAAAMMDD . | = 8 N | NÃO |
payment_account_indicator | Indica o período de tempo que a conta de pagamento foi registrada no 3DS Requestor.
| = 2 N | NÃO |
ship_address_usage | Data do primeiro uso do endereço de entrega no formato AAAAMMDD . | = 8 N | NÃO |
ship_address_usage_indicator | Indica quando foi primeiramente utilizado o endereço de entrega.
| = 2 N | NÃO |
ship_name_indicator | Indica se nome do portador do cartão é idêntico ao nome de entrega utilizada para esta transação.
| = 2 N | NÃO |
suspicious_activity | Indica se o 3DS Requestor teve experiências suspeitas (incluindo fraude prévia) com a conta do comprador.
| = 2 N | NÃO |
additional_data .authentication .merchant_risk | Avaliação da loja sobre o nível de risco de fraude para a autenticação específica para o portador e a autenticação sendo conduzida. | ||
delivery_email_address | Para entrega eletrônica, o endereço de e-mail para qual a mercadoria foi entregue. | < 254 AN | NÃO |
delivery_timeframe | Indica o período de tempo de entrega da mercadoria.
| = 2 N | NÃO |
gift_card_amount | Para compra com cartão presente ou pré-pago, o valor total da compra em números inteiros (por exemplo, 123.45 é 123). | < 15 N | NÃO |
gift_card_count | Para compra com cartão presente ou pré-pago, contagem de cartões pré-pagos/presentes comprados. | < 2 N | NÃO |
gift_card_currency | Para compra com cartão presente ou pré-pago, código de moeda ISO 4217 de três dígitos do cartão presente. | = 3 N | NÃO |
pre_order_date | Para uma pré-venda, a data esperada de disponibilidade da mercadoria no formato AAAAMMDD . | = 8 N | NÃO |
pre_order_purchase_indicator | Indica se o portador está fazendo um pedido para uma mercadoria com disponibilidade futura.
| = 2 N | NÃO |
reorder_items_indicator | Indica se o portador está pedindo uma mercadoria comprada anteriormente.
| = 2 N | NÃO |
shipping_indicator | Indica a forma de entrega escolhida para a transação.
| = 2 N | NÃO |
additional_data .authentication .message | Particularidades sobre a mensageria 3DS. | ||
category | Identifica a categoria da mensagem para um caso de uso específico.
01 . | = 2 N | NÃO |
additional_data .authentication .recurring | Dados de recorrência. | ||
expiry | Data em que não serão feitas mais autorizações no formato AAAAMMDD . Obrigatório quando authentication.indicator = 02 ou 03 . | = 8 N | COND. |
frequency | Indica o número mínimo de dias entre autorizações. Obrigatório quando authentication.indicator = 02 ou 03 . | < 4 N | COND. |
additional_data .purchase_information_data | Dados da compra. | ||
date | Data e hora UTC da compra no formato AAAAMMDDHHMMSS . | = 12 N | NÃO |
additional_data .payer | Informações do portador do cartão. | ||
email | Endereço de email do portador. Caso não seja enviado será solicitado o preenchido na tela de pagamento. É recomendável enviar esse campo, pois ajuda na avaliação de risco contribuindo para uma autenticação frictionless. | < 256 AN | NÃO |
name | Nome do portador. Caso não seja enviado será solicitado o preenchido na tela de pagamento. | < 45 AN | NÃO |
additional_data .payer .phones[] | Informações do telefone do portador do cartão. | ||
ddi | DDI do telefone. Caso não seja enviado será solicitado o preenchido na tela de pagamento. É recomendável enviar esse campo, pois ajuda na avaliação de risco contribuindo para uma autenticação frictionless. | < 3 N | NÃO |
ddd | DDD do telefone. Caso não seja enviado será solicitado o preenchido na tela de pagamento. É recomendável enviar esse campo, pois ajuda na avaliação de risco contribuindo para uma autenticação frictionless. | < 3 N | NÃO |
number | Número do telefone. Caso não seja enviado será solicitado o preenchido na tela de pagamento. É recomendável enviar esse campo, pois ajuda na avaliação de risco contribuindo para uma autenticação frictionless. | < 12 N | NÃO |
type | Tipo do telefone:
06 É recomendável enviar esse campo, pois ajuda na avaliação de risco contribuindo para uma autenticação frictionless. | < 12 N | NÃO |
additional_data .billing_data .address | Endereço de cobrança. | ||
city | Cidade. Caso não seja enviado será solicitado o preenchido na tela de pagamento. | < 50 AN | NÃO |
country | Código numérico ISO 3166-1 de três dígitos do país. Caso não seja enviado será solicitado o preenchido na tela de pagamento. | = 3 N | NÃO |
street_name | Nome da rua. Caso não seja enviado será solicitado o preenchido na tela de pagamento. | < 50 AN | NÃO |
street_number | Número da rua. Caso não seja enviado será solicitado o preenchido na tela de pagamento. | < 50 AN | NÃO |
complement | Complemento do endereço. Caso não seja enviado será solicitado o preenchido na tela de pagamento. | < 50 AN | NÃO |
zip_code | CEP. Caso não seja enviado será solicitado o preenchido na tela de pagamento. | < 16 AN | NÃO |
state | Sigla do estado. Caso não seja enviado será solicitado o preenchido na tela de pagamento. | < 3 AN | NÃO |
additional_data .shipment .address | Endereço de entrega. | ||
city | Cidade. Caso não seja enviado será solicitado o preenchido na tela de pagamento. | < 50 AN | NÃO |
country | Código numérico ISO 3166-1 de três dígitos do país. Caso não seja enviado será solicitado o preenchido na tela de pagamento. | = 3 N | NÃO |
street_name | Nome da rua. Caso não seja enviado será solicitado o preenchido na tela de pagamento. | < 50 AN | NÃO |
street_number | Número da rua. Caso não seja enviado será solicitado o preenchido na tela de pagamento. | < 50 AN | NÃO |
complement | Complemento do endereço. Caso não seja enviado será solicitado o preenchido na tela de pagamento. | < 50 AN | NÃO |
zip_code | CEP. Caso não seja enviado será solicitado o preenchido na tela de pagamento. | < 16 AN | NÃO |
state | Sigla do estado. Caso não seja enviado será solicitado o preenchido na tela de pagamento. | < 3 AN | NÃO |
ATENÇÃO: Os parâmetros que existem no
payer
,billing
eshipment
quando não são passados no serviço de criação de transação através doadditional_data
, serão solicitados na tela de pagamento. No entanto, caso os parâmetros sejam passados no serviço de criação de transação, não será solicitado o preenchimento dos campos na tela de pagamento.
Exemplo de JSON:
#
Mastercard 3DS Identity Check Insights (Dataonly)O Identity Check Insights é um modo de 3DS exclusivo da Mastercard que possui as seguintes características:
- Sempre frictionless (não é pedido ao usuário para inserir informações extras).
- O lojista será responsável por arcar com as fraudes (sem liability shift).
- Maior taxa de aprovação.
- É permitido somente para cartões com a bandeira Mastercard.
Mais detalhes na documentação oficial da Mastercard.
No Carat é possível realizar uma transação de pagamento utilizando Identity Check Insights de duas maneiras:
- Via parâmetro ao iniciar uma transação de pagamento
- Via configuração de loja
#
Via parâmetro ao iniciar transaçãoO lojista pode indicar que deseja utilizar Identity Check Insights informando o valor 80
no parâmetro additional_data.authentication.message.category
.
Exemplo:
#
Via configuração de lojaO lojista pode solicitar ao atendimento Carat que habilite a opção Utiliza Mastercard 3DS Identity Check Insights
.
Com esta configuração habilitada, todas as transações de pagamento utilizando cartões com bandeira Mastercard e Maestro, utilizarão como padrão o Mastercard 3DS Identity Check Insights.
Exemplo:
É possível sobrescrever este comportamento informando o valor 01
no parâmetro additional_data.authentication.message.category
, ignorando assim a configuração da loja.
Exemplo: