});

Autorização com Autenticação

Após a autenticação do emissor do cartão ser concluída, submete-se a transação ao processo de autorização, enviando os dados de autenticação no modelo de “autenticação externa” (nó ExternalAuthentication). Este procedimento é válido também para estabelecimentos que realizaram a autenticação fora da Cielo (MPI Externo).

Para maiores detalhes sobre o processo de autenticação 3DS 2.0, acesse o manual da solução.

Veja abaixo um exemplo de envio de dados de autenticação da requisição de autorização da API Pagador, utilizando o método POST:

Request

{  
   "MerchantOrderId":"2017051002",
   "Customer":
   {  
     (...)
   },
   "Payment":
   {  
     (...)
     "Provider":"Cielo30",
     "Authenticate":true,
     "ReturnUrl":"http://www.loja.com.br",
     "CreditCard":{  
         "CardNumber":"4000000000001000",
         "Holder":"Nome do Portador",
         "ExpirationDate":"12/2021",
         "SecurityCode":"123",
         "Brand":"Visa",
         "SaveCard":"false"
     },
     "ExternalAuthentication":{
       "Cavv":"AAABB2gHA1B5EFNjWQcDAAAAAAB=",
       "Xid":"Uk5ZanBHcWw2RjRCbEN5dGtiMTB=",
       "Eci":"5",
       "Version":"2",
       "ReferenceID":"a24a5d87-b1a1-4aef-a37b-2f30b91274e6"
     }
   }
}
--request POST "https://apisandbox.braspag.com.br/v2/sales"
--header "Content-Type: application/json"
--header "MerchantId: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
--header "MerchantKey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
--data-binary
--verbose
{  
   "MerchantOrderId":"2017051002",
   "Customer":
   {  
     (...)
   },
   "Payment":
   {  
     (...)
     "Provider":"Cielo30",
     "Authenticate":true,
     "ReturnUrl":"http://www.loja.com.br",
     "CreditCard":{  
         "CardNumber":"4000000000001000",
         "Holder":"Nome do Portador",
         "ExpirationDate":"12/2021",
         "SecurityCode":"123",
         "Brand":"Visa",
         "SaveCard":"false"
     },
     "ExternalAuthentication":{
       "Cavv":"AAABB2gHA1B5EFNjWQcDAAAAAAB=",
       "Xid":"Uk5ZanBHcWw2RjRCbEN5dGtiMTB=",
       "Eci":"5",
       "Version":"2",
       "ReferenceID":"a24a5d87-b1a1-4aef-a37b-2f30b91274e6"
     }
   }
}
Campo Descrição Tipo/Tamanho Obrigatório
Payment.Provider Nome do provedor do meio de pagamento: Cielo30, Getnet ou Rede. Texto / 15 Sim.
Payment.Authenticate Define se o comprador será direcionado ao emissor para autenticação do cartão. Booleano (“true” / “false”) Sim, caso a autenticação seja validada.
Payment.ExternalAuthentication.ReturnUrl URL de retorno aplicável somente se a versão for “1”. Alfanumérico / 1024 posições Sim.
Payment.ExternalAuthentication.Cavv Assinatura retornada nos cenários de sucesso na autenticação. Texto Sim, caso a autenticação seja validada.
Payment.ExternalAuthentication.Xid XID retornado no processo de autenticação. Texto Sim, quando a versão do 3DS for “1”.
Payment.ExternalAuthentication.Eci Electronic Commerce Indicator retornado no processo de autenticação. Numérico / 1 posição Sim.
Payment.ExternalAuthentication.Version Versão do 3DS utilizado no processo de autenticação. Alfanumérico / 1 posição Sim, quando a versão do 3DS for “2”.
Payment.ExternalAuthentication.ReferenceID RequestID retornado no processo de autenticação. GUID / 36 posições Sim, quando a versão do 3DS for “2”.

Response

