Serviço de autenticação

Após a criação da transação, é necessário chamar o serviço de autenticação para dar continuidade ao fluxo. Caso seja retornado o status AUC, será preciso iniciar um desafio. Para o status AUD, deve ser seguido o fluxo "decoupled". Nos demais casos, não serão necessárias mais chamadas.

Detalhes da chamada#

  • Recurso: /v2/authentication/{ID da transação 3DS Server}
  • Método HTTP: PUT
  • Formato da requisição: JSON
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no 3DS Server. Os códigos de produção e certificação serão diferentes.< 15 ANSIM
merchant_keyChave de autenticação da loja no 3DS Server. As chaves de produção e certificação serão diferentes.< 80 ANSIM
Content-TypeDeve ser enviado com o valor application/json.= 15 ANSIM
carat_merchant_idDeve ser enviado código da loja do Carat apenas se for enviado na requisição o campo token< 15 ANCOND.
carat_merchant_keyDeve ser enviada a chave de autenticação da loja do Carat apenas se for enviado na requisição o campo token< 80 ANCOND.

Exemplos#

Abaixo estão alguns exemplos de chamada do serviço de autenticação utilizando a ferramenta cURL.

Fluxo Frictionless#

Requisição com número de cartão:

curl
--request PUT "https://mpi-homolog.softwareexpress.com.br/3ds-server/v2/authentication/12341234-1234-1234-1234-123412341234"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"three_ds_comp_ind":"Y",
"pay_token_ind":"false",
"notification_url":"https://www.requestor.com/notification",
"trans_type":"01",
"three_ds_requestor":{
"authentication_ind":"01",
"id":"id",
"name":"Loja de Testes",
"url":"https://www.requestor.com"
},
"acquirer":{
"bin":"2",
"merchant_id":"00000000"
},
"browser":{
"accept_header":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
"ip":"10.20.30.40",
"javascript_enabled":"true",
"java_enabled":"false",
"language":"pt-BR",
"color_depth":"24",
"screen_height":"864",
"screen_width":"1536",
"tz":"180",
"user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0"
},
"cardholder":{
"card_expiry_date":"2212",
"name":"Joaquim",
"acct":{
"type":"02",
"number":"1234123412341234"
}
},
"merchant":{
"mcc":"1234",
"country_code":"BRA",
"name":"Loja de Teste",
},
"message":{
"category":"01"
},
"purchase":{
"amount":"10000",
"currency":"986",
"exponent":"2",
"date":"date"
}
}
--verbose

Resposta:

{
"three_ds_server": {
"trans_id": "12341234-1234-1234-1234-123412341234",
"status": "AUY"
},
"acs": {
"operator_id": "acsOperatorID",
"reference_number": "acsReferenceNumber",
"trans_id": "43214321-4321-4321-4321-432143214321"
},
"eci": "05",
"device_channel": "02",
"authentication": {
"value": "1234567890123456789012345678"
},
"broad_info": "broadInfo",
"ds": {
"reference_number": "dsReferenceNumber",
"trans_id": "56785678-5678-5678-5678-567856875678"
},
"transaction": {
"status": "Y"
},
"message_version": "2.2.0"
}

Requisição com token:

curl
--request PUT "https://mpi-homolog.softwareexpress.com.br/3ds-server/v2/authentication/12341234-1234-1234-1234-123412341234"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--header "carat_merchant_id: yyyyyyyyyyyyyyy"
--header "carat_merchant_key: zzzzzzzzzzzzzz"
--data-binary
{
"three_ds_comp_ind":"Y",
"pay_token_ind":"false",
"notification_url":"https://www.requestor.com/notification",
"trans_type":"01",
"three_ds_requestor":{
"authentication_ind":"01",
"id":"id",
"name":"Loja de Testes",
"url":"https://www.requestor.com"
},
"acquirer":{
"bin":"2",
"merchant_id":"00000000"
},
"browser":{
"accept_header":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
"ip":"10.20.30.40",
"javascript_enabled":"true",
"java_enabled":"false",
"language":"pt-BR",
"color_depth":"24",
"screen_height":"864",
"screen_width":"1536",
"tz":"180",
"user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0"
},
"cardholder":{
"card_expiry_date":"2212",
"name":"Joaquim",
"acct":{
"type":"02",
"token":"er334gvdgdf5dfgdfg63456363434tre345353rg34tb4576jfgrtu464jj56j56u56u56ghhrthrhrthrth467"
}
},
"merchant":{
"mcc":"1234",
"country_code":"BRA",
"name":"Loja de Teste",
},
"message":{
"category":"01"
},
"purchase":{
"amount":"10000",
"currency":"986",
"exponent":"2",
"date":"date"
}
}
--verbose

Resposta:

{
"three_ds_server": {
"trans_id": "12341234-1234-1234-1234-123412341234",
"status": "AUY"
},
"acs": {
"operator_id": "acsOperatorID",
"reference_number": "acsReferenceNumber",
"trans_id": "43214321-4321-4321-4321-432143214321"
},
"eci": "05",
"device_channel": "02",
"authentication": {
"value": "1234567890123456789012345678"
},
"broad_info": "broadInfo",
"ds": {
"reference_number": "dsReferenceNumber",
"trans_id": "56785678-5678-5678-5678-567856875678"
},
"transaction": {
"status": "Y"
},
"message_version": "2.2.0"
}

Fluxo Challenge#

Requisição:

curl
--request PUT "https://mpi-homolog.softwareexpress.com.br/3ds-server/v2/authentication/12341234-1234-1234-1234-123412341234"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"three_ds_comp_ind":"Y",
"pay_token_ind":"false",
"notification_url":"https://www.requestor.com/notification",
"trans_type":"01",
"three_ds_requestor":{
"authentication_ind":"01",
"id":"id",
"name":"Loja de Testes",
"url":"https://www.requestor.com"
},
"acquirer":{
"bin":"2",
"merchant_id":"00000000"
},
"browser":{
"accept_header":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
"ip":"10.20.30.40",
"javascript_enabled":"true",
"java_enabled":"false",
"language":"pt-BR",
"color_depth":"24",
"screen_height":"864",
"screen_width":"1536",
"tz":"180",
"user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0"
},
"cardholder":{
"card_expiry_date":"2212",
"name":"Joaquim",
"acct":{
"type":"02",
"number":"1234123412341234"
}
},
"merchant":{
"mcc":"1234",
"country_code":"BRA",
"name":"Loja de Teste",
},
"message":{
"category":"01"
},
"purchase":{
"amount":"10004",
"currency":"986",
"exponent":"2",
"date":"date"
}
}
--verbose

Resposta:

{
"three_ds_server": {
"trans_id": "12341234-1234-1234-1234-123412341234",
"status": "AUC"
},
"acs": {
"challenge_mandated": "Y",
"operator_id": "acsOperatorID",
"reference_number": "acsReferenceNumber",
"trans_id": "43214321-4321-4321-4321-432143214321",
"url": "https://www.acs.com/challenge"
},
"device_channel": "02",
"authentication": {
"type": "01"
},
"broad_info": "broadInfo",
"ds": {
"reference_number": "dsReferenceNumber",
"trans_id": "56785678-5678-5678-5678-567856875678"
},
"transaction": {
"status": "C"
},
"message_version": "2.2.0"
}

Parâmetros de requisição#

Na tabela abaixo está a descrição dos parâmetros de requisição do serviço de autenticação:

ParâmetroDescriçãoFormatoObrigatório
device_channelCanal do dispositivo. Valor padrão: 02corresponde a Browser (BRW). Saiba mais.= 2 NSIM
three_ri_indIndica o tipo de requisição 3RI.
  • 01 = Transação recorrente
  • 02 = Transação parcelada
  • 03 = Adição de cartão
  • 04 = Manter informações de cartão
  • 05 = Verificação de conta
  • 06 = Entrega atrasada
  • 07 = Recarga
  • 08 = Serviço postal
  • 09 = Serviço telefônico
  • 10 = Verificação de status de lista branca
  • 11 = Outros pagamentos
Obrigatório para device_channel = 03.
= 2 NCOND.
three_ds_comp_indIndica se o 3DS Method foi executado com sucesso.
  • Y = Realizado com sucesso
  • N = Não executado com sucesso
  • U = Indisponível— não tinha 3DS Method URL associada ao cartão.
