Integração 3DS 2.0

O pagamento HTML do Pagamento Online está integrado com o 3DS Server, que é responsável pela realização de autenticações 3DS 2.0. Esta funcionalidade autentica o portador do cartão, conduzindo o processo com o mínimo de fricção possível ao comprador.

Atenção:

Para 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 Pagamento Online só irá acatar o valor de authenticate passado se a transação estiver entre os limites de ativação. E 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.

É possível configurar na loja uma configuração 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 Pagamento Online 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.

Autorizadoras disponíveis#

Esta integração é suportada pelas seguintes autorizadoras:

IDNome
1Visa Crédito
2Mastercard Crédito
41Elo Crédito
221Visa Débito
286Mastercard Débito
288Elo Débito

Credenciais necessárias#

As seguintes informações devem ser fornecidas às nossas equipes de suporte e produção:

NomeDescrição
Acquirer Merchant IDPara 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 BINIdentificador 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ção#

O serviço de criação de transação HTML possui os seguintes campos específicos da integração 3DS 2.0:

ParâmetroDescriçãoFormatoObrigatório
authenticateIdentifica o tipo de autenticação 3DS 2.0.
  • 1 = Habilitar o uso de 3DS. Mas, se o 3DS server não suporta a bandeira ou falhe para realizar a autenticação, o pagamento será negado.
  • 2 = Habilitar o uso de 3DS. Porém, se o 3DS server não suporta a bandeira, não faz autenticação com 3DS server. Se a bandeira for suportada e a autenticação negar, o pagamento será negado
  • 3 = Habilitar o uso de 3DS. Entretanto, mesmo se a autenticação falhar, o pagamento não será negado na autenticação.
= 1 NSIM
additional_dataDados gerais da transação.
exponentNúmero de casas decimais da moeda conforme definido na ISO 4217. O valor default será 2.= 1 NNÃO
extra_infoInformações adicionais sobre a conta fornecidas opcionalmente pelo 3DS Requestor.< 64 ANNÃO
additional_data
.authentication
Dados gerais de autenticação.
transaction_typeIdentifica o tipo de transação sendo autenticada.
  • 01 = Compra de bens/serviços
  • 03 = Check Acceptance
  • 10 = Financiamento de Conta
  • 11 = Transação Quasi-Cash
  • 28 = Ativação e carga de pré-pago
Deve-se considerar sempre 01 em transações 3ds.
= 2 NNÃO
indicatorIndica o tipo da requisição de autenticação.
  • 01 = Transação de pagamento
  • 02 = Transação recorrente
  • 03 = Transação parcelada
  • 04 = Adição de cartão
  • 05 = Manter cartão
  • 06 = Verificação do portador como parte de EMV token ID&V
Deve-se considerá que é sempre 01. O cenário de recorrência por enquanto não será tratado.
= 2 NNÃO
challenge_indicatorIndica se um desafio é requerido para essa transação.
  • 01 = Sem preferência
  • 02 = Desafio não pedido
  • 03 = Desafio pedido (preferência do 3DS Requestor)
  • 04 = Desafio pedido (mandato)
  • 05 = Desafio não pedido (análise de fraude já realizada)
  • 06 = Desafio não pedido (apenas compartilhamento de dados)
  • 07 = Desafio não pedido (forte autenticação de consumidor já é feita)
  • 08 = Desafio não pedido (usar isenção de lista branca caso o desafio não seja requerido)
  • 09 = Desafio pedido (uso de lista branca caso desafio seja requerido)
= 2 NNÃO
address_matchIndica se o endereço de entrega e de cobrança do portador são iguais.
  • Y = Endereços são iguais
  • N = Endereços não são iguais