Consulte o Manual do Pagador para exemplos detalhados de response de autorização com autenticação.

Autorização para Transações Data Only

Após ter sido realizada a etapa de autenticação no modelo Data Only (enviando-se o campo bpmpi_auth_notifyonly como “true”) submete-se a transação ao processo de autorização, enviando-se os dados de autenticação no modelo de “autenticação externa” (nó ExternalAuthentication).

Veja abaixo um exemplo de envio de dados de autenticação da requisição de autorização da API Pagador, utilizando o método POST:

Request

{  
   "MerchantOrderId":"2017051002",
   "Customer":
   {  
     (...)
   },
   "Payment":
   {  
     (...)
     "Authenticate":false,
     "ReturnUrl":"http://www.loja.com.br",
     "CreditCard":{  
         "CardNumber":"4000000000001000",
         "Holder":"Nome do Portador",
         "ExpirationDate":"12/2021",
         "SecurityCode":"123",
         "Brand":"Visa",
         "SaveCard":"false"
     },
     "ExternalAuthentication":{
       "Eci":"4",
       "ReferenceID":"a24a5d87-b1a1-4aef-a37b-2f30b91274e6",
       "dataonly":true
     }
   }
}
--request POST "https://apisandbox.cieloecommerce.cielo.com.br/1/sales"
--header "Content-Type: application/json"
--header "MerchantId: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
--header "MerchantKey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
--data-binary
--verbose
{  
   "MerchantOrderId":"2017051002",
   "Customer":
   {  
     (...)
   },
   "Payment":
   {  
     (...)
     "Authenticate":false,
     "ReturnUrl":"http://www.loja.com.br",
     "CreditCard":{  
         "CardNumber":"4000000000001000",
         "Holder":"Nome do Portador",
         "ExpirationDate":"12/2021",
         "SecurityCode":"123",
         "Brand":"Visa",
         "SaveCard":"false"
     },
     "ExternalAuthentication":{
       "Eci":"4",
       "ReferenceID":"a24a5d87-b1a1-4aef-a37b-2f30b91274e6",
       "dataonly":true
     }
   }
}
Campo Descrição Tipo/Tamanho Obrigatório
Payment.Authenticate Define se o comprador será direcionado ao emissor para autenticação do cartão. Booleano (“true” / “false”) Sim. No caso de transação Data Only, é obrigatório enviar como “false”.
Payment.ExternalAuthentication.Eci E-Commerce Indicator retornado no processo de autenticação. Numérico [1 posição] Sim.
Payment.ExternalAuthentication.ReferenceId RequestID retornado no processo de autenticação. GUID [36 posições] Sim.
Payment.ExternalAuthentication.DataOnly Define se é uma transação Data Only. Booleano (“true” / “false”) Sim. No caso de transação Data Only, é obrigatório enviar como “true”.

Response

Consulte o Manual do Pagador para exemplos detalhados de response de autorização com autenticação.

Tabela de ECI

O ECI (Electronic Commerce Indicator) é um código retornado pelas bandeiras e indica o resultado da autenticação 3DS do portador do cartão junto ao emissor ou bandeira. Confira na tabela a seguir os ECIs correspondentes à cada bandeira e o resultado da autenticação.

Posteriormente, o valor do ECI deverá ser enviado na requisição da transação no campo Payment.ExternalAuthentication.Eci

Mastercard Visa Elo Amex Resultado da autenticação A transação foi autenticada?
02 05 05 05 Autenticada pelo emissor – risco de chargeback passa a ser do emissor. Sim
01 06 06 06 Autenticada pela bandeira – risco de chargeback passa a ser do emissor. Sim
Diferente de 01, 02 e 04 Diferente de 05 e 06 Diferente de 05 e 06 Diferente de 05 e 06 Não autenticada – risco de chargeback permanece com o estabelecimento. Não
04 - - - Não autenticada, transação caracterizada como Data Only – risco de chargeback permanece com o estabelecimento. Não