Obrigatório para device_channel = 02.
= 1 ACOND.
pay_token_indO valor true indica que a transação foi "destokenizada" antes do recebimento pelo ACS.< 5 ANNÃO
pay_token_sourceIndica onde ocorreu a "destokenização".
  • 01 - 3DS Server
  • 02 - DS
= 2 NNÃO
notification_urlURL completa do 3DS Requestor para receber a mensagem CRes. Campo obrigatório para device_channel = 02.< 256 ANCOND.
trans_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
= 2 NSIM
broad_infoInformação não-estruturada enviada entre 3DS Server, DS e ACS.ObjectNÃO
three_ds_requestor
authentication_indIndica 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
= 2 NSIM
challenge_indEste campo sinaliza a preferência do comércio para a realização (ou não) do desafio mas, a menos que as partes estejam alinhadas, o emissor pode não acatar esta solicitação. Caso este campo não seja enviado, será interpretado como “01 = Sem preferência”
  • 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
idIdentificador do 3DS Requestor designado pelo DS.< 35 ANSIM
nameNome do 3DS Requestor designado pelo DS.< 40 ANSIM
urlURL completa do site do 3DS Requestor ou site de atendimento ao cliente.< 2048 ANSIM
three_ds_requestor.
authentication_info
Informações sobre como o 3DS Requestor autenticou o portador do cartão antes ou durante a transação.
dataDado que documenta e auxilia um processo específico de autenticação.< 20000 ANNÃ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
three_ds_requestor.
prior_authentication_info
Informações sobre como o 3DS Requestor autenticou o portador do cartão como parte de uma transação 3DS prévia.
dataDado que documenta e auxilia um processo específico de autenticação.< 2048 ANNÃO
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
acquirer
binCódigo da rede adquirente conforme definida pelo DS.< 11 ANSIM
merchant_idIdentificador da loja designado pelo adquirente.< 35 ANSIM
browserEstes parâmetros são obrigatórios caso device_channel = 02.
accept_headerConteúdo exato do cabeçalho HTTP "Accept" conforme enviado para o 3DS Requestor pelo navegador do comprador.< 2048 ANCOND.
ipEndereço IP do comprador.< 45 ANCOND.
java_enabledValor booleano que representa a habilidade do navegador do comprador em executar Java. Este valor é retornado pela propriedade navigator.javaEnabled.< 5 ANCOND.
javascript_enabledValor booleano que representa a habilidade do navegador do portador em executar JavaScript.< 5 ANCOND.
languageValor que representa a linguagem do navegador conforme definido na IETF BCP47. Retornado pela propriedade navigator.language.< 8 ANCOND.
color_depthValor que representa a quantidade bits de cor para exibição de imagens, em bits por pixel. Valor obtido pela propriedade screen.colorDepth.
  • 1 = 1 bit
  • 4 = 4 bits
  • 8 = 8 bits
  • 15 = 15 bits
  • 16 = 16 bits
  • 24 = 24 bits
  • 32 = 32 bits
  • 48 = 48 bits
Observação: Se o valor na request for diferente dos especificados acima, será selecionado o valor mais próximo, sempre optando pelo menor.
Ex.:30 vai ser 24
< 2 NCOND.
screen_heightAltura da tela do portador. Valor retornado pela propriedade screen.height.< 6 NCOND.
screen_widthComprimento da tela do portador. Valor retornado pela propriedade screen.width.< 6 ANCOND.
tzFuso horário em minutos entre UTC e o horário do navegador do comprador. Valor retornado pelo método getTimezoneOffset().< 5 ANCOND.
user_agentUser agent do comprador.< 2048 ANCOND.
cardholder
card_expiry_dateData de validade do cartão no formato AAMM.= 4 NSIM
addr_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
emailEmbora não seja obrigatório, é recomendável enviar esse campo, pois ajuda na avaliação de risco – aumentando as chances de se obter uma autenticação silenciosa.< 256 ANSIM
nameNome do portador.< 45 ANSIM
cardholder.
home_phone
Número de telefone residencial do portador.
ccDDI< 3 NSIM
subscriberDDD + Telefone< 15 NSIM
cardholder.
mobile_phone
É recomendável enviar esse campo, pois ajuda na avaliação de risco, aumentando as chances de se obter uma autenticação silenciosa.
ccDDI< 3 NSIM
subscriberDDD + Telefone< 15 NSIM
cardholder.
work_phone
Número de telefone comercial do portador.
ccDDI< 3 NSIM
subscriberDDD + Telefone< 15 NSIM
cardholder.
acct
typeIndica o tipo de conta. Por exemplo, para um cartão múltiplo.
  • 01 = N/A
  • 02 = Crédito
  • 03 = Débito
