Efetivar o Pagamento com autenticação
#
Function esitefDoPaymentDepois do cliente preencher todos os campos na tela da loja, ele deve clicar em um botão para finalizar o pagamento. No evento de onclick
deve ser chamada uma function javascript que preenche a request com nit, payToken, merchantId, authenticate, function de callback onSuccess, onProcessing, onFailure, onInvalid e posteriormente chamará a function esitefDoPayment, passando a request como parâmetro.
A function esitefDoPayment executa a autenticação 3DS, que pode exibir um desafio no qual pode ocorrer verificações de códigos de segurança, validação de tokens, aprovações no dispositivo móvel do comprador ou outros. Posteriormente a autenticação ocorre a autorização do pagamento na adquirente.
É importante deixar claro que de acordo com a parametrização passado na criação da transação (campo authenticate), o comportamento da autorização da transação pode mudar:
- Se a transação for passada com authenticate =
1
, então a transação só será autorizada se a autenticação for aprovada. - Se a transação for passada com authenticate =
2
, então a transação só será autorizada se a autenticação for aprovada, mas para bandeiras não suportadas pelo 3DS, não ocorrerá o passo da autenticação. - Se a transação for passada com authenticate =
3
, então a transação passará pelo fluxo de autenticação, mas se houver um resultado negado, o fluxo segue para a autorização.
#
Chamando o script do CaratQuando o comprador preencher os dados do cartão e clicar em pagar
, a página do lojista deve chamar a
function javascript esitefDoPayment
passando como argumento uma requisição com os seguintes campos:
Parâmetro | Descrição | Formato | Obrigatório |
---|---|---|---|
nit | Identificador de transação no Carat. Campo nit recebido na etapa de criação da transação. | = 64 AN | SIM |
payToken | Campo pay_token recebido na etapa de criação da transação. Este token só pode ser utilizado uma vez. | = 66 AN | SIM |
merchantId | Código da loja no Carat. Os códigos de produção e certificação serão diferentes. | < 15 N | SIM |
onSuccess | Function de callback que será chamada após um pagamento bem-sucedido no Carat. Esta function recebe como argumento a resposta do pagamento descrita em - Resposta dos callbacks de sucesso e fracasso. | F | SIM |
onProcessing | Function de callback que será chamada após um desafio solicitado pelo emissor no fluxo de autenticação 3DS ou confirmação tardia. | F | SIM |
onFailure | Function de callback que será chamada após um pagamento mal sucedido no Carat. Esta function recebe como argumento a resposta do pagamento descrita em - Resposta dos callbacks de sucesso e fracasso. | F | SIM |
onInvalid | Function de callback que será chamada após um erro de validação JavaScript. Esta function recebe como argumento a lista de erros descrita em - Resposta do callback de erro de validação. | F | SIM |
authenticate | Campo boleano para informar que o pagamento javascript é com autenticação 3DS, passar 'true' caso o pagamento seja com 3DS | = 4 AN | SIM |
challengeWindowSize | Campo que representa o tamanho para a apresentação do challenge: 01 - 250 x 400, 02 - 390 x 400, 03 - 500 x 600, caso não seja passado o javascript irá determinar um valor a ser utilizado | = 2 AN | NÃO |
#
Resposta dos callbacks de sucesso e fracassoAs functions de callback onSuccess
e onFailure
recebem como argumento um objeto contendo
informações referentes ao pagamento. Abaixo estão as descrições desses campos:
Parâmetro | Descrição | Formato |
---|---|---|
code | Código de resposta do Carat. Qualquer código diferente de 0 (zero) significa falha. Para maiores informações, consulte os Códigos de Resposta. | < 4 N |
message | Mensagem de resposta do Carat. | < 500 AN |
payment | ||
authorizer_code | Código de resposta do autorizador. | < 10 AN |
authorizer_message | Mensagem de resposta do autorizador. | < 500 AN |
status | Status da transação de pagamento no Carat. | = 3 AN |
nit | Número identificador da transação de pagamento no Carat. | = 64 AN |
order_id | Código de pedido enviado pela loja na criação da transação. | < 40 AN |
customer_receipt | Cupom (via cliente). | < 4000 AN |
authorizer_id | Código da autorizadora utilizada na transação. | < 4 N |
#
Resposta do callback de erro de validaçãoA function de callback onInvalid
recebe como argumento uma lista de objetos de erro de validação, contendo os campos abaixo:
Parâmetro | Descrição | Formato |
---|---|---|
field | Nome do campo com erro. | < 30 AN |
cause | Mensagem de erro. | <100 AN |
#
ExemploAbaixo está um exemplo de uma função javascript chamando o esitefDoPayment: