Página da loja virtual

A página do lojista deve conter o script do Carat. Abaixo estão as URLs para download:

URL para ambiente de Produção:


https://esitef.softwareexpress.com.br/js/esitefstore-1.0.min.js

URL para ambiente de Homologação:


https://esitef-homologacao.softwareexpress.com.br/js/esitefstore-1.0.min.js

Campos com dados de cartão#

Os campos de cartão devem conter as classes especificadas abaixo:

ParâmetroDescriçãoFormatoObrigatório
esitef-cardnumberNúmero do cartão do comprador (PAN).< 19 NSIM
esitef-cardexpirydateData de vencimento do cartão no formato MMAA.= 4 NSIM
esitef-cardexpirymonth
& esitef-cardexpiryyear
Mês e ano de vencimento do cartão, nos formatos MM e AA, respectivamente. Esses campos podem ser enviados no lugar de esitef-cardexpirydate. Caso sejam todos enviados ao mesmo tempo, a data separada (esitef-cardexpirymonth e esitef-cardexpiryyear) terá prioridade.= 2 NSIM

Chamando o script do Carat#

Quando o comprador preencher os dados do cartão e realizar o submit, a página do lojista deve chamar a function Javascript esitefStore passando como argumento uma requisição com os seguintes campos:

ParâmetroDescriçãoFormatoObrigatório
nitaNúmero identificador criptografado da transação de armazenamento devolvido à loja pelo Carat.< 65 ASIM
storeTokenCampo store_token recebido na etapa de criação da transação. Este token só pode ser utilizado uma vez.= 66 ANSIM
merchantIdCódigo da loja no Carat. Os códigos de produção e certificação serão diferentes.< 15 NSIM
localeLinguagem das mensagens retornadas em erros de validação (callback "onInvalid"). Pode receber os seguintes valores:
pt - Português
en - Inglês
es - Espanhol
Caso o locale não seja enviado, será utilizado pt.
= 2 ANÃO
authorizer_idCódigo da autorizadora no Carat. Saiba mais.< 3 NSIM
onSuccessFunction de callback que será chamada após um armazenamento bem-sucedido no Carat. Esta function recebe como argumento a resposta do armazenamento descrita em - Resposta dos callbacks de sucesso e fracasso.FSIM
onFailureFunction de callback que será chamada após um armazenamento mal sucedido no Carat. Esta function recebe como argumento a resposta do armazenamento descrita em - Resposta dos callbacks de sucesso e fracasso.FSIM
onInvalidFunction 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.FSIM

Resposta dos callbacks de sucesso e fracasso#

As functions de callback onSuccess e onFailure recebem como argumento um objeto contendo informações referentes ao armazenamento. Abaixo estão as descrições desses campos:

ParâmetroDescriçãoFormato
codeCó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
messageMensagem de resposta do Carat.< 500 AN
store
statusStatus da transação de armazenamento no Carat.= 3 AN
nitaNúmero identificador da transação de armazenamento no Carat.= 65 AN
merchant_usnNúmero sequencial único enviado pela loja.< 12 N

Resposta do callback de erro de validação#

A function de callback onInvalid recebe como argumento uma lista de objetos de erro de validação, contendo os campos abaixo:

ParâmetroDescriçãoFormato
fieldNome do campo com erro.< 30 AN
causeMensagem de erro.< 100 AN

Exemplo:

Abaixo está um exemplo de uma página integrada com o armazenamento JavaScript do Carat:

Para usar este exemplo, não esquecer de definir a variável {{url}} com o valor
esitef-homologacao.softwareexpress.com.br

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<script
type="text/javascript"
src="https://{{url}}/js/esitefstore-1.0.min.js"
></script>
<script>
function myStore() {
var request = {
onSuccess: function (response) {
console.log(response.code);
console.log(response.message);
console.log(response.store.status);
console.log(response.store.nita);
console.log(response.store.merchant_usn);
},
onFailure: function (response) {
console.log(response.code);
console.log(response.message);
console.log(response.store.status);
console.log(response.store.nita);
console.log(response.store.merchant_usn);
},
onInvalid: function (errors) {
for (var i = 0; i < errors.length; i++) {
console.log(errors[i].field);
console.log(errors[i].cause);
}
},
nita:
"Zdn2482f8924jh8fh842390hfef2fij20fj40jf024jf9j240hf4hjf0h243f84jf",
storeToken:
"123456789012345678901234567890123456789012345678901234567890123456",
merchantId: "xxxxxxxx",
locale: "pt",
authorizerId: "2",
};
esitefStore(request);
}
</script>
</head>
<body>
<form method="POST">
<input type="text" class="esitef-cardnumber" />
<input type="text" class="esitef-cardexpirymonth" />
<input type="text" class="esitef-cardexpiryyear" />
<input type="button" onclick="myStore()" />
</form>
</body>
</html>