Página da loja virtual
A página do lojista deve conter o script do e-SiTef. Abaixo estão as URLs para download:
URL para ambiente de Produção:
https://esitef-ec.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âmetro | Descrição | Formato | Obrigatório |
---|---|---|---|
esitef-cardnumber | Número do cartão do comprador (PAN). | < 19 N | SIM |
esitef-cardexpirydate | Data de vencimento do cartão no formato MMAA . | = 4 N | SIM |
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 N | SIM |
Chamando o script do e-SiTef
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âmetro | Descrição | Formato | Obrigatório |
---|---|---|---|
nita | Número identificador criptografado da transação de armazenamento devolvido à loja pelo e-SiTef. | < 65 A | SIM |
storeToken | Campo store_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 e-SiTef. Os códigos de produção e certificação serão diferentes. | < 15 N | SIM |
locale | Linguagem das mensagens retornadas em erros de validação (callback "onInvalid"). Pode receber os seguintes valores:pt - Português en - Inglêses - EspanholCaso o locale não seja enviado, será utilizado pt . | = 2 A | NÃO |
authorizer_id | Código da autorizadora no e-SiTef. Saiba mais. | < 3 N | SIM |
onSuccess | Function de callback que será chamada após um armazenamento bem-sucedido no e-SiTef. Esta function recebe como argumento a resposta do armazenamento descrita em - Resposta dos callbacks de sucesso e fracasso. | F | SIM |
onFailure | Function de callback que será chamada após um armazenamento mal sucedido no e-SiTef. Esta function recebe como argumento a resposta do armazenamento 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 |
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âmetro | Descrição | Formato | |
---|---|---|---|
code | Código de resposta do e-SiTef. 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 e-SiTef. | < 500 AN | |
store | |||
status | Status da transação de armazenamento no e-SiTef. | = 3 AN | |
nita | Número identificador da transação de armazenamento no e-SiTef. | = 65 AN | |
merchant_usn | Nú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âmetro | Descrição | Formato |
---|---|---|
field | Nome do campo com erro. | < 30 AN |
cause | Mensagem de erro. | < 100 AN |
Exemplo:
Abaixo está um exemplo de uma página integrada com o armazenamento JavaScript do e-SiTef:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<script type="text/javascript" src="https://esitef-homologacao.softwareexpress.com.br/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>