Desafio
Para iniciar um desafio, não basta apenas redirecionar o comprador para a URL obtida no campo acs.url
, é necessário fazer um POST do CReq. Ao fim dos desafios, o 3DS Requestor receberá informações (na URL apontada no campo notification_url
) referentes à transação 3DS dentro do objeto CRes.
#
Envio do CReqO POST do CReq deve ser feito com o cabeçalho Content-Type
= application/x-www-form-urlencoded
quando device_channel
= 02
ou application/jose
quando device_channel
= 01
. Neste formulário, deve ser enviado o parâmetro creq
, cujo conteúdo é o CReq codificado em Base64 URL-safe encoding.
#
ExemplosCReq JSON:
CReq Base64:
HTML de redirecionamento para o desafio:
#
Parâmetros do CReqParâmetro | Descrição | Formato | Obrigatório |
---|---|---|---|
threeDSRequestorAppURL | URL do aplicativo do lojista. | < 256 AN | NÃO |
threeDSServerTransID | ID da transação 3DS Server | = 36 AN | SIM |
acsTransID | ID da transação ACS | = 36 AN | SIM |
challengeCancel | Indicador que informa o ACS e o DS que a autenticação foi cancelada.
| = 2 N | NÃO |
challengeDataEntry | Contém os dados que o portador digitou no campo de texto da interface nativa. | < 45 AN | NÃO |
challengeHTMLDataEntry | Contém os dados que o portador digitou no campo de texto da interface HTML. | < 256 AN | NÃO |
challengeNoEntry | Indicador que informa que o portador submeteu uma resposta vazia.
| = 1 AN | NÃO |
challengeWindowSize | Dimensões da janela de desafio exibida ao portador.
| = 2 N | SIM |
messageType | Valor fixo CReq . | = 4 AN | SIM |
messageVersion | Versão de mensagem 3DS: 2.1.0 ou 2.2.0 . | < 8 AN | SIM |
oobContinue | Valor booleano que notifica o ACS que o portador completou a autenticação selecionando o botão "Continuar" numa forma de autenticação OOB. | < 5 AN | NÃO |
resendChallenge | Indicador para o ACS para reenviar o código de informação de desafio para o portador.
| = 1 AN | NÃO |
sdkTransID | ID de transação 3DS SDK. Obrigatório quando device_channel = 01 . | = 36 AN | COND. |
sdkCounterStoA | Contador usado como medida de segurança no canal seguro entre 3DS SDK e ACS. | < 3 AN | NÃO |
whitelistingDataEntry | Indicador fornecido pelo SDK ao ACS para confirmar se a lista branca foi optada pelo portador.
| = 1 AN | NÃO |
messageExtension[] | Dados necessários para auxiliar em requisitos não definidos na mensagem 3DS são carregados numa extensão de mensagem. | ||
criticalityIndicator | Um valor booleano que indica se o destinatário deve entender os conteúdos da extensão para interpretar a mensagem inteira. | < 5 AN | NÃO |
data | Dados carregados na extensão. | Object | NÃO |
id | Identificador único da extensão. | < 64 AN | NÃO |
name | Nome da extensão. | < 64 AN | NÃO |
#
Recebimento do CResO CRes chegará em formato JSON codificado em Base64 na URL informada no serviço de autenticação (campo notification_url
).
#
Parâmetros do CResParâmetro | Descrição | Formato |
---|---|---|
threeDSServerTransID | ID de transação 3DS Server | = 36 AN |
acsCounterAtoS | Contador usado como medida de segurança no canal seguro entre ACS e 3DS SDK. | < 3 AN |
acsTransID | ID de transação no ACS | = 36 AN |
challengeCompletionInd | Indicador do estado do desafio.
| = 1 AN |
messageType | Valor fixo CRes . | = 4 AN |
messageVersion | Versão de mensagem 3DS: 2.1.0 ou 2.2.0 . | < 8 AN |
sdkTransID | ID de transação no 3DS SDK | = 36 AN |
transStatus | Status da transação segundo o protocolo 3DS 2.0.
| = 1 AN |
messageExtension[] | Dados necessários para auxiliar em requisitos não definidos na mensagem 3DS são carregados numa extensão de mensagem. | |
criticalityIndicator | Um valor booleano que indica se o destinatário deve entender os conteúdos da extensão para interpretar a mensagem inteira. | < 5 AN |
data | Dados carregados na extensão. | Object |
id | Identificador único da extensão. | < 64 AN |
name | Nome da extensão. | < 64 AN |