Definir a cinemática do pagamento com autenticação 3D Secure

A cinemática do pagamento com autenticação 3D Secure é a seguinte:

Figura 1. Cinemática do pagamento com autenticação 3D Secure
  1. O comprador valida seu pedido dele e digita os dados do cartão no site de e-commerce para realizar o pagamento.
  2. O site de e-commerce entra em contato com a plataforma de pagamento.

    Chama a operação createPayment. Valoriza o atributo mode do objeto threeDSRequest à ENABLED_CREATE.

  3. A plataforma de pagamento, com seu MPI, consulta o servidor directory VISA, Mastercard ou AMEX (SafeKey).
    • Se o cartão não for alistado, a plataforma de pagamento realiza a solicitação de autorização e retorna o resultado do pagamento para o site de e-commerce.
      • o atributo threeDSEnrolled do objeto authenticationRequestData de threeDSResponse tem o valor N.
    • Se o cartão for alistado:
      a plataforma de pagamento retorna ao Estabelecimento comercial as informações seguintes:
      • o atributo threeDSEnrolled do objeto authenticationRequestData de threeDSResponse tem o valor Y,
      • a URL do site internet do banco do portador (ACS) para qual o Estabelecimento comercial deverá redirecionar o comprador,
      • a mensagem PAReq codificada (threeDSEncodedPareq),
      • o código da solicitação (threeDSRequestId).
  4. O site de e-commerce salva no campo MD :
    • o código da sessão presente no cabeçalho HTTP da resposta (JSESSIONID
    • o código da solicitação (threeDSRequestId ) contido na resposta authenticationRequestData.
      MD é a abreviação de MerchantData. Trata-se de um campo criado para a solicitação.
  5. O site de e-commerce envia para o navegador do comprador uma solicitação HTTP POST com os campos:
    • PaReq
    • TermUrl
    • MD
  6. O comprador é redirecionado para o site do banco emissor (ACS) e autentica-se.
  7. No final da autenticação, o comprador é redirecionado para o site de e-commerce. Seu navegador realiza uma solicitação POST para o site de e-commerce que contem os campos MD e PaRes.
  8. O site de e-commerce recupera estes dois campos e os transmite para a plataforma de pagamento para verificar a autenticação e criar a transação.
    Para criar a transação, ele deve:
    • Chamar de novo a operação createPayment informando a operação mode do objeto threeDSRequest a ENABLED_FINALIZE,
    • informar o atributo requestId do objeto threeDSRequest,
    • informar o atributo pares do objeto threeDSRequest,
  9. O MPI da plataforma de pagamento verifica os dados presentes no PaRes :
    • o comprador não se autenticou, o pagamento é recusado.
    • o comprador autenticou-se, a plataforma de pagamento realiza a solicitação de autorização.
  10. A plataforma de pagamento retorna o resultado ao site de e-commerce (authenticationResultData).