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 MMeAA, respectivamente. Esses campos podem ser enviados no lugar deesitef-cardexpirydate. Caso sejam todos enviados ao mesmo tempo, a data separada (esitef-cardexpirymontheesitef-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_tokenrecebido 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êsen- 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>