= 1 ANNÃO
additional_data
.authentication
.info
Informações sobre como o 3DS Requestor autenticou o portador do cartão antes ou durante a transação.
methodMecanismo usado pelo portador do cartão para se autenticar no 3DS Requestor.
  • 01 = Nenhuma autenticação do 3DS Requestor ocorreu (ou seja, portador fez "login" como visitante)
  • 02 = Login para a conta do portador no sistema do 3DS Requestor usando as credenciais do próprio 3DS Requestor
  • 03 = Login para a conta do portador no sistema do 3DS Requestor usando ID federado
  • 04 = Login para a conta do portador no sistema do 3DS Requestor usando credenciais do emissor
  • 05 = Login para a conta do portador no sistema do 3DS Requestor usando autenticação terceirizada
  • 06 = Login para a conta do portador no sistema do 3DS Requestor usando FIDO Authenticator
  • 07 = Login para a conta do portador no sistema do 3DS Requestor usando FIDO Authenticator (garantia de dados FIDO assinada)
  • 08 = Seguro de Dados SRC
= 2 NNÃO
timestampData e hora UTC da autenticação do portador em formato AAAAMMDDHHMM.= 12 NNÃ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.
methodMecanismo usado anteriormente pelo portador para se autenticar no 3DS Requestor.
  • 01 = Autenticação frictionless ocorrida pelo ACS
  • 02 = Desafio do portador ocorrida pelo ACS
  • 03 = AVS verificada
  • 04 = Outras formas do emissor
= 2 NNÃO
timestampData e hora UTC da autenticação prévia do portador em formato AAAAMMDDHHMM.= 12 NNÃO
referenceEste elemento fornece informações adicionais para que o ACS determine a melhor forma de tratar uma requisição.< 36 ANNÃO
additional_data
.authentication
.account
Informações sobre a conta do comprador no 3DS Requestor.
age_indicatorPeríodo de tempo que o portador teve conta no 3DS Requestor.
  • 01 = Sem conta (visitante)
  • 02 = Criado durante esta transação
  • 03 = Menos de 30 dias
  • 04 = 30−60 dias
  • 05 = Mais de 60 dias
= 2 NNÃO
change_dateData da última alteração da conta do comprador em formato AAAAMMDD.= 8 NNÃO
change_indicatorPeríodo de tempo desde a última alteração na conta do portador.
  • 01 = Alterada durante esta transação
  • 02 = Menos de 30 dias
  • 03 = 30−60 dias
  • 04 = Mais de 60 dias
= 2 NNÃO
dateData em que o portador abriu a conta no 3DS Requestor no formato AAAAMMDD.= 8 NNÃO
password_changeData em que o comprador alterou sua senha no formato AAAAMMDD.= 8 NNÃO
password_change_indicatorIndica o período de tempo desde a última alteração de senha do portador.
  • 01 = Sem alteração
  • 02 = Alterada durante esta transação
  • 03 = Menos de 30 dias
  • 04 = 30−60 dias
  • 05 = Mais de 60 dias
= 2 NNÃO
number_purchasesNúmero de compras com esta conta durante os últimos 6 meses.< 4 NNÃO
provision_attempts_dayNúmero de tentativas de adição de cartão nas últimas 24 horas.< 3 NNÃO
txn_activity_dayNúmero de transações (confirmadas e abandonadas) para este portador com o 3DS Requestor nas últimas 24 horas.< 3 NNÃO
txn_activity_yearNúmero de transações (confirmadas e abandonadas) para este portador com o 3DS Requestor no último ano.< 3 NNÃO
payment_account_ageData em que a conta de pagamento foi registrada na conta do portador com o 3DS Requestor no formato AAAAMMDD.= 8 NNÃO
payment_account_indicatorIndica o período de tempo que a conta de pagamento foi registrada no 3DS Requestor.
  • 01 = Sem conta (visitante)
  • 02 = Durante esta transação
  • 03 = Menos de 30 dias
  • 04 = 30−60 dias
  • 05 = Mais de 60 dias