= 2 NSIM
numberNúmero do cartão (PAN), deve ser enviado sempre na requisição o campo number ou token< 19 NCOND
tokenHASH de um cartão armazenado no Carat, deve ser enviado sempre na requisição o campo number ou token= 88 ANCOND
idInformações adicionais sobre a conta fornecidas opcionalmente pelo 3DS Requestor.< 64 ANNÃO
cardholder.
acct.
info
ch_acc_age_indPerí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
ch_acc_changeData da última alteração da conta do comprador em formato AAAAMMDD.= 8 NNÃO
ch_acc_change_indPerí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
ch_acc_dateData em que o portador abriu a conta no 3DS Requestor no formato AAAAMMDD.= 8 NNÃO
ch_acc_pw_changeData em que o comprador alterou sua senha no formato AAAAMMDD.= 8 NNÃO
ch_acc_pw_change_indIndica 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
nb_purchase_accountNú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_acc_ageData em que a conta de pagamento foi registrada na conta do portador com o 3DS Requestor no formato AAAAMMDD.= 8 NNÃO
payment_acc_indIndica 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_indIndica 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_acc_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
cardholder.
bill_addr
Endereço de cobrança do portador.
cityCidade.< 50 ANSIM
countryCódigo numérico ISO 3166-1 de três dígitos do país.= 3 NSIM
line1Primeira linha do endereço.< 50 ANSIM
line2Segunda linha do endereço.< 50 ANSIM
line3Terceira linha do endereço.< 50 ANSIM
post_codeCEP.< 16 ANSIM
stateSigla do estado.< 3 ANSIM
cardholder.
ship_addr
Endereço de entrega do portador.
cityCidade.< 50 ANSIM
countryCódigo numérico ISO 3166-1 de três dígitos do país.= 3 NSIM
line1Primeira linha do endereço.< 50 ANSIM
line2Segunda linha do endereço.< 50 ANSIM
line3Terceira linha do endereço.< 50 ANSIM
post_codeCEP.< 16 ANSIM
stateSigla do estado.< 3 ANSIM
merchant
mccCódigo específico do DS que descreve o tipo de negócio/produto/serviço da loja. Antes de enviar a requisição para o DS, o 3DS verifica automaticamente o tamanho do campo mcc inserido. Se o tamanho for menor que 4 caracteres, o 3DS adicionará zeros à esquerda até que o campo atinja um tamanho total de 4 caracteres.= 4 NSIM
country_codeCódigo numérico ISO 3166-1 de três dígitos do país da loja.= 3 NSIM
nameNome da loja designado pelo adquirente ou sistema de pagamento.< 40 ANSIM
merchant.
risk_indicator
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_currPara 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_indIndica 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_indIndica se o portador está pedindo uma mercadoria comprada anteriormente.
  • 01 = Pedida pela primeira vez
  • 02 = Pedida novamente