= 2 NNÃO
ship_address_usageData do primeiro uso do endereço de entrega no formato AAAAMMDD.= 8 NNÃO
ship_address_usage_indicatorIndica quando foi primeiramente utilizado o endereço de entrega.
  • 01 = Nesta transação
  • 02 = Menos de 30 dias
  • 03 = 30−60 dias
  • 04 = Mais de 60 dias
= 2 NNÃO
ship_name_indicatorIndica se nome do portador do cartão é idêntico ao nome de entrega utilizada para esta transação.
  • 01 = Nome da conta idêntico ao nome de entrega
  • 02 = Nome de conta diferente de nome de entrega
= 2 NNÃO
suspicious_activityIndica se o 3DS Requestor teve experiências suspeitas (incluindo fraude prévia) com a conta do comprador.
  • 01 = Nenhuma atividade suspeita foi observada
  • 02 = Atividade suspeita foi observada
= 2 NNÃ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_addressPara entrega eletrônica, o endereço de e-mail para qual a mercadoria foi entregue.< 254 ANNÃO
delivery_timeframeIndica o período de tempo de entrega da mercadoria.
  • 01 = Entrega eletrônica
  • 02 = Entrega no mesmo dia
  • 03 = Entrega no dia seguinte
  • 04 = Entrega em dois ou mais dias
= 2 NNÃO
gift_card_amountPara compra com cartão presente ou pré-pago, o valor total da compra em números inteiros (por exemplo, 123.45 é 123).< 15 NNÃO
gift_card_countPara compra com cartão presente ou pré-pago, contagem de cartões pré-pagos/presentes comprados.< 2 NNÃO
gift_card_currencyPara compra com cartão presente ou pré-pago, código de moeda ISO 4217 de três dígitos do cartão presente.= 3 NNÃO
pre_order_datePara uma pré-venda, a data esperada de disponibilidade da mercadoria no formato AAAAMMDD.= 8 NNÃO
pre_order_purchase_indicatorIndica se o portador está fazendo um pedido para uma mercadoria com disponibilidade futura.
  • 01 = Mercadoria disponível
  • 02 = Disponibilidade futura
= 2 NNÃO
reorder_items_indicatorIndica se o portador está pedindo uma mercadoria comprada anteriormente.
  • 01 = Pedida pela primeira vez
  • 02 = Pedida novamente
= 2 NNÃO
shipping_indicatorIndica a forma de entrega escolhida para a transação.
  • 01 = Entregar no endereço de cobrança
  • 02 = Entregar em outro endereço verificado no arquivo com a loja
  • 03 = Entregar no endereço que é diferente do endereço de cobrança
  • 04 = Entregar na própria loja
  • 05 = Bens digitais
  • 06 = Bilhetes de viagem ou evento, não entregues fisicamente
  • 07 = Outros
= 2 NNÃO
additional_data
.authentication
.message
Particularidades sobre a mensageria 3DS.
categoryIdentifica a categoria da mensagem para um caso de uso específico.
  • 01 - Autenticação de pagamento
  • 02 - Autenticação de não-pagamento
  • 80 - Autenticação Mastercard Identity Check Insights (Data only)
Valor padrão: 01.
= 2 NNÃO
additional_data
.authentication
.recurring
Dados de recorrência.
expiryData em que não serão feitas mais autorizações no formato AAAAMMDD. Obrigatório quando authentication.indicator = 02 ou 03.= 8 NCOND.
frequencyIndica o número mínimo de dias entre autorizações. Obrigatório quando authentication.indicator = 02 ou 03.< 4 NCOND.
additional_data
.purchase_information_data
Dados da compra.
dateData e hora UTC da compra no formato AAAAMMDDHHMMSS.= 12 NNÃO
additional_data
.payer
Informações do portador do cartão.
emailEndereço de email do portador. Caso não seja enviado será solicitado o preenchido na tela de pagamento.< 256 ANNÃO
nameNome do portador. Caso não seja enviado será solicitado o preenchido na tela de pagamento.< 45 ANNÃO
additional_data
.payer
.phones[]
Informações do telefone do portador do cartão.
ddiDDI do telefone. Caso não seja enviado será solicitado o preenchido na tela de pagamento.< 3 NNÃO
dddDDD do telefone. Caso não seja enviado será solicitado o preenchido na tela de pagamento.< 3 NNÃO
numberNúmero do telefone. Caso não seja enviado será solicitado o preenchido na tela de pagamento.< 12 NNÃO
typeTipo do telefone:
  • 1: residencial (fixo)
  • 2: comercial
  • 6: celular