= 2 NNÃO
ship_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
message
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) Saiba mais
= 2 NSIM
message.
extension[]
Dados necessários para auxiliar em requisitos não definidos na mensagem 3DS são carregados numa extensão de mensagem.
criticality_indicatorUm valor booleano que indica se o destinatário deve entender os conteúdos da extensão para interpretar a mensagem inteira.< 5 ANNÃO
dataDados carregados na extensão.ObjectNÃO
idIdentificador único da extensão.< 64 ANNÃO
nameNome da extensão.< 64 ANNÃO
purchase
amountValor total da compra em centavos.< 48 NSIM
currencyCódigo da moeda ISO 4217 de três dígitos da compra.= 3 NSIM
exponentNúmero de casas decimais da moeda conforme definido na ISO 4217.= 1 NSIM
dateData e hora UTC da compra no formato AAAAMMDDHHMMSS.= 12 NSIM
instal_dataNúmero máximo de parcelas da compra. O valor deve ser maior que 1.< 3 NNÃO
recurringDados para transações recorrentes.
expiryData em que não serão feitas mais autorizações no formato AAAAMMDD. Obrigatório quando three_ds_requestor. authentication_ind = 02 ou 03.= 8 NCOND.
frequencyIndica o número mínimo de dias entre autorizações. Obrigatório quando three_ds_requestor. authentication_ind = 02 ou 03.< 4 NCOND.
sdkEstes campos são obrigatórios para 3DS SDKs (device_channel = 01).
app_idGUID criado para todas as instalações do aplicativo do 3DS Requestor num dispositivo do consumidor. Este será gerado e armazenado pelo 3DS SDK para cada instalação.= 36 ANCOND.
enc_dataObjeto JWE (representado como uma string) contendo dados criptografados pelo SDK para que o DS descriptografe.< 64000 ANCOND.
ephem_pub_keyChave pública gerada pelo 3DS SDK para comunicação com o ACS.ObjectCOND.
max_timeoutIndica o máximo de tempo (em minutos) para cada troca de mensagem.< 2 NCOND.
trans_idGUID da transação do 3DS SDK.= 36 ANCOND.
ifaceLista todos os tipos de interface SDK suportadas pelo dispositivo para exibição de interfaces específicas de desafio.
  • 01 = Nativa
  • 02 = HTML
  • 03 = Ambas
= 2 NCOND.
ui_type[]Lista todos os tipos de interface de usuário que o dispositivo suporta para exibição de interfaces específicas de desafio dentro da SDK.
  • 01 = Texto
  • 02 = Select de um valor
  • 03 = Multi Select
  • 04 = OOB
  • 05 = HTML Outros (válido apenas para interface HTML)
= 2 N[]COND.
white_list
statusPermite a comunicação de status de lista branca entre ACS, DS e 3DS Requestor.
  • Y = 3DS Requestor está na lista branca do portador
  • N = 3DS Requestor não está na lista branca do portador
  • E = Não qualificado, conforme determinado pelo emissor
  • P = Pendente de confirmação pelo portador
  • R = Portador rejeitou
  • U = Status de lista branca desconhecido, indisponível, ou não se aplica
= 1 ANNÃO
status_sourceEste campo será preenchido pelo sistema que configura o status de lista branca.
  • 01 = 3DS Server
  • 02 = DS
  • 03 = ACS
= 2 NNÃO

Parâmetros de resposta#

Em caso de sucesso, o código de resposta HTTP será 200. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de autenticação:

ParâmetroDescriçãoFormato
eciElectronic Commerce Indicator= 2 N
broad_infoInformação não-estruturada enviada entre 3DS Server, DS e ACS.Object
device_channelCanal do dispositivo. Saiba mais.= 2 N
message_versionVersão utilizada na transação (essa versão deve ser utilizada na requisição do CRes)< 8 AN
three_ds_server
trans_idID da transação 3DS Server= 36 AN
statusStatus no 3DS Server. Saiba mais.= 3 AN
acs
challenge_mandatedIndicação de caso o desafio é requerido para a transação a ser autorizada.
  • Y = Desafio é necessário
  • N = Desafio não é necessário
= 1 AN
operator_idIdentificador do ACS designado pelo DS.< 32 AN
reference_numberIdentificador único designado pela EMVCo.< 32 AN
trans_idID da transação no ACS.= 36 AN
urlURL completa de desafio do ACS.< 2048 AN
decoupled_confirmation_indIndica se o ACS confirma a utilização de autenticação decoupled e concorda com o seu uso para autenticar o comprador.
  • Y = Confirma uso de autenticação decoupled
  • N = Autenticação decoupled não será utilizada
= 1 AN
signed_contentContém o objeto JWS criado pelo ACS para a mensagem ARes.var. AN
ifaceEsta é a interface ACS em que o desafio será apresentado ao portador.
  • 01 = Nativa
  • 02 = HTML