Quando não enviado atribui-se valor padrão: 06
< 12 NNÃO
additional_data
.billing_data
.address
Endereço de cobrança.
cityCidade. Caso não seja enviado será solicitado o preenchido na tela de pagamento.< 50 ANNÃO
countryCó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 NNÃO
street_nameNome da rua. Caso não seja enviado será solicitado o preenchido na tela de pagamento.< 50 ANNÃO
street_numberNúmero da rua. Caso não seja enviado será solicitado o preenchido na tela de pagamento.< 50 ANNÃO
complementComplemento do endereço. Caso não seja enviado será solicitado o preenchido na tela de pagamento.< 50 ANNÃO
zip_codeCEP. Caso não seja enviado será solicitado o preenchido na tela de pagamento.< 16 ANNÃO
stateSigla do estado. Caso não seja enviado será solicitado o preenchido na tela de pagamento.< 3 ANNÃO
additional_data
.shipment
.address
Endereço de entrega.
cityCidade. Caso não seja enviado será solicitado o preenchido na tela de pagamento.< 50 ANNÃO
countryCó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 NNÃO
street_nameNome da rua. Caso não seja enviado será solicitado o preenchido na tela de pagamento.< 50 ANNÃO
street_numberNúmero da rua. Caso não seja enviado será solicitado o preenchido na tela de pagamento.< 50 ANNÃO
complementComplemento do endereço. Caso não seja enviado será solicitado o preenchido na tela de pagamento.< 50 ANNÃO
zip_codeCEP. Caso não seja enviado será solicitado o preenchido na tela de pagamento.< 16 ANNÃO
stateSigla do estado. Caso não seja enviado será solicitado o preenchido na tela de pagamento.< 3 ANNÃO

ATENÇÃO: Os parâmetros que existem no payer, billing e shipment quando não são passados no serviço de criação de transação através do additional_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:

{
"merchant_id":"XXXXX",
"authorizer_id":"2",
"amount":"10004",
"authenticate":"1",
"additional_data":{
"purchase_information_data":{
"date":"20201023113749"
},
"exponent":"2",
"authentication":{
"transaction_type":"01",
"indicator":"01"
}
}
}

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 Pagamento Online é 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ção#

O lojista pode indicar que deseja utilizar Identity Check Insights informando o valor 80 no parâmetro additional_data.authentication.message.category.

Exemplo:

{
"merchant_id":"LOJAYYZ",
"authorizer_id":"2",
"amount":"10004",
"authenticate":"1",
"additional_data":{
"purchase_information_data":{
"date":"20201023113749"
},
"exponent":"2",
"authentication":{
"transaction_type":"01",
"indicator":"01",
"message":{
"category":"80"
}
}
}
}

Via configuração de loja#

O lojista pode solicitar ao atendimento Pagamento Online 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:

{
"merchant_id":"DATAONLYON",
"authorizer_id":"2",
"amount":"10004",
"authenticate":"1",
"additional_data":{
"purchase_information_data":{
"date":"20201023113749"
},
"exponent":"2",
"authentication":{
"transaction_type":"01",
"indicator":"01"
}
}
}

É 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:

{
"merchant_id":"DATAONLYON",
"authorizer_id":"2",
"amount":"10004",
"authenticate":"1",
"additional_data":{
"purchase_information_data":{
"date":"20201023113749"
},
"exponent":"2",
"authentication":{
"transaction_type":"01",
"indicator":"01",
"message":{
"category":"01"
}
}
}
}