= 2 N
ui_templateIdentifica o formato de interface de usuáro que o ACS apresenta primeiramente ao consumidor.
  • 01 = Texto
  • 02 = Select de um valor
  • 03 = Multi Select
  • 04 = OOB
  • 05 = HTML Outros
= 2 N
authentication
typeIndica o tipo de forma de autenticação que o emissor utilizará para desafiar o portador.
  • 01 = Estática
  • 02 = Dinâmica
  • 03 = OOB
  • 04 = Decoupled
= 2 N
valueValor específico ao sistema de pagamento fornecido pelo ACS ou o DS usando um algoritmo definido pelo sistema de pagamento. Valor de autenticação que será usado para fornecer prova de autenticação (CAVV).= 28 AN
cardholder
infoTexto fornecido pelo ACS/Emissor para o portador do cartão durante uma transação frictionless ou decoupled.< 128 AN
ds
reference_numberIdentificador único do DS designado pela EMVCo.< 32 AN
trans_idID da transação no DS.= 36 AN
message.
extension[]
Dados necessários para auxiliar em requisitos não definidos na mensagem 3DS são carregados numa extensão de mensagem.
criticality_indicatorUm valor booleano que indica se o destinatário deve entender os conteúdos da extensão para interpretar a mensagem inteira.< 5 AN
dataDados carregados na extensão.Object
idIdentificador único da extensão.< 64 AN
nameNome da extensão.< 64 AN
transaction
statusStatus da transação segundo o protocolo 3DS 2.0.
  • Y = Autenticado com sucesso
  • N = Não autenticado; transação negada.
  • U = Autenticação não pôde ser realizada; problemas técnicos ou outros.
  • A = Tentativas de processamento realizadas; não autenticado, mas uma prova de autenticação é fornecida.
  • C = Desafio requerido.
  • D = Autenticação decoupled requerida.
  • R = Autenticação rejeitada pelo emissor.
= 1 AN
status_reasonFornece informação sobre o motivo do valor do transaction.status.
  • 01 = Autenticação do cartão falhou
  • 02 = Dispositivo desconhecido
  • 03 = Dispositivo não suportado
  • 04 = Excede limite de frequência de autenticação
  • 05 = Cartão expirado
  • 06 = Número de cartão inválido
  • 07 = Transação inválido
  • 08 = Sem registro de card
  • 09 = Falha de segurança
  • 10 = Cartão roubado
  • 11 = Suspeita de fraude
  • 12 = Transação não permitida para o portador
  • 13 = Portador do cartão não registrado no serviço
  • 14 = Timeout de transação no ACS
  • 15 = Confiança baixa
  • 16 = Confiança média
  • 17 = Confiança alta
  • 18 = Confiança muito alta
  • 19 = Excede máximo de desafios do ACS
  • 20 = Transação de não-pagamento não suportada
  • 21 = Transação 3RI não suportada
  • 22 = Problema técnico no ACS
  • 23 = Autenticação Decoupled requerida pelo ACS, mas não pedida pelo 3DS Requestor
  • 24 = Tempo máximo de autenticação decoupled excedido
  • 25 = Autenticação Decoupled teve tempo insuficiente para autenticar o comprador. ACS não fará tentativa.
  • 26 = Autenticação tentada, mas não realizada pelo portador
= 2 N
white_list
statusPermite a comunicação de status de lista branca entre ACS, DS e 3DS Requestor.
  • Y = 3DS Requestor está na lista branca do portador
  • N = 3DS Requestor não está na lista branca do portador
  • E = Não qualificado, conforme determinado pelo emissor
  • P = Pendente de confirmação pelo portador
  • R = Portador rejeitou
  • U = Status de lista branca desconhecido, indisponível, ou não se aplica
= 1 AN
status_sourceEste campo será preenchido pelo sistema que configura o status de lista branca.
  • 01 = 3DS Server
  • 02 = DS
  • 03 = ACS
= 2 N
sdk
trans_idID da transação 3DS SDK.= 36 AN
error
codeCódigo do erro. Saiba mais.< 3 N
componentIndica qual componente identificou o erro.
  • C = 3DS SDK
  • S = 3DS Server
  • D = DS
  • A = ACS
= 1 AN
descriptionDescrição do erro< 2048 AN
detailDetalhamento do erro< 28 AN