e-SiTef

e-SiTef

  • Portal do Desenvolvedor
  • Fale Conosco
  • English

e-SiTef

Pagamento REST

Visão Geral

O e-SiTef possui duas interfaces para integração com a loja virtual, POST/HTML e Web Services (REST ou SOAP), possibilitando a maneira adequada de interação da loja com o e-SiTef, conforme a linguagem e plataforma de execução da loja virtual.

Na interface REST, a coleta dos dados do cartão e do pagamento será realizada pela Loja Virtual e o e-SiTef apenas se encarregará de efetuar o pagamento com a instituição financeira.

Nessa interface estão disponíveis os pagamentos com cartão de crédito, débito ou voucher. Para pagamentos via banco como transferência bancária, boleto, utilize a interface POST/HTML.

Comunicação

Para realizar uma transação Web Service, toda a comunicação será realizada via HTTPS/SSL. É importante que o servidor do lojista suporte criptografia com no mínimo 128 bits. O servidor da loja deverá realizar chamadas em endereços específicos para transações REST.

Cada serviço deve ser chamado utilizando a URL base concatenada do recurso desejado (veja o capítulo referente ao serviço a ser consumido). O método HTTP (GET, POST ou PUT) indica a ação esperada sobre o recurso escolhido. Abaixo estão as URLs base do e-SiTef:

URL base de Produção:

https://esitef-ec.softwareexpress.com.br/e-sitef/api

URL base de Homologação:

https://esitef-homologacao.softwareexpress.com.br/e-sitef/api

Todas as chamadas realizadas para os serviços serão respondidas de forma síncrona.

Atenção:

Nunca utilize o IP ao invés do domínio esitef-ec.softwareexpress.com.br. O IP pode mudar a qualquer momento e sem aviso prévio, portanto é importante a utilização do domínio para acesso ao e-SiTef.

Importante:

Além dos parâmetros de retorno dos serviços descritos nesta especificação o e-SiTef poderá devolver outros parâmetros sem aviso prévio.

É importante que o aplicativo esteja preparado para receber os parâmetros desconhecidos além dos parâmetros já especificados e simplesmente desprezá-los.

Fluxo

O fluxo de pagamento será iniciado pelo aplicativo da loja virtual após o cliente finalizar a compra e preencher suas informações de pagamento.

Existem dois tipos de fluxo de pagamento: com confirmação automática, onde o e-SiTef se responsabiliza por confirmar o pagamento com as Redes Adquirentes e com confirmação tardia, onde a aplicação se responsabiliza por confirmar o pagamento, consumindo o serviço de confirmação.

A confirmação tardia geralmente é utilizada quando o aplicativo da loja virtual permite o pagamento com mais de um cartão ou se realiza alguma validação antes de efetuar o pagamento.

Pagamento com confirmação automática

Descrição do fluxo:

  1. O lojista cria uma transação no e-SiTef passando informações como código da loja, número de parcelas e código de pedido e obtém como resposta um NIT (Número Identificador de Transação).
  2. A loja virtual prossegue então consumindo o serviço de efetivação do pagamento, passando o NIT e os dados do cartão do comprador. Em caso de sucesso, a transação de pagamento mudará seu status para CON (confirmada).

Pagamento com confirmação tardia

Descrição do fluxo:

  1. Assim como no fluxo de pagamento com confirmação automática, o lojista cria uma transação no e-SiTef passando os dados do pagamento. Adicionalmente, ele deve enviar o parâmetro postpone_confirmation com valor true.
  2. A loja virtual prossegue então consumindo o serviço de efetivação do pagamento, passando o NIT e os dados do cartão do comprador. Em caso de sucesso, a transação de pagamento mudará seu status para PPC (pagamento pendente de confirmação).
  3. Concluindo, a loja virtual chama o serviço de confirmação do pagamento, passando o NIT novamente e o parâmetro confirm com valor true, resultando numa transação com status CON (confirmada). Também existe a possibilidade do lojista desfazer a transação em vez de confirmar. Para isso, o parâmetro confirm deve ser enviado com valor false, o que resultará numa transação com status PPN (desfeita).

Quick start

Este guia mostra o processo de efetivação de um pagamento à vista, utilizando a interface web service REST do e-SiTef.

O que você precisará

  • Cadastro ativo no ambiente de homologação do e-SiTef (obtido com nossa equipe de suporte)
  • Uma ferramenta capaz de realizar chamadas HTTP, como Postman, REST Client ou cURL

Criando a transação

Tipo de requisição: POST

URL: https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions

Headers:

  • Content-Type: application/json
  • merchant_id: {seu código de loja}
  • merchant_key: {chave da sua loja}

Requisição:

JSON
cURL
{
"merchant_usn":"12042142155",
"order_id":"12042142155",
"installments":"1",
"installment_type":"4",
"authorizer_id":"2",
"amount":"1"
}
curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"merchant_usn":"12042142155",
"order_id":"12042142155",
"installments":"1",
"installment_type":"4",
"authorizer_id":"2",
"amount":"1"
}
--verbose

Resposta:

{
    "code": "0",
    "message": "OK. Transaction successful.",
    "payment": {
        "status": "NOV",
        "nit": "<nit>",
        "order_id": "12042142155",
        "merchant_usn": "12042142155",
        "amount": "1"
    }
}

Saiba mais sobre esse serviço.

Efetuando o pagamento

Tipo de requisição: POST

URL: https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/<nit>

Preencha o campo <nit> na URL acima com o NIT obtido na resposta da fase anterior de criação da transação.

Headers:

  • Content-Type: application/json
  • merchant_id: {seu código de loja}
  • merchant_key: {chave da sua loja}

Requisição:

JSON
cURL
{
"card":{
"number":"5555555555555555",
"expiry_date":"1222",
"security_code":"601"
}
}
curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/<nit>"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"card":{
"number":"5555555555555555",
"expiry_date":"1222",
"security_code":"601"
}
}
--verbose

Resposta:

{
    "code": "0",
    "message": "OK. Transaction successful.",
    "payment": {
        "authorizer_code": "000",
        "authorizer_message": "Transacao OK",
        "status": "CON",
        "nit": "<nit>",
        "order_id": "12042142155",
        "customer_receipt": "====CUPOM COMPRADOR====",
        "merchant_receipt": "====CUPOM ESTABELECIMENTO====",
        "authorizer_id": "2",
        "acquirer_id": "1005",
        "acquirer_name": "Redecard",
        "authorizer_date": "13/04/2018T10:56",
        "authorization_number": "132324",
        "merchant_usn": "12042142155",
        "esitef_usn": "180413005038220",
        "sitef_usn": "132324",
        "host_usn": "999132324   ",
        "amount": "1",
        "payment_type": "C",
        "issuer": "2",
        "authorizer_merchant_id": "000000000000005",
        "payment_date": "13/04/2018T10:56"
    }
}

Saiba mais sobre esse serviço.

Verificando o estado do pagamento

Tipo de requisição: GET

URL: https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions/<nit>

Preencha o campo <nit> na URL acima com o NIT obtido na resposta da fase de criação da transação.

Headers:

  • Content-Type: application/json
  • merchant_id: {seu código de loja}
  • merchant_key: {chave da sua loja}

Requisição:

cURL
curl
--request GET "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions/<nit>"
--header "merchant_id: xxxxxxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--verbose

Resposta:

{
    "code": "0",
    "message": "OK. Transaction successful.",
    "payment": {
        "authorizer_code": "000",
        "authorizer_message": "Transacao OK",
        "status": "CON",
        "nit": "<nit>",
        "order_id": "12042142155",
        "customer_receipt": "====CUPOM COMPRADOR====",
        "merchant_receipt": "====CUPOM ESTABELECIMENTO====",
        "authorizer_id": "2",
        "acquirer_id": "1005",
        "acquirer_name": "Redecard",
        "authorizer_date": "13/04/2018T10:56",
        "authorization_number": "132324",
        "merchant_usn": "12042142155",
        "esitef_usn": "180413005038220",
        "sitef_usn": "132324",
        "host_usn": "999132324   ",
        "amount": "1",
        "payment_type": "C",
        "issuer": "2",
        "authorizer_merchant_id": "000000000000005",
        "payment_date": "13/04/2018T10:56"
    }
}

Saiba mais sobre esse serviço.

Serviço de criação da transação

O consumo do serviço de criação de transação é obrigatório nos fluxos de pagamento e agendamento. Como resultado dessa operação, o lojista obterá um NIT (pagamento) e/ou um SID (agendamento) que serão necessários para os próximos passos do fluxo, assim como a utilização do serviço de consulta de transações.

O NIT e o SID possuem um tempo limite para sua utilização. Este prazo está configurado no e-SiTef, e caso seja excedido, a transação passará do status NOV (nova) para EXP (expirada), que impede futuras operações com essa transação, tornando necessário consumir novamente o serviço de criação de transação.

Detalhes da chamada

  • Recurso: /v1/transactions
  • Método HTTP: POST
  • Formato da requisição: JSON
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.< 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM
Content-TypeDeve ser enviado com o valor application/json.= 15 ANSIM

Exemplos

Abaixo estão alguns exemplos de chamada do serviço de criação de transações utilizando a ferramenta cURL.

Criação de pagamento com confirmação automática

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "merchant_usn":"12042142155",
   "order_id":"12042142155",
   "installments":"1",
   "installment_type":"4",
   "authorizer_id":"2",
   "amount":"1000"
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "payment":{
      "status":"NOV",
      "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
      "order_id":"12042142155",
      "merchant_usn":"12042142155",
      "amount":"1000"
   }
}

Criação de pagamento com confirmação tardia

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "merchant_usn":"12050620649",
   "order_id":"12050620649",
   "installments":"1",
   "installment_type":"4",
   "authorizer_id":"2",
   "amount":"1000",
   "additional_data":{
      "postpone_confirmation":"true"
   }
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "payment":{
      "status":"NOV",
      "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
      "order_id":"12050620649",
      "merchant_usn":"12050620649",
      "amount":"1000"
   }
}

Criação de pagamento com agendamento

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "merchant_usn":"12053724147",
   "order_id":"12053724147",
   "installments":"1",
   "installment_type":"4",
   "authorizer_id":"2",
   "amount":"1000",
   "schedule":{
      "amount":"900",
      "initial_date":"03/08/2017",
      "number_of_times":"3",
      "interval":"1",
      "soft_descriptor":"Assinatura",
      "show_times_invoice":"false"
   },
   "additional_data":{
      "payer":{
         "store_identification":"98253053045"
      }
   }
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "payment":{
      "status":"NOV",
      "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
      "order_id":"12053724147",
      "merchant_usn":"12053724147",
      "amount":"1000"
   },
   "schedule":{
      "status":"NOV",
      "sid":"qwertyuiopasdfghjklzxcvbnm0123456789qwertyuiopasdfghjklzxcvbnm01",
      "amount":"900",
      "order_id":"12053724147",
      "merchant_usn":"12053724147"
   }
}

Criação de agendamento sem pagamento

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxxxxxx"
--data-binary
{
   "merchant_usn":"12055523043",
   "order_id":"12055523043",
   "authorizer_id":"2",
   "schedule":{
      "amount":"900",
      "do_payment_now":"false",
      "initial_date":"03/08/2017",
      "number_of_times":"3",
      "interval":"1",
      "soft_descriptor":"Assinatura",
      "show_times_invoice":"false"
   },
   "additional_data":{
      "payer":{
         "store_identification":"98253053045"
      }
   }
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "schedule":{
      "status":"NOV",
      "sid":"qwertyuiopasdfghjklzxcvbnm0123456789qwertyuiopasdfghjklzxcvbnm01",
      "amount":"900",
      "order_id":"12055523043",
      "merchant_usn":"12055523043"
   }
}

Criação de pagamento com análise de risco Cielo e-Commerce

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "merchant_usn":"12042142155",
   "order_id":"12042142155",
   "installments":"1",
   "installment_type":"4",
   "authorizer_id":"2",
   "amount":"1000",
   "additional_data":{
      "payer":{
         "name":"Comprador",
         "surname":"credito AF",
         "email":"compradorteste@live.com",
         "city":"Rio de Janeiro",
         "state":"RJ",
         "address_street_name":"Rua Jupiter",
         "address_street_number":"174",
         "address_zip_code":"21241140",
         "born_date":"1991-01-02T08:30:00",
         "address_street_complement":"AP 201",
         "address_country":"BRA"
      },
      "shipment":{
         "method":"LOW_COST",
         "name":"Sr Comprador Teste",
         "phones":[
            {
               "number":"21114740",
               "ddd":"16",
               "ddi":"55"
            }
         ],
         "receiver_address":{
            "complement":"AP 201",
            "city":"Rio de Janeiro",
            "state":"RJ",
            "country":"BRA",
            "zip_code":"21241140",
            "street_number":"174",
            "street_name":"Rua Jupiter"
         }
      },
      "connections":[
         {
            "from":"RAO",
            "to":"SAO",
            "flight_date":"2020-01-02T20:15:00"
         }
      ],
      "gift":"false",
      "browser":{
         "email":"compradorteste@live.com",
         "agent":"Chrome",
         "cookies_accepted":"false",
         "host_name":"Teste",
         "ip_address":"200.190.150.350"
      },
      "items":[
         {
            "title":"ItemTeste",
            "quantity":"1",
            "id":"1487337308522",
            "risk":"HIGH",
            "hedge":{
               "time":"NORMAL",
               "host":"OFF",
               "nonSensical":"OFF",
               "obscenities":"OFF",
               "phone":"OFF",
               "velocity":"HIGH"
            },
            "passenger":{
               "name":"Comprador accept",
               "email":"compradorteste@live.com",
               "rating":"ADULT",
               "phone":{
                  "number":"999994444",
                  "ddd":"11",
                  "ddi":"55"
               },
               "legal_document":"1234567890",
               "customer_class":"Gold"
            },
            "unit_price":"1000",
            "category_id":"other",
            "gift_category":"OFF"
         }
      ],
      "extra_param":{
         "acquirer_params":[
            {
               "key":"95",
               "value":"Eu defini isso"
            }
         ]
      },
      "anti_fraud":"enabled_before_auth",
      "anti_fraud_institution":"AUTHORIZER",
      "anti_fraud_criteria":"ALWAYS",
      "finger_print_id":"074c1ee676ed4998ab66491013c565e2",
      "returns_accepted":"true",
      "journey_type":"OUTWARD"
   }
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "payment":{
      "status":"NOV",
      "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
      "order_id":"12042142155",
      "merchant_usn":"12042142155",
      "amount":"1000"
   }
}

Criação de pagamento com análise de risco (utlizando o anti fraude Konduto)

Para mais informações verifique nossa seção específica da Konduto

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "merchant_usn":"2423423434",
   "order_id":"2432342343",
   "installments":"1",
   "installment_type":"4",
   "authorizer_id":"2",
   "amount":"1300",
   "additional_data":{
      "anti_fraud":"enabled_before_auth",
      "visitor_id":"XKhas09jcks",
      "items":[
         {
            "title":"title1",
            "quantity":"1",
            "unit_price":"1111",
            "description":"description1",
            "id":"id1",
            "discount_amount":"111",
            "sku":"sku1",
            "creation_date":"11/01/2011"
         }
      ],
      "payer":{
         "name":"Marcos",
         "surname":"da Silva",
         "email":"marocs@dasilva.com",
         "born_date":"1990-01-01T11:11:11",
         "creation_date":"02/03/2004",
         "is_new_client":"true",
         "is_vip_client":"true",
         "phones":[
            {
               "number":"333333333",
               "ddd":"22",
               "ddi":"11"
            },
            {
               "number":"666666666",
               "ddd":"55",
               "ddi":"44"
            }
         ],
         "identification_number":"47764543004"
      },
      "shipment":{
         "name":"Fernando",
         "surname":"Bezerra",
         "address":{
            "zip_code":"98764312",
            "street_number":"987",
            "street_name":"Rua Shipment",
            "complement":"ap. 587",
            "city":"São Shipment",
            "state":"MA",
            "country":"BRA"
         }
      },
      "passengers":[
         {
            "name":"Miguel",
            "last_name":"Herrera",
            "frequent_flyer_card":"frequentFlyerCard",
            "legal_document_type":"1",
            "legal_document":"12312312312",
            "birth_date":"1980-07-28T10:40:00",
            "customer_class":"customerClass",
            "nationality":"BRA",
            "is_frequent_traveler":"true",
            "is_with_special_needs":"true"
         }
      ],
      "connections":[
         {
            "company":"Verde",
            "class":"first",
            "from":"GRU",
            "to":"CGH",
            "departure_date":"2023-09-07T07:09:00",
            "journey_type":"OUTWARD",
            "origin_city":"San Juan",
            "destination_city":"Homero Lopez",
            "class_code":"VIP"
         },
         {
            "company":"Rosa",
            "class":"economy",
            "from":"BSB",
            "to":"VCP",
            "departure_date":"2022-10-21T16:39:00",
            "journey_type":"RETURN",
            "origin_city":"San Pablo",
            "destination_city":"Juanito Cruz",
            "class_code":"ECONOMY"
         }
      ],
      "hotel_reservations":[
         {
            "hotel":"Hotel Green Tree",
            "address":{
               "zip_code":"83392019",
               "street_number":"529",
               "street_name":"Rua Hoteleira",
               "complement":"ap. 019",
               "city":"San Hotel",
               "state":"AC",
               "country":"EN"
            },
            "rooms":[
               {
                  "number":"902",
                  "code":"ROOM902",
                  "type":"King Size",
                  "check_in_date":"2020-01-09T12:30:00",
                  "check_out_date":"2020-01-19T13:00:00",
                  "number_of_guests":"1",
                  "board_basis":"Vegan",
                  "guests":[
                     {
                        "name":"José Aníbal",
                        "document":"98798798712",
                        "document_type":"cpf",
                        "birth_date":"12/03/1970",
                        "nationality":"BRA"
                     }
                  ]
               }
            ],
            "category":"categoryhotel"
         }
      ],
      "billing_data":{
         "address":{
            "zip_code":"12341234",
            "street_number":"666",
            "street_name":"Rua Billing",
            "complement":"ap. 2369",
            "city":"São Billing",
            "state":"AM",
            "country":"BRA"
         }
      },
      "travel":{
         "transport_type":"flight",
         "expiration_date":"2022-02-14T01:30:00"
      },
      "discount_info":"Informações de desconto",
      "events":[
         {
            "name":"Evento de Rock",
            "date":"2021-11-22T09:28:00",
            "type":"show",
            "subtype":"music",
            "venue":{
               "name":"Debicard Hall",
               "street_name":"Rua do Evento",
               "street_number":"928",
               "city":"Jardinópolis",
               "state":"MS",
               "country":"DO",
               "capacity":"300"
            },
            "tickets":[
               {
                  "id":"12h374612h4h",
                  "category":"social",
                  "section":"Seção 1",
                  "premium":"true",
                  "attendee":{
                     "name":"Daniel Almeida",
                     "document":"71728293945",
                     "document_type":"other",
                     "birth_date":"03/10/1990"
                  }
               }
            ]
         }
      ]
   }
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "payment":{
      "status":"NOV",
      "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
      "order_id":"12042142155",
      "merchant_usn":"2432342343",
      "amount":"1300"
   }
}

Parâmetros de requisição

Na tabela abaixo está a descrição dos parâmetros de requisição do serviço de criação de transações:

ParâmetroDescriçãoFormatoObrigatório
merchant_usnNúmero sequencial único para cada pedido, criado pela loja. O NSU será utilizado em toda a comunicação com a loja, de forma a identificar o pedido. Como se trata de uma possível chave para acesso do lado da loja, apesar de ser opcional para o e-SiTef, é fortemente recomendado que o campo seja formatado e enviado pela aplicação da loja.< 12 NNÃO
order_idCódigo do pedido para ser exibido ao comprador, definido pelo lojista. É aconselhável que seja diferente a cada pedido para que facilite a rastreabilidade.
Se a integração da Loja com as redes adquirentes (Cielo, Redecard, etc) for com e-SiTef e SiTef, o campo orderId que tem o tamanho máximo de 40 caracteres, será reduzido a 12 caracteres, devido a uma restrição do SiTef. Essa redução será realizada mantendo os caracteres da esquerda para direita (ex.: se um código de pedido inserido for 12345678901234567890 no e-SiTef, no SiTef ele será apenas 123456789012).
< 40 ANNÃO
installmentsNúmero de parcelas. Envie ‘1’ para transações à vista.< 2 NSIM
installment_typeTipo de financiamento do parcelamento:
valor 3 = parcelamento com juros da administradora do cartão.
valor 4 = parcelamento realizado pela loja e sem juros (adotar este valor como padrão/default para transações à vista).
Valor 6 = parcelamento com juros da administradora (IATA).
valor 7 = parcelamento realizado pela loja e sem juros (IATA).
O parcelamento IATA é utilizado somente por empresas do seguimento de transporte aéreo.
< 2 NSIM
authorizer_idCódigo da autorizadora no e-SiTef. Saiba mais.< 3 NNÃO
amountValor total da compra (em centavos). Exemplo: 1,00 = 100 ou 1.100,00 = 110000 – enviar o valor sem a vírgula e ponto.< 12 NSIM
soft_descriptorTexto adicional que será apresentado junto ao nome do estabelecimento na fatura do cartão de crédito do comprador. Saiba mais< 30 ANNÃO
authorizer_authenticationEste campo deve ser enviado com valor true caso se deseje um pagamento com autenticação. Essa funcionalidade só está disponível para Cielo e-Commerce e e.Rede REST.< 5 T/FNÃO
encrypted_cardEste campo deve ser enviado com valor true caso o número do cartão a ser enviado na próxima etapa do fluxo use a criptografia do SiTef.
A opção de envio do cartão criptografado só será possível com roteamento via SiTef e é necessário a configuração prévia do SiTef em questão
< 5 T/FNÃO
iata Este elemento contém campos específicos de transações IATA.
departure_taxTaxa de embarque em centavos.< 12 NSIM apenas para installment_type = 6 ou 7
first_installmentEntrada em transações IATA em centavos. Funcionalidade disponível apenas para o adquirente Rede.< 12 NNÃO
schedule O envio do elemento schedule implica no uso da funcionalidade de agendamento de recorrência. Nenhum de seus campos é obrigatório caso se deseje apenas fazer um pagamento simples.
amountValor em centavos dos pagamentos recorrentes. Caso esse campo não seja enviado, será utilizado o valor do pagamento.< 12 NSIM
initial_dateData de execução do primeiro pagamento agendado. Essa data deve ter pelo menos dois dias à frente do dia atual e dias 29, 30 e 31 nunca são permitidos.
O formato da data a ser seguido é: DD/MM/AAAA
Exemplo: 20/04/2021
= 10 DSIM
number_of_timesNúmero de pagamentos agendados a serem executados. Caso esse campo não seja enviado, agendamento ficará ativo infinitamente.< 3 NNÃO
intervalIntervalo em meses entre cada pagamento agendado. Caso esse campo não seja enviado, assume-se o valor 1 (execuções mensais).< 2 NNÃO
do_payment_nowEnviar esse campo com valor false caso se deseje realizar um agendamento sem pagamento imediato.
No caso deste campo ser ausente ou para qualquer valor diferente de false, será criado um agendamento COM pagamento imediato.
< 5 T/FNÃO
installmentsNúmero de parcelas de cada pagamento agendado. Caso esse campo não seja enviado, assume-se o valor 1.<2 NNÃO
installment_typeTipo de financiamento do parcelamento de cada pagamento agendado:
Valor 3 = parcelamento com juros da administradora do cartão.
Valor 4 = parcelamento realizado pela loja e sem juros. (Adotar este valor como padrão/default para transações à vista).
Caso esse campo não seja enviado, assume-se o valor 4.
< 2 NNÃO
soft_descriptorTexto adicional que será apresentado junto ao nome do estabelecimento na fatura do cartão de crédito do comprador. Saiba mais< 30 ANNÃO
show_times_invoicePara agendamentos por tempo finito, enviar esse campo com valor true caso se deseje acrescentar ao final do campo soft_descriptor o número de execuções/total de execuções (exemplo: Assinatura 3/12).< 5 T/FNÃO
additional_data Elemento para envio de dados adicionais.
postpone_confirmationEsse campo deve ser enviado com valor true caso se deseje um pagamento com confirmação tardia.< 5 T/FNÃO
financing_planCódigo de plano de financiamento. Necessário apenas para pagamentos parcelados com juros roteados pela Via Certa Financiadora via SiTef.< 4 NCOND.
additional_data.payer Elemento para envio de dados referentes ao comprador.
identification_numberDocumento de identificação do comprador (CPF/RG).< 20 ANNÃO
store_identificationIdentificação do comprador para armazenamento de cartão. Esta identificação deve ser única para cada usuário da loja. Mas atenção, essa garantia de unicidade é de total responsabilidade da loja, o e-SiTef não realizará nenhuma validação.< 20 ANSIM para agendamento
additional_data.merchant Elemento para envio de dados referentes ao lojista.
emailEndereço de e-mail do lojista.< 1024 ANNÃO
additional_data. extra_param.prefixes Elemento para envio de prefixos do SiTef, como CICLOS, CPLANO e VLRADD. Caso o prefixo enviado não seja suportado pelo cartão enviado, o e-SiTef invalidará a transação, impedindo que se dê uma falsa impressão do uso de uma determinada funcionalidade.

Exemplo:
{ "key" : "value" } -> { "CICLOS" : "01" }
keyNome do prefixo.< 1024 ANNÃO
valueValor do prefixo.< 1024 ANNÃO

Na tabela abaixo está a descrição dos parâmetros adicionais que devem ser enviados num pagamento com análise de fraude (por enquanto disponível apenas para Cielo e-Commerce):

ParâmetroDescriçãoFormatoObrigatório
additional_data
anti_fraud_institutionInstituição que efetuará a análise de fraude para a loja. Deve ser enviado com o valor ‘AUTHORIZER’.= 10 ANSIM para análise de fraude
anti_fraudHabilita o serviço de análise de fraude. Valores permitidos:
enabled_before_auth – a análise de fraude será realizada ANTES da autorização do pagamento. Caso a análise seja rejeitada, o pagamento não será iniciado.
enabled_after_auth – a análise de fraude será realizada APÓS a autorização do pagamento. Caso a análise seja rejeitada, o pagamento que já foi autorizado será cancelado.
< 19 ANSIM para análise de fraude
anti_fraud_criteriaCritério de execução da análise de fraude. Valores permitidos:
ON_SUCCESS – só realiza a análise se tiver sucesso na transação.
ALWAYS – sempre realiza a análise.
< 10 ANNÃO
finger_print_idIdentificador utilizado para cruzar informações obtidas pelo Browser do internauta com os dados enviados para análise. Maiores detalhes em http://apidocs.braspag.com.br/#CriandoumavendacomAnalisedeFraude.< 50 ANNÃO
giftIndica se o pedido é para presente ou não.< 5 T/FNÃO
returns_acceptedDefine se devoluções são aceitas para o pedido.< 5 T/FNÃO
journey_typeTipo de viagem. Valores permitidos:
ROUND_TRIP – ida e volta.
OUTWARD – ida.
RETURN – volta.
< 10 ANNÃO
additional_data.payer
nameNome do comprador.
Obs.: a concatenação de nome com o sobrenome não pode ultrapassar 255 caracteres.
< 200 ANNÃO
surnameSobrenome do comprador.
Obs.: a concatenação do nome com o sobrenome não pode ultrapassar 255 caracteres.
< 200 ANNÃO
emailE-mail do comprador.< 255 ANNÃO
born_dateData de nascimento do comprador, no formato YYYY-MM-DDTHH:MM:SS. Ex.: 1991-01-02T08:30:00.= 19 ANNÃO
adress_street_nameEndereço do comprador.< 255 ANNÃO
adress_street_numberNúmero do endereço do comprador.< 15 ANNÃO
adress_street_complementComplemento do endereço do comprador.< 50 ANNÃO
adress_zip_codeCEP do endereço do comprador. Ex.: 21241140.< 9 ANNÃO
cityCidade do endereço do comprador.< 50 ANNÃO
stateEstado do endereço do comprador. Ex.: SP.= 2 ANNÃO
address_countryPaís do endereço do comprador. Ex.: BRA.< 35 ANNÃO
additional_data.shipment.receiver_address
street_nameEndereço de entrega.< 255 ANNÃO
street_numberNúmero do endereço de entrega.< 15 ANNÃO
complementComplemento do endereço de entrega.< 50 ANNÃO
zip_codeCEP do endereço de entrega. Ex.: 21241-140.< 9 ANNÃO
cityCidade do endereço de entrega.< 50 ANNÃO
stateEstado do endereço de entrega.= 2 ANNÃO
countryPaís do endereço de entrega seguindo a AN 3166-1. Ex.: BRA= 3 ANNÃO
additional_data.browser
cookies_acceptedIdentifica se o browser do cliente aceita cookies. Enviar true caso positivo.< 5 T/FNÃO
emailE-mail registrado no browser do comprador.< 100 ANNÃO
host_nameNome do host onde o comprador estava antes de entrar no site da loja.< 60 ANNÃO
ip_addressEndereço IP do comprador. É altamente recomendável o envio deste campo.< 15 ANNÃO
agentNome do browser utilizado pelo comprador. Ex.: Chrome.< 40 ANNÃO
additional_data.items[]
gift_categoryCampo que avaliará os endereços de cobrança e entrega para diferentes cidades, estados ou países. Pode assumir os seguintes valores:
OFF – Ignora a análise de risco para endereços divergentes.
YES – Em caso de divergência entre endereços de cobrança e entrega, marca com risco pequeno.
NO – Em caso de divergência entre endereços de cobrança e entrega, marca com risco alto.
< 3 ANNÃO
riskNível do risco do produto. Pode assumir os seguintes valores:
LOW – O produto tem um histórico de poucos chargebacks.
NORMAL – O produto tem um histórico de chargebacks considerado normal.
HIGH – O produto tem um histórico de chargebacks acima da média.
< 6 ANNÃO
titleNome do produto.< 255 ANNÃO
quantityQuantidade do produto a ser adquirido.< 15 NNÃO
idCódigo comerciante identificador do produto.< 255 ANNÃO
unit_pricePreço unitário do produto em centavos.< 15 NNÃO
category_idTipo do produto. Pode assumir os seguintes valores: art, baby, coupon, donation, computing, camera, video_game, television, car_electronic, electronic, automotive, entertainment, fashion, game, home, musical, phone, service, learning, ticket, travel, virtual_good, physical, other, adult_content, gift_certificate, handling, shipping, shipping_and_handling ou subscription.< 21 ANNÃO
additional_data.items[].hedge
timeNível de importância da hora do dia do pedido do cliente. Pode assumir os seguintes valores:
LOW – Baixa importância no horário do dia em que foi feita a compra, para a análise de risco.
NORMAL – Média importância no horário do dia em que foi feita a compra, para a análise de risco.
HIGH – Alta importância no horário do dia em que foi feita a compra, para a análise de risco.
OFF – O horário da compra não afeta a análise de risco.
< 6 ANNÃO
hostNível de importância do e-mail e endereços IP dos clientes em risco de pontuação. Pode assumir os seguintes valores:
LOW – Baixa importância do e-mail e endereço IP na análise de risco.
NORMAL – Média importância do e-mail e endereço IP na análise de risco.
HIGH – Alta importância do e-mail e endereço IP na análise de risco.
OFF – E-mail e endereço IP não afetam a análise de risco.
< 6 ANNÃO
non_sensicalNível dos testes realizados sobre os dados do comprador com pedidos recebidos sem sentido. Pode assumir os seguintes valores:
LOW – Baixa importância da verificação feita sobre o pedido do comprador, na análise de risco.
NORMAL – Média importância da verificação feita sobre o pedido do comprador, na análise de risco.
HIGH – Alta importância da verificação feita sobre o pedido do comprador, na análise de risco.
OFF – Verificação do pedido do comprador não afeta a análise de risco.
< 6 ANNÃO
obscenitiesNível de obscenidade dos pedidos recebidos. Pode assumir os seguintes valores:
LOW – Baixa importância da verificação sobre obscenidades do pedido do comprador, na análise de risco.
NORMAL – Média importância da verificação sobre obscenidades do pedido do comprador, na análise de risco.
HIGH – Alta importância da verificação sobre obscenidades do pedido do comprador, na análise de risco.
OFF – Verificação de obscenidade no pedido do comprador não afeta a análise de risco.
< 6 ANNÃO
phoneNível dos testes realizados com os números de telefones. Pode assumir os seguintes valores:
LOW – Baixa importância nos testes realizados com números de telefone.
NORMAL – Média importância nos testes realizados com números de telefone.
HIGH – Alta importância nos testes realizados com números de telefone.
OFF – Testes de números de telefone não afetam a análise de risco.
< 6 ANNÃO
velocityNível de importância de frequência de compra do cliente. Pode assumir os seguintes valores:
LOW – Baixa importância no número de compras realizadas pelo cliente nos últimos 15 minutos.
NORMAL – Média importância no número de compras realizadas pelo cliente nos últimos 15 minutos.
HIGH – Alta importância no número de compras realizadas pelo cliente nos últimos 15 minutos.
OFF – A frequência de compras realizadas pelo cliente não afeta a análise de fraude.
< 6 ANNÃO
additional_data.items[].passenger
emailE-mail do passageiro.< 255 ANNÃO
legal_documentId do passageiro a quem o bilhete foi emitido.< 32 ANNÃO
nameNome do passageiro.< 120 ANNÃO
ratingClassificação do passageiro. Pode assumir os seguintes valores:
ADULT – Passageiro adulto.
CHILD – Passageiro criança.
INFANT – Passageiro infantil.
YOUTH – Passageiro adolescente.
STUDENT – Passageiro estudante.
SENIOR_CITIZEN – Passageiro idoso.
MILITARY – Passageiro militar.
< 14 ANNÃO
customer_classClassificação da empresa aérea. Pode-se usar valores como Gold ou Platina.< 32 ANNÃO
additional_data.items[].passenger.phone
ddiCódigo do país do telefone do passageiro. Para pedidos fora dos E.U.A., é recomendável o envio deste campo.< 3 NNÃO
dddCódigo da área do telefone do passageiro.< 3 NNÃO
numberNúmero de telefone do passageiro.< 9 NNÃO
additional_data.extra_param.acquirer_params[]
keyId das informações adicionais a serem enviadas. Maiores detalhes sobre o envio desse campo em https://developercielo.github.io/Webservice-3.0/#merchant-defined-data.< 1024 NNÃO
valueValor das informações adicionais a serem enviadas.< 1024 ANNÃO
additional_data.shipment
nameNome do destinatário da entrega.< 255 ANNÃO
methodTipo de serviço de entrega do produto. Pode assumir os seguintes valores:
SAME_DAY – Serviço de entrega no mesmo dia.
ONE_DAY – Serviço de entrega noturna ou no dia seguinte.
TWO_DAY – Serviço de entrega em dois dias.
THREE_DAY – Serviço de entrega em três dias.
LOW_COST – Serviço de entrega de baixo custo.
PICKUP – Produto retirado na loja.
OTHER – Outro método de entrega.
NONE – Sem serviço de entrega, pois é um serviço ou assinatura.
< 9 ANNÃO
additional_data.shipment.phones[]
ddiCódigo do país do telefone do destinatário da entrega. Para pedidos fora dos E.U.A., é recomendável o envio deste campo.< 3 NNÃO
dddCódigo da área do telefone do destinatário da entrega.< 3 NNÃO
numberNúmero de telefone do destinatário da entrega.< 9 NNÃO
additional_data.connections[]
flight_dateData, hora e minuto de partida do voo no formato YYYY-MM-DDTHH:MM:SS. Ex.: 1991-01-02T08:30:00.= 19 ANNÃO
fromCódigo do aeroporto do ponto de origem da viagem. Ex.: CGH.= 3 ANNÃO
toCódigo do aeroporto do ponto de destino da viagem. Ex.: GYN.= 3 ANNÃO

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 201. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de criação de transações:

ParâmetroDescriçãoFormato
codeCódigo de resposta do e-SiTef. Qualquer código diferente de 0 significa falha. Saiba mais.< 4 N
messageMensagem de resposta do e-SiTef.< 500 AN
payment
statusStatus da transação de pagamento no e-SiTef. Saiba mais.= 3 AN
nitIdentificador da transação de pagamento no e-SiTef.= 64 AN
order_idCódigo de pedido enviado pela loja na criação da transação.< 40 AN
merchant_usnNúmero sequencial único enviado pela loja na criação da transação.< 12 N
amountValor da compra especificado pela loja (em centavos) na criação da transação.< 12 N
schedule
sidIdentificador da transação de agendamento no e-SiTef.= 64 AN
amountValor dos pagamentos agendados especificado pela loja (em centavos) na criação da transação.< 12 N
statusStatus do agendamento no e-SiTef. Saiba mais.= 3 AN
order_idCódigo de pedido enviado pela loja na criação da transação.< 40 AN
merchant_usnNúmero sequencial único enviado pela loja na criação da transação.< 12 N

Serviço de efetivação de pagamento

Após consumir o serviço de criação de transação e obter um NIT, é possível prosseguir para a próxima etapa do fluxo: a chamada ao serviço de efetivação de pagamento. Esta operação deve ser consumida também em fluxos de pagamento com agendamento. Nesse caso, o e-SiTef garante que o agendamento só será ativado caso o pagamento seja confirmado.

Detalhes da chamada

  • Recurso: /v1/payments/{nit}
  • Método HTTP: POST
  • Formato da requisição: JSON
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.< 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM
Content-TypeDeve ser enviado com o valor application/json.= 15 ANSIM

Exemplos

Abaixo estão alguns exemplos de chamada do serviço de efetivação de pagamento utilizando a ferramenta cURL.

Pagamento com captura automática

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "card":{
      "number":"5555555555555555",
      "expiry_date":"1222",
      "security_code":"123"
   }
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "payment":{
      "authorizer_code":"000",
      "authorizer_message":"Transacao OK",
      "status":"CON",
      "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
      "order_id":"13034649671",
      "customer_receipt":"====CUPOM COMPRADOR====",
      "merchant_receipt":"====CUPOM ESTABELECIMENTO====",
      "authorizer_id":"2",
      "acquirer_id":"1005",
      "acquirer_name":"Redecard",
      "authorizer_date":"13/07/2017T15:52",
      "authorization_number":"132030",
      "merchant_usn":"13034649671",
      "esitef_usn":"170713097340300",
      "sitef_usn":"132030",
      "host_usn":"999132030",
      "payment_date":"13/07/2017T15:52",
      "amount":"1000",
      "payment_type":"C",
      "issuer":"2",
      "authorizer_merchant_id":"000000000000005"
   }
}

Pagamento com confirmação tardia

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "card":{
      "number":"5555555555555555",
      "expiry_date":"1222",
      "security_code":"123"
   }
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "payment":{
      "authorizer_code":"000",
      "authorizer_message":"Transacao OK",
      "status":"PPC",
      "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
      "order_id":"13035748930",
      "customer_receipt":"==== CUPOM COMPRADOR ====",
      "merchant_receipt":"==== CUPOM ESTABELECIMENTO ====",
      "authorizer_id":"2",
      "acquirer_id":"1005",
      "acquirer_name":"Redecard",
      "authorizer_date":"13/07/2017T15:58",
      "authorization_number":"132031",
      "merchant_usn":"13035748930",
      "esitef_usn":"170713097340340",
      "sitef_usn":"132031",
      "host_usn":"999132031   ",
      "payment_date":"13/07/2017T15:58",
      "amount":"1000",
      "payment_type":"C",
      "issuer":"2",
      "authorizer_merchant_id":"000000000000005"
   }
}

Pagamento com agendamento

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "card":{
      "number":"5555555555555555",
      "expiry_date":"1222",
      "security_code":"123"
   }
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "payment":{
      "authorizer_code":"000",
      "authorizer_message":"Transacao OK",
      "status":"CON",
      "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
      "order_id":"13040222890",
      "customer_receipt":"==== CUPOM COMPRADOR ====",
      "merchant_receipt":"==== CUPOM ESTABELECIMENTO ====",
      "authorizer_id":"2",
      "acquirer_id":"1005",
      "acquirer_name":"Redecard",
      "authorizer_date":"13/07/2017T16:03",
      "authorization_number":"132032",
      "merchant_usn":"13040222890",
      "esitef_usn":"170713097340360",
      "sitef_usn":"132032",
      "host_usn":"999132032   ",
      "payment_date":"13/07/2017T16:03",
      "amount":"1000",
      "payment_type":"C",
      "issuer":"2",
      "authorizer_merchant_id":"000000000000005"
   },
   "schedule":{
      "status":"ATV",
      "sid":"qwertyuiopasdfghjklzxcvbnm0123456789qwertyuiopasdfghjklzxcvbnm01",
      "schedule_usn":"170713000000020",
      "amount":"900",
      "initial_date":"03/08/2017",
      "next_date":"03/08/2017",
      "number_of_times":"3",
      "soft_descriptor":"Assinatura",
      "show_times_invoice":"false"
   }
}

Pagamento com cartão armazenado

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "card":{
      "token":"g16hJtpdU6XEN3FP-ApQ9pKTGII5Fa9Y12tRX-qfyC-+BUCV5OaFn807zwwOR6rDtKoRnIJg0QbikaJqJqosyQ=="  
   }
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "payment":{
      "authorizer_code":"000",
      "authorizer_message":"Transacao OK",
      "status":"CON",
      "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
      "order_id":"13034649671",
      "customer_receipt":"====CUPOM COMPRADOR====",
      "merchant_receipt":"====CUPOM ESTABELECIMENTO====",
      "authorizer_id":"2",
      "acquirer_id":"1005",
      "acquirer_name":"Redecard",
      "authorizer_date":"13/07/2017T15:52",
      "authorization_number":"132030",
      "merchant_usn":"13034649671",
      "esitef_usn":"170713097340300",
      "sitef_usn":"132030",
      "host_usn":"999132030",
      "payment_date":"13/07/2017T15:52",
      "amount":"1000",
      "payment_type":"C",
      "issuer":"2",
      "authorizer_merchant_id":"000000000000005"
   }
}

Pagamento com planos de financiamento Via Certa Financiadora

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "card":{
      "expiry_date":"1222",
      "security_code":"123",
      "number":"5555555555555555"
   },
   "acquirer":{
      "financing_plan":"0302"
   }
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "payment":{
      "authorizer_code":"000",
      "authorizer_message":"Transacao OK",
      "status":"CON",
      "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
      "order_id":"21105507366",
      "customer_receipt":"====CUPOM COMPRADOR====",
      "merchant_receipt":"====CUPOM ESTABELECIMENTO====",
      "authorizer_id":"313",
      "acquirer_id":"1313",
      "acquirer_name":"Via Certa Financiadora",
      "authorizer_date":"21/11/2017T10:55",
      "authorization_number":"211982",
      "merchant_usn":"21105507366",
      "esitef_usn":"171121108905101",
      "sitef_usn":"211982",
      "host_usn":"999211982   ",
      "amount":"1000",
      "payment_type":"C",
      "issuer":"2",
      "authorizer_merchant_id":"0000000000000313",
      "payment_date":"21/11/2017T10:55"
   }
}

Pagamento com prefixos

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "card":{
      "expiry_date":"1222",
      "security_code":"123",
      "number":"5555555555555555"
   },
   "acquirer":{
      "prefixes":{
         "TRAT":"1"
      }
   }
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "payment":{
      "authorizer_code":"000",
      "authorizer_message":"Transacao OK",
      "status":"CON",
      "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
      "order_id":"21105507366",
      "customer_receipt":"====CUPOM COMPRADOR====",
      "merchant_receipt":"====CUPOM ESTABELECIMENTO====",
      "authorizer_id":"2",
      "acquirer_id":"1005",
      "acquirer_name":"Redecard",
      "authorizer_date":"21/11/2017T10:55",
      "authorization_number":"211981",
      "merchant_usn":"21105507366",
      "esitef_usn":"171121108905100",
      "sitef_usn":"211981",
      "host_usn":"999211981   ",
      "amount":"1000",
      "payment_type":"C",
      "issuer":"2",
      "authorizer_merchant_id":"000000000000005",
      "payment_date":"21/11/2017T10:55"
   }
}

Pagamento split para roteamentos BIN e Sipag via SiTef

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "card":{
      "number":"5555555555555555",
      "expiry_date":"1222",
      "security_code":"123"
   },
   "acquirer":{
      "submerchant_split":[
         {
            "submerchant_code":"empresa01",
            "submerchant_amount":"10"
         },
         {
            "submerchant_code":"empresa02",
            "submerchant_amount":"20"
         },
         {
            "submerchant_code":"empresa03",
            "submerchant_amount":"20"
         },
         {
            "submerchant_code":"empresa04",
            "submerchant_amount":"30"
         },
         {
            "submerchant_code":"empresa05",
            "submerchant_amount":"30"
         }
      ]
   }
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "payment":{
      "authorizer_code": "000",
      "authorizer_message": "APROVADA",
      "status": "CON",
      "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
      "authorizer_id": "1",
      "acquirer_id": "229",
      "acquirer_name": "Bin",
      "authorizer_date": "29/03/2019T13:26",
      "authorization_number": "000058",
      "merchant_usn": "20180809",
      "esitef_usn": "190329026585100",
      "sitef_usn": "000058",
      "host_usn": "003000058   ",
      "amount": "13000",
      "payment_type": "C",
      "issuer": "1",
      "authorizer_merchant_id": "000000000000000",
      "payment_date": "29/03/2019T13:26"
   }
}

Parâmetros de requisição

Na tabela abaixo está a descrição dos parâmetros de requisição do serviço de efetivação de pagamento:

ParâmetroDescriçãoFormatoObrigatório
authorizer_idCódigo da autorizadora no e-SiTef. Saiba mais.
Caso este campo não tenha sido enviado na etapa de criação da transação, ele passa a ser obrigatório ao consumir o serviço de efetivação do pagamento.
< 3 NCOND.
customer_postal_codeCódigo postal (CEP no Brasil) do usuário. Este deve ser enviado para transações roteadas iCards via SiTef, caso a coleta deste for indicada no serviço de consulta de cartão pelo campo is_customer_postal_code_required.< 8 NCOND.
mccO MCC (Merchant Category Code) é um código que classifica um negócio pelo tipo de bens ou produtos fornecidos.< 4 NNÃO
subacquirer_merchant_idIdentificação da loja na subadquirente.< 22 NNÃO
card Dados do cartão.
numberNúmero do cartão do comprador (PAN).< 19 NSIM
expiry_dateData de vencimento do cartão no formato MMAA. Sua obrigatoriedade depende do adquirente escolhido. Na maioria dos casos, esse campo é obrigatório.= 4 NCOND.
security_codeCódigo de segurança. Este campo pode não ser obrigatório se a empresa possuir um acordo no contrato firmado com as redes adquirentes, somente para o pagamento de determinados seguimentos.
Importante: um pagamento com agendamento implica no armazenamento dos dados do cartão do comprador no ambiente do e-SiTef. Porém, por questões de segurança, o código de segurança não pode ser armazenado. Por isso, os pagamentos agendados sempre serão executados sem o envio do código de segurança.
< 5 NCOND.
holderNome do portador do cartão. Obrigatório apenas para pagamentos com e-Rede, GetNet WS e VR (SmartNet).< 30 ANCOND.
tokenHASH de um cartão armazenado no e-SiTef. Não é permitido enviar um número de cartão aberto (campo number) e um cartão armazenado (campo token) na mesma requisição.= 88 ANNÃO
wallet_transaction_idID de uma transação de carteiras digitais. Por enquanto, essa funcionalidade está disponível apenas para as autorizadoras Visa Checkout, VEE (via CardSE-SiTef) e Google Pay.
Não é permitido enviar um número de cartão aberto (campo number), um cartão armazenado (campo token) e um wallet_transaction_id na mesma requisição.
< 25 ANNÃO
initial_wallet_transaction_idInforma se o Wallet ID (wallet_transaction_id) está sendo utilizado pela primeira vez. Se for a primeira vez, enviar true, caso contrário enviar false.< 5 T/FNÃO
external_authentication Este elemento recebe campos de resultados de autenticação MPI.
eciEletronic Commerce Indicator – indica o nível de segurança da transação com autenticação do dono do cartão< 3 NNÃO
xidIdentificador da transação de autenticação do dono do cartão, feita em serviço externo ao e-SiTef< 40 NNÃO
cavvCardholder Authentication Verification Value - Código que indica o resultado da autenticação do dono do cartão.< 40 NNÃO
acquirer Dados específicos necessários dependendo da adquirente/roteamento.
financing_planCódigo de plano de financiamento. Necessário apenas para pagamentos parcelados com juros roteados pela Via Certa Financiadora via SiTef.< 4 NNÃO
special_codeCódigo de uso geral da Conductor/Renner.< 6 NNÃO
recurrencyFlag que define se o pagamento é ou não recorrente. Aceito para todos os roteamentos via SiTef, Cielo e-Commerce, Stone WS, Global Payments WS, SafraPay, e.Rede REST e GetnetWS.
No caso de recorrência via Stone WS, é obrigatório o envio adicional de apenas um dos campos abaixo, is_first_recurring OU is_subsequent_recurring.
< 5 T/FNÃO
recurrency_tidTID da primeira transação da recorrência. Identificador que diferencia a primeira recorrência das subsequentes. Só é utilizado quando for uma recorrência. Campo utilizado somente no roteamento e.Rede REST para as bandeiras Visa e Mastercard e roteamento GetnetWS.< 18 ANNÃO
is_first_recurringFlag usada apenas para roteamento StoneWS. Indica que a transação é a primeira de uma série de transações recorrentes.< 5 T/FCOND.
is_subsequent_recurringFlag usada apenas para roteamento StoneWS. Indica que a transação é a segunda ou n-ésima de uma série de transações recorrentes, onde n > 2.< 5 T/FCOND.
product_codeCódido de produto.
É obrigatório em roteamento via Marisa.
< 6 NCOND.
terminalTerminal SiTef que se deseja usar. Se não for enviado, o e-SiTef gerará um terminal aleatório.= 14 NNão
company_codeCódigo de empresa SiTef que se deseja usar. Se não for enviado, o e-SiTef enviará o código de empresa cadastrado na loja.= 8 NNão
acquirer.vouchers_filter[] Filtro de Vouchers - Escolha dos vouchers que não serão aceitos. Opções de "Vouchers": 01 - Alimentação, 02 - Refeição 03 - Cultura, 04 - Combustível, 05 - Benefício.
Exemplo:
Não se quer aceitar Vouchers: Cultura, Combustível, Benefício. Deve enviar:
"vouchers_filter": [ "03", "04", "05" ]
acquirer.prefixes Elemento para envio de prefixos do SiTef, como CICLOS, CPLANO e VLRADD. Caso o prefixo enviado não seja suportado pelo cartão enviado, o e-SiTef invalidará a transação, impedindo que se dê uma falsa impressão do uso de uma determinada funcionalidade.

Exemplo:
{ "key" : "value" } -> { "CICLOS" : "01" }
keyNome do prefixo.< 1024 ANNÃO
valueValor do prefixo.< 1024 ANNÃO
acquirer.submerchant_split[] Consiste em um array para pagamentos split, exclusivos para roteamentos BIN e Sipag, ambos via SiTef. Permite a divisão de partes do valor total do pagamento entre outras empresas.
O máximo de itens permitido neste array é de 5 itens. Cada item é composto pelos campos submechant_code e submerchant_amount.
submerchant_codecódigo de estabelecimento BIN/Sipag< 51 ANNÃO
submerchant_amountvalor de transação referente ao estabelecimento< 12 NNÃO

ATENÇÃO: Os parâmetros terminal e company_code deverão ser usados somente para roteamentos via SiTef e devem ser enviados simultaneamente.
É necessário também solicitar à equipe de atendimento do e-SiTef a permissão Permite envio de Empresa e Terminal Sitef via REST.

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 201. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de efetivação de pagamento:

ParâmetroDescriçãoFormato
codeCódigo de resposta do e-SiTef. Qualquer código diferente de 0 significa falha. Saiba mais.< 4 N
messageMensagem de resposta do e-SiTef.< 500 AN
payment
authorizer_codeCódigo de resposta do autorizador.< 10 AN
authorizer_messageMensagem de resposta do autorizador.< 500 AN
statusStatus da transação de pagamento no e-SiTef. Saiba mais.= 3 AN
nitIdentificador da transação de pagamento no e-SiTef.= 64 AN
order_idCódigo de pedido enviado pela loja na criação da transação.< 40 AN
merchant_usnNúmero sequencial único enviado pela loja na criação da transação.< 12 N
amountValor da compra especificado pela loja (em centavos) na criação da transação.< 12 N
sitef_usnNúmero sequencial único da transação de pagamento no SiTef.= 6 N
esitef_usnNúmero sequencial único da transação de pagamento no e-SiTef.= 15 N
customer_receiptCupom (via cliente).< 4000 AN
merchant_receiptCupom (via estabelecimento).< 4000 AN
authorizer_idCódigo da autorizadora utilizada na transação.< 4 N
acquirer_idCódigo do adquirente utilizado na transação.< 4 N
acquirer_nameNome do adquirente utilizado na transação.< 100 AN
authorizer_dateData de efetivação do pagamento retornada pelo autorizador no formato DD/MM/AAAA'T'HH:mm. Exemplo: 13/07/2017T16:03= 16 D
authorization_numberNúmero de autorização.< 6 AN
host_usnNSU da autorizadora.< 15 AN
tidID da transação no adquirente. Este campo só é retornado em transações com adquirentes externos ao SiTef.< 40 AN
eciEletronic Commerce Indicator (indicador do nível de segurança da transação do pagamento via Cielo e-Commerce).< 3 AN
payment_dateData de efetivação do pagamento no e-SiTef no formato DD/MM/AAAA'T'HH:mm. Exemplo: 13/07/2017T16:03= 16 D
issuerCódigo da bandeira retornado pelo autorizador.< 5 AN
authorizer_merchant_idCódigo de afiliação do lojista na autorizadora.< 100 AN
xidCampo XID retornado em autenticações 3DS ou certos adquirentes.< 40 AN
authentication_urlURL de autenticação retornada em fluxos de pagamento com autenticação. Disponível apenas para Cielo e-Commerce.< 56 AN
balanceSaldo disponível após pagamentos com cartões tipo Gift.< 12 N
recurrency_tidId de transação (TID) da bandeira, referente à primeira transação da recorrência. Só é retornado quando for uma recorrência. Campo utilizado somente no roteamento e.Rede REST para as bandeiras Visa e Mastercard.< 16 AN
payment.analysis
codeCódigo de resposta da operação de análise de fraude.< 4 N
messageMensagem de resposta da operação de análise de fraude.< 200 AN
statusStatus da transação de análise de fraude do e-SiTef. Este campo pode assumir os seguintes valores:
NOV – Nova.
EXP – Expirada.
ACC – Aceita
REJ – Rejeitada
REV – Em revisão
INV – Inválida
= 3 AN
schedule
statusStatus do agendamento no e-SiTef. Saiba mais.= 3 AN
sidIdentificador da transação de agendamento no e-SiTef.= 64 AN
schedule_usnNúmero sequencial único do agendamento no e-SiTef.= 15 N
authorizer_idCódigo da autorizadora a ser utilizada nos pagamentos agendados.= 4 N
amountValor dos pagamentos agendados especificado pela loja (em centavos) na criação da transação.< 12 N
order_idCódigo de pedido enviado pela loja na criação da transação.< 40 AN
merchant_usnNúmero sequencial único enviado pela loja na criação da transação.< 12 N
initial_dateData de execução do primeiro pagamento agendado no formato DD/MM/AAAA.= 10 D
next_dateData de execução do próximo pagamento agendado no formato DD/MM/AAAA.= 10 D
number_of_timesNúmero total de pagamentos agendados.< 3 N
installmentsNúmero de parcelas a ser utilizado nos pagamentos agendados.< 2 N
installment_typeTipo de financiamento a ser utilizado nos pagamentos agendados.< 2 N
soft_descriptorTexto adicional que será apresentado junto ao nome do estabelecimento na fatura do cartão de crédito do comprador.< 30 AN
show_times_invoicePara agendamentos por tempo finito, caso esse campo tenha valor true acrescenta ao final do campo soft_descriptor o número de execuções/total de execuções (exemplo: Assinatura 3/12).< 5 T/F
terminal_idCódigo do terminal utilizada na transação< 8 AN

Serviço de confirmação de pagamento

Após criar e efetuar um pagamento pendente de confirmação, o lojista deve chamar o serviço de confirmação para confirmar ou desfazer o pagamento utilizando o mesmo NIT obtido na primeira etapa do fluxo.

Detalhes da chamada

  • Recurso: /v1/payments/{nit}
  • Método HTTP: PUT
  • Formato da requisição: query string
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.< 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM

Exemplo

Abaixo está um exemplo de chamada do serviço de confirmação de pagamento utilizando a ferramenta cURL.

Requisição:

curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr?confirm=true"
--header "merchant_id:xxxxxxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "payment":{
      "status":"CON"
   }
}

Parâmetros de requisição

Na tabela abaixo está a descrição dos parâmetros de requisição do serviço de confirmação de pagamento:

ParâmetroDescriçãoFormatoObrigatório
confirmEste campo deve ser enviado com o valor true caso se deseje confirmar a transação, ou false, caso queira desfazer o pagamento.< 5 T/FSIM
amountValor a ser capturado. Deve ser menor ou igual ao autorizado. Confirmações com valor menor só são suportadas por roteamentos não-SiTef. Caso este campo não seja enviado, é utilizado o valor total da transação.< 12 NNÃO

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 200. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de confirmação de pagamento:

ParâmetroDescriçãoFormato
codeCódigo de resposta do e-SiTef. Qualquer código diferente de 0 significa falha. Saiba mais.< 4 N
messageMensagem de resposta do e-SiTef.< 500 AN
payment
statusStatus da transação de pagamento no e-SiTef. Saiba mais.= 3 AN
payment_dateData de efetivação do pagamento no e-SiTef no formato DD/MM/AAAA'T'HH:mm. Exemplo: 13/07/2017T16:03= 16 D
host_usnNSU da autorizadora.< 15 AN

Serviço de consulta de transação

Estes serviços podem ser chamados para obter os dados da transação de pagamento, cancelamento ou agendamento. É essencial o uso dessa operação em casos de erro de comunicação para verificar o status atual da transação, que pode ter sido efetuada ou não recebida pelo e-SiTef.

O e-SiTef disponibiliza um serviço para consulta a partir do NIT (pagamento/cancelamento) e um serviço para consulta a partir do SID (agendamento). No caso de pagamento com agendamento, as consultas retornarão os dados das duas transações.

Atenção:

A consulta de transação no e-SiTef NÃO efetua uma consulta do status da transação no adquirente / autorizador. Este serviço retorna o status da transação na base de dados do e-SiTef.

Exemplo: Caso uma transação de pagamento seja confirmada no e-SiTef, mas seja estornada via telefone diretamente no adquirente / autorizador, este estorno não será necessariamente refletido no serviço de consulta de transação do e-SiTef.

Detalhes da chamada

Consulta por NIT

  • Recurso: /v1/transactions/{nit}
  • Método HTTP: GET
  • Formato da requisição: não há parâmetros de requisição
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.< 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM

Consulta por SID

  • Recurso: /v1/schedules/{sid}
  • Método HTTP: GET
  • Formato da requisição: não há parâmetros de requisição
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.< 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM

Exemplos

Abaixo estão alguns exemplos de chamada dos serviços de consulta utilizando a ferramenta cURL.

Consulta de pagamento

Requisição:

curl
--request GET "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "merchant_id: xxxxxxxxxxxxxxx" 
--header "merchant_key: xxxxxxxxxxx"
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "payment":{
      "authorizer_code":"000",
      "authorizer_message":"Transacao OK",
      "status":"CON",
      "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
      "order_id":"13064421440",
      "customer_receipt":"==== CUPOM COMPRADOR ====",
      "merchant_receipt":"==== CUPOM ESTABELECIMENTO ====",
      "authorizer_id":"2",
      "acquirer_id":"1005",
      "acquirer_name":"Redecard",
      "authorizer_date":"13/07/2017T18:44",
      "authorization_number":"132048",
      "merchant_usn":"13064421441",
      "esitef_usn":"170713097341620",
      "sitef_usn":"132048",
      "host_usn":"999132048   ",
      "payment_date":"13/07/2017T18:44",
      "amount":"1000",
      "payment_type":"C",
      "issuer":"2",
      "authorizer_merchant_id":"000000000000005"
   }
}

Consulta de agendamento

Requisição:

curl
--request GET "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/schedules/qwertyuiopasdfghjklzxcvbnm0123456789qwertyuiopasdfghjklzxcvbnm01"
--header "merchant_id: xxxxxxxxxxxxxxx" 
--header "merchant_key: xxxxxxxxxxx"
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "schedule":{
      "status":"ATV",
      "sid":"qwertyuiopasdfghjklzxcvbnm0123456789qwertyuiopasdfghjklzxcvbnm01",
      "schedule_usn":"170713000000050",
      "authorizerId":"2",
      "amount":"900",
      "initial_date":"03/08/2017",
      "next_date":"03/08/2017",
      "number_of_times":"3",
      "current_times":"0",
      "installments":"1",
      "installment_type":"4",
      "soft_descriptor":"Assinatura",
      "show_times_invoice":"false"
   }
}

Consulta por NIT de pagamento com agendamento

Requisição:

curl
--request GET "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "merchant_id: xxxxxxxxxxxxxxx" 
--header "merchant_key: xxxxxxxxxxx"
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "payment":{
      "authorizer_code":"000",
      "authorizer_message":"Transacao OK",
      "status":"CON",
      "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
      "order_id":"13065054564",
      "customer_receipt":"==== CUPOM COMPRADOR ====",
      "merchant_receipt":"==== CUPOM ESTABELECIMENTO ====",
      "authorizer_id":"2",
      "acquirer_id":"1005",
      "acquirer_name":"Redecard",
      "authorizer_date":"13/07/2017T18:51",
      "authorization_number":"132050",
      "merchant_usn":"13065054565",
      "esitef_usn":"170713097341630",
      "sitef_usn":"132050",
      "host_usn":"999132050   ",
      "payment_date":"13/07/2017T18:51",
      "amount":"1000",
      "payment_type":"C",
      "issuer":"2",
      "authorizer_merchant_id":"000000000000005"
   },
   "schedule":{
      "status":"ATV",
      "sid":"qwertyuiopasdfghjklzxcvbnm0123456789qwertyuiopasdfghjklzxcvbnm01",
      "schedule_usn":"170713000000060",
      "authorizerId":"2",
      "amount":"900",
      "initial_date":"03/08/2017",
      "next_date":"03/10/2017",
      "number_of_times":"3",
      "current_times":"2",
      "installments":"1",
      "installment_type":"4",
      "soft_descriptor":"Assinatura",
      "show_times_invoice":"false",
      "nits":[
         "123412341234111",
         "123412341234222"
      ]
   }
}

Consulta por SID de agendamento com pagamento

Requisição:

curl
--request GET "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/schedules/qwertyuiopasdfghjklzxcvbnm0123456789qwertyuiopasdfghjklzxcvbnm01"
--header "merchant_id: xxxxxxxxxxxxxxx" 
--header "merchant_key: xxxxxxxxxxx"
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "payment":{
      "authorizer_code":"000",
      "authorizer_message":"Transacao OK",
      "status":"CON",
      "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
      "order_id":"13065054564",
      "customer_receipt":"==== CUPOM COMPRADOR ====",
      "merchant_receipt":"==== CUPOM ESTABELECIMENTO ====",
      "authorizer_id":"2",
      "acquirer_id":"1005",
      "acquirer_name":"Redecard",
      "authorizer_date":"13/07/2017T18:51",
      "authorization_number":"132050",
      "merchant_usn":"13065054565",
      "esitef_usn":"170713097341630",
      "sitef_usn":"132050",
      "host_usn":"999132050   ",
      "payment_date":"13/07/2017T18:51",
      "amount":"1000",
      "payment_type":"C",
      "issuer":"2",
      "authorizer_merchant_id":"000000000000005"
   },
   "schedule":{
      "status":"ATV",
      "sid":"qwertyuiopasdfghjklzxcvbnm0123456789qwertyuiopasdfghjklzxcvbnm01",
      "schedule_usn":"170713000000060",
      "authorizerId":"2",
      "amount":"900",
      "initial_date":"03/08/2017",
      "next_date":"03/10/2017",
      "number_of_times":"3",
      "current_times":"2",
      "installments":"1",
      "installment_type":"4",
      "soft_descriptor":"Assinatura",
      "show_times_invoice":"false",
      "nits":[
         "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqs",
         "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqt"
      ]
   }
}

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 200. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de consulta de transações:

ParâmetroDescriçãoFormato
codeCódigo de resposta do e-SiTef. Qualquer código diferente de 0 significa falha. Saiba mais.< 4 N
messageMensagem de resposta do e-SiTef.< 500 AN
payment
authorizer_codeCódigo de resposta do autorizador.< 10 AN
authorizer_messageMensagem de resposta do autorizador.< 500 AN
statusStatus da transação de pagamento no e-SiTef. Saiba mais.= 3 AN
nitIdentificador da transação de pagamento no e-SiTef.= 64 AN
order_idCódigo de pedido enviado pela loja na criação da transação.< 40 AN
merchant_usnNúmero sequencial único enviado pela loja na criação da transação.< 12 N
amountValor da compra especificado pela loja (em centavos) na criação da transação.< 12 N
sitef_usnNúmero sequencial único da transação de pagamento no SiTef.= 6 N
esitef_usnNúmero sequencial único da transação de pagamento no e-SiTef.= 15 N
customer_receiptCupom (via cliente).< 4000 AN
merchant_receiptCupom (via estabelecimento).< 4000 AN
authorizer_idCódigo da autorizadora utilizada na transação.< 4 N
acquirer_idCódigo do adquirente utilizado na transação.< 4 N
acquirer_nameNome do adquirente utilizado na transação.< 100 AN
authorizer_dateData de efetivação do pagamento retornada pelo autorizador no formato DD/MM/AAAA'T'HH:mm. Exemplo: 13/07/2017T16:03= 16 D
authorization_numberNúmero de autorização.< 6 AN
host_usnNSU da autorizadora.< 15 AN
tidID da transação no adquirente. Este campo só é retornado em transações com adquirentes externos ao SiTef.< 40 AN
eciEletronic Commerce Indicator (indicador do nível de segurança da transação do pagamento via Cielo e-Commerce).< 3 AN
payment_dateData de efetivação do pagamento no e-SiTef no formato DD/MM/AAAA'T'HH:mm. Exemplo: 13/07/2017T16:03= 16 D
issuerCódigo da bandeira retornado pelo autorizador.< 5 AN
authorizer_merchant_idCódigo de afiliação do lojista na autorizadora.< 100 AN
xidCampo XID retornado em autenticações 3DS ou certos adquirentes.< 40 AN
balanceSaldo disponível após pagamentos com cartões tipo Gift.< 12 N
payment.analysis
codeCódigo de resposta da operação de análise de fraude.< 4 N
messageMensagem de resposta da operação de análise de fraude.< 200 AN
statusStatus da transação de análise de fraude do e-SiTef. Este campo pode assumir os seguintes valores:
NOV – Nova.
EXP – Expirada.
ACC – Aceita
REJ – Rejeitada
REV – Em revisão
INV – Inválida
= 3 AN
schedule
statusStatus do agendamento no e-SiTef. Saiba mais.= 3 AN
sidIdentificador da transação de agendamento no e-SiTef.= 64 AN
schedule_usnNúmero sequencial único do agendamento no e-SiTef.= 15 N
authorizer_idCódigo da autorizadora a ser utilizada nos pagamentos agendados.= 4 N
amountValor dos pagamentos agendados especificado pela loja (em centavos) na criação da transação.< 12 N
order_idCódigo de pedido enviado pela loja na criação da transação.< 40 AN
merchant_usnNúmero sequencial único enviado pela loja na criação da transação.< 12 N
initial_dateData de execução do primeiro pagamento agendado no formato DD/MM/AAAA.= 10 D
next_dateData de execução do próximo pagamento agendado no formato DD/MM/AAAA.= 10 D
number_of_timesNúmero total de pagamentos agendados.< 3 N
current_timesNúmero de pagamentos agendados já executados.< 3 N
installmentsNúmero de parcelas a ser utilizado nos pagamentos agendados.< 2 N
installment_typeTipo de financiamento a ser utilizado nos pagamentos agendados.< 2 N
soft_descriptorTexto adicional que será apresentado junto ao nome do estabelecimento na fatura do cartão de crédito do comprador.< 30 AN
show_times_invoicePara agendamentos por tempo finito, caso esse campo tenha valor true acrescenta ao final do campo soft_descriptor o número de execuções/total de execuções (exemplo: Assinatura 3/12).< 5 T/F
nitsNITs dos últimos seis pagamentos agendados já executados.= 64 AN[]
cancellation
authorizer_codeCódigo de resposta do autorizador.< 10 AN
authorizer_messageMensagem de resposta do autorizador.< 500 AN
statusStatus da transação de cancelamento no e-SiTef. Saiba mais.= 3 AN
nitNúmero identificador da transação de cancelamento no e-SiTef.= 64 AN
order_idCódigo de pedido enviado pela loja na criação da transação.< 40 AN
merchant_usnNúmero sequencial único enviado pela loja na criação da transação.< 12 N
amountValor do cancelamento especificado pela loja (em centavos).< 12 N
sitef_usnNúmero sequencial único da transação de cancelamento no SiTef.= 6 N
esitef_usnNúmero sequencial único da transação de cancelamento no e-SiTef.= 15 N
customer_receiptCupom (via cliente).< 4000 AN
merchant_receiptCupom (via estabelecimento).< 4000 AN
authorizer_idCódigo da autorizadora utilizada na transação.< 4 N
acquirer_idCódigo do adquirente utilizado na transação.< 4 N
acquirer_nameNome do adquirente utilizado na transação.< 100 AN
authorizer_dateData de efetivação do cancelamento retornada pelo autorizador no formato DD/MM/AAAA'T'HH:mm. Exemplo: 13/07/2017T16:03= 16 D
authorization_numberNúmero de autorização.< 6 AN
host_usnNSU da autorizadora.< 15 AN
tidID da transação no adquirente. Este campo só é retornado em transações com adquirentes externos ao SiTef.< 40 AN
esitef_dateData de efetivação do cancelamento no e-SiTef no formato DD/MM/AAAA'T'HH:mm. Exemplo: 13/07/2017T16:03= 16 D
issuerCódigo da bandeira retornado pelo autorizador.< 5 AN
authorizer_merchant_idCódigo de afiliação do lojista na autorizadora.< 100 AN
is_host_cancelEste campo retornará o valor true em caso de cancelamento via host.< 5 T/F
terminal_idCódigo do terminal utilizada na transação< 8 AN

Consulta de transações em um grupo de lojas

O e-SiTef exige que as credenciais (merchant_id e merchant_key) sejam as mesmas utilizadas na transação a ser consultada. No entanto, caso o lojista precise, o e-SiTef pode permitir consultas com credenciais de outras lojas de um mesmo grupo. Para isso, basta solicitar às nossas equipes de suporte e produção para que façam essa liberação.

Serviço de consulta de múltiplas transações

Estes serviços podem ser chamados para obter os dados de múltiplas transações para uma loja ou grupo da loja. É essencial o uso dessa operação em casos de erro de comunicação para verificar o status atual de transações, que podem ter sido efetuada ou não recebida pelo e-SiTef.

Atenção:

A consulta de transações no e-SiTef NÃO efetua uma consulta do status da transações no adquirente / autorizador. Este serviço retorna o status da transação na base de dados do e-SiTef.

Exemplo: Caso uma transação de pagamento seja confirmada no e-SiTef, mas seja estornada via telefone diretamente no adquirente / autorizador, este estorno não será necessariamente refletido no serviço de consulta de transação do e-SiTef.

Detalhes da chamada

  • Recurso: /v1/transactions
  • Método HTTP: GET
  • Formato da requisição: query string
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.< 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM
group_idCódigo do grupo de loja no e-SiTef. Caso seja enviado, será feito uma busca pelo grupo da loja. É necessário que o código da loja esteja dentro do grupo.< 38 NNÃO
  • Parâmetros de requisição:
ParâmetroDescriçãoFormatoObrigatório
start_dateData inicial das transações a serem listadas. Formato: dd/MM/aaaa= 10 ANSIM
end_dateData final das transações a serem listadas. Período máximo: 5 dias (configurável). Formato: dd/MM/aaaa= 10 ANSIM
statusFiltro de status de transações. Ex.: "CON"= 3 NNÃO
pagePágina da listagem. A primeira página tem valor "0". Caso não seja enviada, assumiremos o valor "0".< 1000 NNÃO
limitNúmero máximo de registros por página. Caso não seja enviado, assumiremos o valor máximo 1000 de transações por vez (configurável).< 4 NNÃO
payment_linkFiltro para indicar a busca por transações de pagamento por link. Apenas ativo no caso de valor true< 5 T/FNÃO

Exemplos

Abaixo estão alguns exemplos de chamada dos serviços de consulta utilizando a ferramenta cURL.

Consulta de múltiplas transações

Requisição:

curl
--request GET "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions?start_date=25/11/2020&end_date=27/11/2020&status=CON&page=0&limit=50"
--header "merchant_id: xxxxxxxxxxxxxxx" 
--header "merchant_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
--header "group_id: 12345"
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "current_page":"0",
   "total_pages":"1",
   "count":"2",
   "transactions":[
      {
         "type":"P",
         "authorizer_code":"000",
         "authorizer_message":"Transacao OK",
         "status":"CON",
         "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
         "order_id":"13064421440",
         "customer_receipt":"==== CUPOM COMPRADOR ====",
         "merchant_receipt":"==== CUPOM ESTABELECIMENTO ====",
         "authorizer_id":"2",
         "acquirer_id":"1005",
         "acquirer_name":"Redecard",
         "authorizer_date":"13/07/2017T18:44",
         "authorization_number":"132048",
         "merchant_usn":"13064421441",
         "esitef_usn":"170713097341620",
         "sitef_usn":"132048",
         "host_usn":"999132048   ",
         "payment_date":"13/07/2017T18:44",
         "amount":"1000",
         "payment_type":"C",
         "issuer":"2",
         "authorizer_merchant_id":"000000000000005",
         "merchant_id": "xxxxxxxxxxxxxxx",
         "creation_date": "13/07/2017T18:43",
         "installments": "1"
      },
      {
         "type":"F",
         "authorizer_code":"000",
         "authorizer_message":"Transacao OK",
         "status":"CON",
         "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
         "order_id":"13064421440",
         "customer_receipt":"==== CUPOM COMPRADOR ====",
         "merchant_receipt":"==== CUPOM ESTABELECIMENTO ====",
         "authorizer_id":"2",
         "acquirer_id":"1005",
         "acquirer_name":"Redecard",
         "authorizer_date":"13/07/2017T18:44",
         "authorization_number":"132048",
         "merchant_usn":"13064421441",
         "esitef_usn":"170713097341620",
         "sitef_usn":"132048",
         "host_usn":"999132048   ",
         "payment_date":"13/07/2017T18:44",
         "amount":"1000",
         "payment_type":"C",
         "issuer":"2",
         "authorizer_merchant_id":"000000000000005",
         "merchant_id": "xxxxxxxxxxxxxxx",
         "creation_date": "13/07/2017T18:42",
         "installments": "3"
      }
   ]
}

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 200. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de consulta de múltiplas transações:

ParâmetroDescriçãoFormato
codeCódigo de resposta do e-SiTef. Qualquer código diferente de 0 significa falha. Saiba mais.< 4 N
messageMensagem de resposta do e-SiTef.< 500 AN
current_pagePágina atual dos registros.< 4 N
total_pagesNúmero total de páginas.< 4 N
countContagem total de registros.< 4 N
transactions[] Lista de transações encontradas para os filtros selecionados. Retornaremos apenas os campos em comum entre os vários tipos de transação, além do novo campo "type", que explicita qual é o tipo da transação.
typeTipo da transação. G = Captura de Pré-Autorização, A = Consulta AVS, E = Estorno, P = Pagamento, F = Pré-Autorização, R = Recarga< 1 A
authorizer_codeCódigo de resposta do autorizador.< 10 AN
authorizer_messageMensagem de resposta do autorizador.< 500 AN
statusStatus da transação de pagamento no e-SiTef. Saiba mais.= 3 AN
nitIdentificador da transação de pagamento no e-SiTef.= 64 AN
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.< 15 AN
order_idCódigo de pedido enviado pela loja na criação da transação.< 40 AN
merchant_usnNúmero sequencial único enviado pela loja na criação da transação.< 12 N
amountValor da compra especificado pela loja (em centavos) na criação da transação.< 12 N
sitef_usnNúmero sequencial único da transação de pagamento no SiTef.= 6 N
esitef_usnNúmero sequencial único da transação de pagamento no e-SiTef.= 15 N
customer_receiptCupom (via cliente).< 4000 AN
merchant_receiptCupom (via estabelecimento).< 4000 AN
authorizer_idCódigo da autorizadora utilizada na transação.< 4 N
acquirer_idCódigo do adquirente utilizado na transação.< 4 N
acquirer_nameNome do adquirente utilizado na transação.< 100 AN
authorizer_dateData de efetivação do pagamento retornada pelo autorizador no formato dd/MM/aaaa'T'HH:mm. Exemplo: 13/07/2017T16:03= 16 D
authorization_numberNúmero de autorização.< 6 AN
host_usnNSU da autorizadora.< 15 AN
tidID da transação no adquirente. Este campo só é retornado em transações com adquirentes externos ao SiTef.< 40 AN
payment_dateData de efetivação do pagamento no e-SiTef no formato dd/MM/aaaa'T'HH:mm. Exemplo: 13/07/2017T16:03= 16 D
issuerCódigo da bandeira retornado pelo autorizador.< 5 AN
authorizer_merchant_idCódigo de afiliação do lojista na autorizadora.< 100 AN
payment_typeTipo do pagamento da autorizadora escolhida. Ex.: C = Crédito, D = Débito< 1 A
creation_dateData da criação da transação no e-SiTef, no formato dd/MM/aaaa'T'HH:mm. Exemplo: 13/07/2017T16:03= 16 D
installmentsNúmero de parcelas da transação< 2 N

Serviço de consulta de cartão

A partir de um NIT de pagamento com status NOV (novo), é possível realizar uma consulta do BIN do cartão (seis primeiros dígitos) no SiTef para obter dados sobre suas capacidades (possibilidade de pagamento parcelado, máximo de parcelas, exigência de código de segurança, etc.), ou ainda, saber qual autorizadora da loja é a mais adequada para a realização do pagamento.

No caso de transações com Visa Checkout, este serviço também retornará dados do cartão e do usuário retornados pelo Visa.

Fluxo

Consulta Cartão

Descrição do fluxo:

  1. O lojista cria uma transação no e-SiTef passando informações como código da loja, número de parcelas e código de pedido e obtém como resposta um NIT (Número Identificador de Transação).
  2. O lojista envia o NIT obtido na etapa anterior e os dados do cartão a ser consultado. Com isso, o e-SiTef retorna dados sobre as capacidades do cartão enviado.
  3. A loja virtual prossegue então consumindo o serviço de efetivação do pagamento, passando o NIT e os dados do cartão do comprador. Em caso de sucesso, a transação de pagamento mudará seu status para CON (confirmada).

Detalhes da chamada

  • Recurso: /v1/payments/{nit}/cards
  • Método HTTP: POST
  • Formato da requisição: JSON
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.< 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM
Content-TypeDeve ser enviado com o valor application/json.= 15 ANSIM

Obs.: apesar de se tratar de uma consulta, o método POST foi escolhido por questões de segurança.

Exemplos

Abaixo estão alguns exemplos de chamada do serviço de consulta de cartão utilizando a ferramenta cURL.

Consulta de cartão com envio de autorizadora

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr/cards"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "card":{
      "number":"5555555555555555"
   },
   "authorizer_id":"1"
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "payment":{
      "status":"NOV"
   },
   "card":{
      "acquirer_name":"Redecard",
      "authorizer_id":"1",
      "authorizer_response_code":"000",
      "is_customer_id_required":"false",
      "is_expiry_date_required":"true",
      "is_installment_funding_enabled":"true",
      "is_security_code_required":"true",
      "is_spot_sale_enabled":"true",
      "is_with_interest_sale_enabled":"true",
      "is_without_interest_sale_enabled":"true",
      "max_installments_with_interest":"12",
      "min_installments_with_interest":"01",
      "prefixes":{
         "TRAT":"2",
         "PERIFERICO":"1",
         "CSEG":"2"
      }
   }
}

Consulta de cartão sem envio de autorizadora

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr/cards"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "card":{
      "number":"6543210987654321"
   }
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "payment":{
      "status":"NOV"
   },
   "card":{
      "acquirer_name":"Redecard",
      "authorizer_id":"1",
      "authorizer_response_code":"000",
      "is_customer_id_required":"false",
      "is_expiry_date_required":"true",
      "is_installment_funding_enabled":"true",
      "is_security_code_required":"true",
      "is_spot_sale_enabled":"true",
      "is_with_interest_sale_enabled":"true",
      "is_without_interest_sale_enabled":"true",
      "max_installments_with_interest":"12",
      "min_installments_with_interest":"01",
      "prefixes":{
         "TRAT":"2",
         "PERIFERICO":"1",
         "CSEG":"2"
      }
   }
}

Consulta de cartão Visa Checkout

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr/cards"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "card":{
      "wallet_transaction_id":"4444444444444444444"
   },
   "authorizer_id":"406"
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "payment":{
      "status":"NOV"
   },
   "card":{
      "acquirer_name":"Redecard",
      "authorizer_id":"406",
      "authorizer_response_code":"000",
      "is_customer_id_required":"false",
      "is_expiry_date_required":"true",
      "is_installment_funding_enabled":"true",
      "is_security_code_required":"true",
      "is_spot_sale_enabled":"true",
      "is_with_interest_sale_enabled":"true",
      "is_without_interest_sale_enabled":"true",
      "max_installments_with_interest":"12",
      "min_installments_with_interest":"01",
      "prefixes":{
         "TRAT":"2",
         "PERIFERICO":"1"
      },
      "visa_checkout_data":{
         "payment_request":{
            "currency_code":"BRL",
            "subtotal":"115.5",
            "total":"115.5",
            "order_id":"09387",
            "source_id":"LOJAVISACHECK"
         },
         "user_data":{
            "user_first_name":"Comprador",
            "user_last_name":"Esitef",
            "user_full_name":"Comprador Esitef",
            "user_name":"esitef2@gmail.com",
            "user_email":"esitef2@gmail.com",
            "enc_user_id":"c5DmPXTXC3VwZywsFESEGAqiLM5PXSZG7hgyQgRv0j8=",
            "user_personal_id":"12345678909"
         },
         "creation_time_stamp":1502206049403,
         "payment_instrument":{
            "id":"AWUU0/rQrmKCMx+C740kBefZP2GNsdAMYUTXAzCPk+M=",
            "last_four_digits":"1010",
            "bin_six_digits":"406897",
            "verification_status":"VERIFIED",
            "expired":"false",
            "issuer_bid":"10029901",
            "nick_name":"Cartão PAN",
            "name_on_card":"aaaaaaaaaa vvvvvvvvvv",
            "card_first_name":"aaaaaaaaaa",
            "card_last_name":"vvvvvvvvvv",
            "payment_type":{
               "card_brand":"VISA",
               "card_type":"CREDIT"
            },
            "billing_address":{
               "person_name":"aaaaaaaaaa vvvvvvvvvv",
               "first_name":"aaaaaaaaaa",
               "last_name":"vvvvvvvvvv",
               "line1":"qqqqqqqqqq",
               "line2":"eeeeee",
               "line3":"wwwwwwwww",
               "city":"cccccccc",
               "state_province_code":"SP",
               "postal_code":"01238010",
               "country_code":"BR",
               "phone":"987654321",
               "default":"false"
            },
            "card_arts":{
               "card_art":[
                  {
                     "base_image_file_name":"https://sandbox.secure.checkout.visa.com/VmeCardArts/lg_visa_card.png",
                     "height":105,
                     "width":164
                  }
               ]
            },
            "expiration_date":{
               "month":"11",
               "year":"2022"
            }
         },
         "risk_data":{
            "advice":"UNAVAILABLE",
            "score":0,
            "avs_response_code":"0",
            "cvv_response_code":"0",
            "age_of_account":"704"
         },
         "visa_checkout_guest":"false"
      }
   }
}

Consulta de cartão com planos de financiamento

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr/cards"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "card":{
      "number":"6543210987654321"
   },
   "authorizer_id":"313"
}
--verbose

Resposta:

{
    "code": "0",
    "message": "OK. Transaction successful.",
    "payment": {
        "status": "NOV"
    },
    "card": {
        "acquirer_name": "Via Certa Financiadora",
        "authorizer_id": "313",
        "authorizer_response_code": "000",
        "is_customer_id_required": "false",
        "is_expiry_date_required": "true",
        "is_installment_funding_enabled": "true",
        "is_security_code_required": "true",
        "is_spot_sale_enabled": "true",
        "is_with_interest_sale_enabled": "true",
        "is_without_interest_sale_enabled": "true",
        "max_installments_with_interest": "99",
        "min_installments_with_interest": "00",
        "prefixes": {
            "CADSENHA": "11",
            "NPSAQ": "0199",
            "ECHO": "MIG3DH00000"
        },
        "financing_plan_list": [
            {
                "cod_plano": "0201",
                "tipo_plano": "02",
                "desc_plano": "Plano de Teste para CDC 01                        ",
                "parc_plano": "99"
            },
            {
                "cod_plano": "0301",
                "tipo_plano": "03",
                "desc_plano": "Plano de Teste para Saque e CDC 01                ",
                "parc_plano": "99"
            },
            {
                "cod_plano": "0201",
                "tipo_plano": "02",
                "desc_plano": "Plano de Teste para CDC 01                        ",
                "parc_plano": "99"
            },
            {
                "cod_plano": "0202",
                "tipo_plano": "02",
                "desc_plano": "Plano de Teste para CDC 02                        ",
                "parc_plano": "99"
            },
            {
                "cod_plano": "0301",
                "tipo_plano": "03",
                "desc_plano": "Plano de Teste para Saque e CDC 01                ",
                "parc_plano": "99"
            },
            {
                "cod_plano": "0302",
                "tipo_plano": "03",
                "desc_plano": "Plano de Teste para Saque e CDC 02                ",
                "parc_plano": "99"
            },
            {
                "cod_plano": "0303",
                "tipo_plano": "03",
                "desc_plano": "Plano de Teste para Saque e CDC 03                ",
                "parc_plano": "99"
            }
        ]
    }
}

Consulta de cartão com dados adicionais para roteamento iCards via SiTef

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr/cards"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "card":{
      "number":"6543210987654321"
   },
   "authorizer_id":"38"
}
--verbose

Resposta:

{
    "code": "0",
    "message": "OK. Transaction successful.",
    "card": {
        "acquirer_name": "iCards",
        "authorizer_id": "38",
        "authorizer_response_code": "000",
        "is_customer_id_required": "true",
        "is_expiry_date_required": "true",
        "is_installment_funding_enabled": "true",
        "is_security_code_required": "true",
        "is_spot_sale_enabled": "true",
        "is_with_interest_sale_enabled": "true",
        "is_without_interest_sale_enabled": "true",
        "max_installments_with_interest": "12",
        "min_installments_with_interest": "01",
        "prefixes": {
            "NPSAQ": "0299",
            "CAPTPPRE": "1",
            "XCAPPREAUT": "11"
        },
        "is_customer_postal_code_required": "true",
        "is_card_holder_required": "true"
    },
    "payment": {
        "status": "NOV"
    }
}

Consulta de cartão com dados adicionais para roteamento IPG

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr/cards"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
  "card":{
    "number":"4036952187654321"
  },
  "routing_id":"414"
}
--verbose

Resposta:

{
  "code": "0",
  "message": "OK. Transaction successful.",
  "payment": {
    "status": "NOV"
  },
  "details": [
    {
      "brand": "VISA",
      "brand_product_id": "VI",
      "card_function": "CREDIT",
      "issuer_country": "USA",
      "issuer_name": "Simulation"
    },
    {
      "brand": "VISA",
      "brand_product_id": "VI",
      "card_function": "DEBIT",
      "issuer_country": "BRA",
      "issuer_name": "Simulation"
    }
  ]
}

Parâmetros de requisição

Na tabela abaixo está a descrição dos parâmetros de requisição do serviço de consulta de cartão:

ParâmetroDescriçãoFormatoObrigatório
authorizer_idCódigo da autorizadora no e-SiTef. Saiba mais. Este campo só é obrigatório caso o campo wallet_transaction_id seja enviado.
Se esse campo não é enviado, o e-SiTef assume que se trata de um cartão de crédito
< 3 NCOND.
routing_idCódigo do roteamento no e-SiTef. Este campo só é obrigatório para obter dados adicionais pela IPG.< 3 NCOND.
card
numberNúmero do cartão do comprador (PAN).< 19 NSIM
tokenHASH de um cartão armazenado no e-SiTef. Não é permitido enviar um número de cartão aberto (campo number) e um cartão armazenado (campo token) na mesma requisição.= 88 ANNÃO
wallet_transaction_idID de uma transação de carteiras digitais. Por enquanto, essa funcionalidade está disponível apenas para a autorizadora Visa Checkout (authorizer_id:406).
Não é permitido enviar um número de cartão aberto (campo number), um cartão armazenado (campo token) e um wallet_transaction_id na mesma requisição.
< 25 ANNÃO
do_par_inquiryInforma se a chamada para o VISA PAR Inquiry será realizada. O Valor resposta será retornado no campo par do do retorno da chamada.

Valores permitidos:
true - Requisição de PAR será realizada
false - Requisição de PAR não será realizada.

Valor default: false
< 5 ANÃO

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 200. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de consulta de cartão:

ParâmetroDescriçãoFormato
codeCódigo de resposta do e-SiTef. Qualquer código diferente de 0 significa falha. Saiba mais.< 4 N
messageMensagem de resposta do e-SiTef.< 500 AN
payment
statusStatus da transação de pagamento no e-SiTef. Saiba mais.= 3 AN
card
authorizer_codeCódigo de resposta do autorizador.< 10 AN
authorizer_messageMensagem de resposta do autorizador.< 500 AN
acquirer_nameNome do roteamento. Ex.: Cielo< 256 AN
authorizer_idCódigo da autorizadora (utilizar este ID ao realizar o pagamento).< 3 N
is_customer_id_requiredIndica a obrigatoriedade da coleta do documento do cliente.< 5 T/F
is_expiry_date_requiredIndica a obrigatoriedade da coleta da data de validade do cartão do comprador.< 5 T/F
is_installment_funding_enabledIndica se o parcelamento está habilitado.< 5 T/F
is_security_code_requiredIndica a obrigatoriedade da coleta do código de segurança.< 5 T/F
is_spot_sale_enabledIndica se o pagamento à vista está habilitado.< 5 T/F
is_with_interest_sale_enabledIndica se o pagamento com juros está habilitado.< 5 T/F
is_without_interest_sale_enabledIndica se o pagamento sem juros está habilitado.< 5 T/F
max_installments_with_interestParcelamento máximo com juros.< 2 N
min_installments_with_interestParcelamento mínimo com juros.< 2 N
visa_checkout_dataObjeto com os dados retornados pela Visa Checkout.O
financing_plan_listObjeto que consiste em um array de planos de financiamento apresentados em roteamento Via Certa Financiadora. Um plano de financiamento consiste dos seguintes campos:
cod_plano: código de identificação do plano de financiamento, que deve ser enviado no momento da efetivação do pagamento;
tipo_plano: código do tipo do plano de financiamento;
desc_plano: descrição do plano, que pode ser apresentado ao comprador;
parc_plano: número máximo de parcelas possíveis para o plano.
O
is_customer_postal_code_requiredIndica a obrigatoriedade da coleta do código postal do usuário (CEP no Brasil).< 5 T/F
parValor do PAR retornado pela VISA caso o campo do_par_inquiry seja enviado com o valor true na requisição.< 32 AN
card.prefixes[] Este campo contém os prefixos (dados adicionais) retornados pelo SiTef.
keyNome do prefixo.< 1024 AN
valueValor do prefixo.< 1024 AN
details[] Este campo contém detalhamentos retornados pelo roteamento IPG
brandA bandeira do cartão. The card brand.< 1024 AN
brand_product_idID de produto da bandeira do cartão. The product ID of the brand.< 1024 AN
card_functionFunção do cartão. Card function.CREDIT,
DEBIT,
PREPAID,
VOUCHER,
UNDEFINED
commercialCardIndica se o cartao é corporativo ou nao-corporativo. Indicates whether it is a corporate or non-corporate card.CORPORATE,
NON_CORPORATE
issuer_countryO país da emissora do cartão. The country of the issuer.< 1024 AN
issuer_nameO nome da emissora do cartão. The name of the issuer.< 1024 AN

Roteamentos que permitem consulta de cartão.

Cód.RoteamentoPossui consulta de cartão
1004VisaNet via SiTef (rede:4)
1005Redecard via SiTef (rede:5)
1018Standby (Excard) via SiTef (rede:18)
1019Edmcard via SiTef (rede:19)
1021Vero via SiTef (rede:21)
1026CCCWeb (Master/Visa/Amex) via SiTef (rede:26)
1029Softway via SiTef (rede:29)
1030Multicheque via SiTef (rede:30)
70Ticket via SiTef (rede:41)
430Senff via SiTef (rede:43)
1045Coopercred via SiTef (rede:45)
1047Sorocred via SiTef (rede:47)
1051Hipercard via SiTef (rede:51)
1052Tricard via SiTef (rede:52)
1054Policard via SiTef (rede:54)
1057CCC (Master/Visa) via SiTef (rede:57)
1059Telenet via SiTef (rede:59)
1061Brasilcard via SiTef (rede:61)
1064CCC (Amex) via SiTef (rede:64)
1068Banese via SiTef (rede:68)
1072Bigcard via SiTef (rede:72)
1077Valecard via SiTef (rede:77)
1081Supercard via SiTef (rede:81)
1182GetNet via SiTef (rede:82)
1086Marisa via SiTef (rede:86)
1087Maxicred via SiTef (rede:87)
1089Expansiva via SiTef (rede:89)
1091Leader II via SiTef (rede:91)
1093Cetelem via SiTef (rede:93)
1094Cabal via SiTef (rede:94)
1095Credsystem via SiTef (rede:95)
1096BBVA via SiTef (rede:96)
1102Check Check (Smart Shop) via SiTef (rede:102)
1103Dacasa via SiTef (rede:103)
1104Bradesco Private Label via SiTef (rede:104)
1105Platinum (Credimais) via SiTef (rede:105)
1111Tredenexx via SiTef (rede:111)
1113Credishop via SiTef (rede:113)
1115IBI via SiTef (rede:115)
1118Oboe via SiTef (rede:118)
1121Hot Card via SiTef (rede:121)
1122PAN via SiTef (rede:122)
1125Cielo via SiTef (rede:125)
1127Marisa Cartao Presente via SiTef (rede:127)
1128Cooplife via SiTef (rede:128)
1129BOD via SiTef (rede:129)
1144Accredito (ACSP) via SiTef (rede:144)
1149Fidelidade Mais via SiTef (rede:149)
160Orbitall via SiTef (rede:160)
1161iCards via SiTef (rede:161)
1165Banco Ge (Tivit) via SiTef (rede:165)
1169Banescard via SiTef (rede:169)
1181GetNet Lac via SiTef (rede:181)
1187Sicredi - nao usar, usar o bin via SiTef (rede:187)
1192AVISTA via SiTef (rede:192)
1193Algorix via SiTef (rede:193)
1194Amex EMV via SiTef (rede:194)
1006Amex EMV via SiTef (rede:194)
1201SmartNet via SiTef (rede:201)
1203Peela via SiTef (rede:203)
1206GlobalPayments via SiTef (rede:206)
1207Elavon via SiTef (rede:207)
218Hug via SiTef (rede:218)
225Fidelity via SiTef (rede:225)
1229Bin via SiTef (rede:229)
1236Conductor via SiTef (rede:236)
1249Riachuelo PL via SiTef (rede:249)
1257Bradescard via SiTef (rede:257)
1265Stone via SiTef (rede:265)
1266DM Card via SiTef (rede:266)
1271CardSE via SiTef (rede:271)
1279Sodexo via SiTef (rede:279)
1280Kredilig via SiTef (rede:280)
1283ConductorDUP via SiTef (rede:283)
1296Safra via SiTef (rede:296)
1297Rede Ticket via SiTef (rede:297)
1303SiPag via SiTef (rede:303)
1309ADIQ via SiTef (rede:309)
1313Via Certa Financiadora via SiTef (rede:313)

Serviço de efetivação de pagamento com múltiplos meios de pagamento

Após consumir o serviço de criação de transação e obter um NIT, é possível prosseguir para a próxima etapa do fluxo: a chamada ao serviço de efetivação de pagamento.

Isso pode ser feito informando apenas um meio de pagamento (veja o documento "Serviço de efetivação de pagamento") ou 2 (dois) meios de pagamento.

Neste capítulo, trataremos dos pagamentos que são feitos com 2 (dois) meios de pagamento, o qual chamamos de Pagamento com múltiplos meios de pagamento.

Para usar esta funcionalidade, entre em contato com o nosso suporte e solicite a ativação da mesma em sua loja.

Fluxo

O fluxo de um pagamento com múltiplos meios de pagamento possui diferenças importantes quando o comparamos com o pagamento tradicional.

A primeira diferença é que temos duas transações para uma mesma chamada e cada uma delas é usada para efetuar o pagamento de um dos meios de pagamento informados. A primeira transação é criada na chamada de criação de transação no e-SiTef e a segunda transação é criada indiretamente na chamada de pagamento com múltiplos meios de pagamento.

A segunda diferença é que, por causa disso, alguns dados da primeira transação são modificados durante a efetivação do pagamento. Inicialmente, a primeira transação possui o valor total da compra, as parcelas e o tipo de financiamento próprios. Quando a chamada de pagamento com múltiplos pagamentos é feita, seu valor é alterado para ser igual ao do primeiro meio de pagamento e o mesmo ocorre com as parcelas e o tipo de financiamento, caso estes sejam informados na requisição. Já a segunda transação terá o valor, as parcelas e o tipo de financiamento informados pelo segundo meio de pagamento. Mas, no caso da segunda transação não informar dados de parcelamento e tipo de financiamento, ela herdará essas configurações da primeira transação original. A soma dos valores da primeira e da segunda transações deve ser igual ao valor informado na criação da primeira transação no e-SiTef.

A terceira diferença é que a resposta de múltiplos pagamentos é composta pelas respostas de cada uma das transações. Sendo assim, haverá situações em que a resposta de uma transação afetará a resposta da outra.

A seguir, iremos abordar os cenários previstos no e-SiTef com mais detalhes.

Fluxo de pagamento com confirmação automática

O fluxo de pagamento com confirmação automática nos pagamentos com múltiplos meios de pagamentos possui uma peculiaridade que é dividir o pagamento em 3 (três) etapas: atualização/inicialização das transações; pagamentos; confirmações.

Em caso de falha em qualquer uma das transações, o e-SiTef não prossegue para a etapa seguinte e faz tratamentos que serão explicados a seguir nos casos de falhas.

Caso de sucesso

Caso de falha no pagamento da primeira transação

Quando o primeiro pagamento falha, a segunda transação será cancelada e não será disparada para a Autorizadora. Uma ocorrência é gerada para a equipe de suporte do e-SiTef e o lojista, caso deseje, pode entrar em contato.

Exemplo de resposta
{
    "code": "1013",
    "message": "Error processing multiple payment methods",
    "payments": [
        {
            "authorizer_code": "014",
            "authorizer_message": "14 Cartao Inval.",
            "status": "NEG",
            "nit": "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
            "order_id": "1609964926966",
            "authorizer_id": "1",
            "acquirer_id": "5",
            "acquirer_name": "Redecard",
            "authorizer_date": "06/01/2021T17:28",
            "authorization_number": "080384",
            "merchant_usn": "16114726760",
            "esitef_usn": "210106064204400",
            "sitef_usn": "606060",
            "host_usn": "707070",
            "amount": "1254785",
            "payment_type": "C",
            "issuer": "1",
            "authorizer_merchant_id": "00000005",
            "terminal_id": "ES000036"
        },
        {
            "status": "CAN"
        }
    ]
}

Caso de falha no pagamento da segunda transação

Quando o segundo pagamento falha, a primeira transação será desfeita. Uma ocorrência é gerada para a equipe de suporte do e-SiTef e o lojista, caso deseje, pode entrar em contato.

Exemplo de resposta
{
    "code": "1013",
    "message": "Error processing multiple payment methods",
    "payments": [
        {
            "authorizer_code": "000",
            "authorizer_message": "Transacao Aprov.",
            "status": "PPN",
            "nit": "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
            "order_id": "25053142469",
            "customer_receipt":"====CUPOM COMPRADOR====",
            "merchant_receipt":"====CUPOM ESTABELECIMENTO====",
            "authorizer_id": "1",
            "acquirer_id": "5",
            "acquirer_name": "Redecard",
            "authorizer_date": "25/03/2020T17:31",
            "authorization_number": "252490",
            "merchant_usn": "25053142469",
            "esitef_usn": "200325048537130",
            "sitef_usn": "252490",
            "host_usn": "999252490   ",
            "amount": "100",
            "payment_type": "C",
            "issuer": "1",
            "authorizer_merchant_id": "000000000000005",
            "payment_date": "25/03/2020T17:31"
        },
        {
            "authorizer_code": "255",
            "authorizer_message": "(2)Cartao invalido",
            "status": "NEG",
            "nit": "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
            "order_id": "25053142469",
            "authorizer_id": "2",
            "acquirer_name": "REDE",
            "merchant_usn": "25053142469",
            "esitef_usn": "200325048537140"
        }
    ]
}

Caso de falha na confirmação da primeira transação

Quando a primeira confirmação falha, a segunda transação será desfeita. Uma ocorrência é gerada para a equipe de suporte do e-SiTef e o lojista, caso deseje, pode entrar em contato.

Exemplo de resposta
{
    "code": "1013",
    "message": "Error processing multiple payment methods",
    "payments": [
        {
            "authorizer_code": "200",
            "authorizer_message": "Success. [Cód.: 00]",
            "status": "PEN",
            "nit": "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
            "order_id": "1609965604696",
            "customer_receipt":"====CUPOM COMPRADOR====",
            "merchant_receipt":"====CUPOM ESTABELECIMENTO====",
            "authorizer_id": "2",
            "acquirer_id": "202",
            "acquirer_name": "e.Rede REST",
            "authorizer_date": "06/01/2021T17:40",
            "authorization_number": "177013",
            "merchant_usn": "16114726760",
            "esitef_usn": "210106064204470",
            "host_usn": "304123216",
            "tid": "210106064204470",
            "amount": "47",
            "payment_type": "C",
            "payment_date": "06/01/2021T17:40"
        },
        {
            "authorizer_code": "200",
            "authorizer_message": "Success. [Cód.: 00]",
            "status": "PPN",
            "nit": "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
            "order_id": "1609965604696",
            "customer_receipt":"====CUPOM COMPRADOR====",
            "merchant_receipt":"====CUPOM ESTABELECIMENTO====",
            "authorizer_id": "2",
            "acquirer_id": "202",
            "acquirer_name": "e.Rede REST",
            "authorizer_date": "06/01/2021T17:40",
            "authorization_number": "962291",
            "merchant_usn": "16114726760",
            "esitef_usn": "210106064204480",
            "host_usn": "487097429",
            "tid": "210106064204480",
            "amount": "510",
            "payment_type": "C",
            "payment_date": "06/01/2021T17:40"
        }
    ]
}

Caso de falha na confirmação da segunda transação

Quando a segunda confirmação falha, a primeira transação já está confirmada e o cancelamento, caso seja desejado, deve ser feito manualmente, seja usando o cancelamento REST ou o Portal do Lojista. Uma ocorrência é gerada para a equipe de suporte do e-SiTef e o lojista, caso deseje, pode entrar em contato.

Exemplo de resposta
{
    "code": "1013",
    "message": "Error processing multiple payment methods",
    "payments": [
        {
            "authorizer_code": "200",
            "authorizer_message": "Function performed error-free [Cód.: 00]",
            "status": "CON",
            "nit": "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
            "order_id": "20030404545",
            "customer_receipt":"====CUPOM COMPRADOR====",
            "merchant_receipt":"====CUPOM ESTABELECIMENTO====",
            "authorizer_id": "2",
            "acquirer_id": "414",
            "acquirer_name": "IPG",
            "authorizer_date": "25/03/2020T17:48",
            "authorization_number": "488040",
            "merchant_usn": "20030404545",
            "esitef_usn": "200325048537190",
            "host_usn": "572994560",
            "tid": "SIM64194442",
            "amount": "102",
            "payment_type": "C",
            "payment_date": "25/03/2020T17:48"
        },
        {
            "authorizer_code": "200",
            "authorizer_message": "Function performed error-free [Cód.: 00]",
            "status": "PEN",
            "nit": "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
            "order_id": "20030404545",
            "customer_receipt":"====CUPOM COMPRADOR====",
            "merchant_receipt":"====CUPOM ESTABELECIMENTO====",
            "authorizer_id": "2",
            "acquirer_id": "414",
            "acquirer_name": "IPG",
            "authorizer_date": "25/03/2020T17:48",
            "authorization_number": "454463",
            "merchant_usn": "20030404545",
            "esitef_usn": "200325048537200",
            "host_usn": "108829897",
            "tid": "SIM45823552",
            "amount": "103",
            "payment_type": "C",
            "payment_date": "25/03/2020T17:48"
        }
    ]
}

Fluxo de pagamento com confirmação tardia

O fluxo de pagamento com confirmação tardia nos pagamentos com múltiplos meios de pagamentos possui uma peculiaridade que é dividir o pagamento em 2 (duas) fases: atualização/inicialização das transações; pagamentos.

Em caso de falha em qualquer uma das transações, o e-SiTef não prossegue para a etapa seguinte e faz tratamentos que serão explicados a seguir nos casos de falhas.

Caso de sucesso

Caso de falha no pagamento da primeira transação

Quando o primeiro pagamento falha, a segunda transação será cancelada e não será disparada para a Autorizadora.

Exemplo de resposta
{
    "code": "1013",
    "message": "Error processing multiple payment methods",
    "payments": [
        {
            "authorizer_code": "19",
            "authorizer_message": "19 Refaca Trans.",
            "status": "NEG",
            "nit": "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
            "order_id": "25052428543",
            "authorizer_id": "1",
            "acquirer_id": "5",
            "acquirer_name": "Redecard",
            "authorizer_date": "25/03/2020T17:24",
            "authorization_number": "080384",
            "merchant_usn": "25052428543",
            "esitef_usn": "200325048537090",
            "sitef_usn": "606060",
            "host_usn": "707070",
            "amount": "1254784",
            "payment_type": "C",
            "issuer": "1",
            "authorizer_merchant_id": "00000005"
        },
        {
            "status": "CAN"
        }
    ]
}

Caso de falha no pagamento da segunda transação

Quando o segundo pagamento falha, a primeira transação será desfeita.

Exemplo de resposta
{
    "code": "1013",
    "message": "Error processing multiple payment methods",
    "payments": [
        {
            "authorizer_code": "000",
            "authorizer_message": "Transacao Aprov.",
            "status": "PPN",
            "nit": "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
            "order_id": "25053142469",
            "customer_receipt":"====CUPOM COMPRADOR====",
            "merchant_receipt":"====CUPOM ESTABELECIMENTO====",
            "authorizer_id": "1",
            "acquirer_id": "5",
            "acquirer_name": "Redecard",
            "authorizer_date": "25/03/2020T17:31",
            "authorization_number": "252490",
            "merchant_usn": "25053142469",
            "esitef_usn": "200325048537130",
            "sitef_usn": "252490",
            "host_usn": "999252490   ",
            "amount": "100",
            "payment_type": "C",
            "issuer": "1",
            "authorizer_merchant_id": "000000000000005",
            "payment_date": "25/03/2020T17:31"
        },
        {
            "authorizer_code": "255",
            "authorizer_message": "(2)Cartao invalido",
            "status": "NEG",
            "nit": "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
            "order_id": "25053142469",
            "authorizer_id": "2",
            "acquirer_name": "REDE",
            "merchant_usn": "25053142469",
            "esitef_usn": "200325048537140"
        }
    ]
}

Detalhes da chamada

  • Recurso: /v1/payments/multiple/{nit}
  • Método HTTP: POST
  • Formato da requisição: JSON
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.< 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM
Content-TypeDeve ser enviado com o valor application/json.= 15 ANSIM

Exemplos

Abaixo estão alguns exemplos de chamada do serviço de efetivação de pagamento utilizando a ferramenta cURL.

Pagamento

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/multiple/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
    "multiple_payment_methods": [
        {
            "number": "45518201234512345",
            "expiry_date": "1222",
            "security_code": "123",
            "authorizer_id": "218",
            "installments": "1",
            "installment_type": "4",
            "amount": "512"
        },
        {
            "number": "45518201234512345",
            "expiry_date": "1222",
            "security_code": "123",
            "authorizer_id": "218",
            "installments": "1",
            "installment_type": "4",
            "amount": "510"
        }
    ]
}
--verbose

Resposta:

{
    "code": "0",
    "message": "OK. Transaction successful.",
    "payments": [
        {
            "authorizer_code": "000",
            "authorizer_message": "Transacao Aprov.",
            "status": "PPC",
            "nit": "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
            "order_id": "20125445982",
            "customer_receipt":"====CUPOM COMPRADOR====",
            "merchant_receipt":"====CUPOM ESTABELECIMENTO====",
            "authorizer_id": "1",
            "acquirer_id": "5",
            "acquirer_name": "Redecard",
            "authorizer_date": "20/03/2020T14:32",
            "authorization_number": "202650",
            "merchant_usn": "16013439434",
            "esitef_usn": "200320048363850",
            "sitef_usn": "202650",
            "host_usn": "999202650   ",
            "amount": "512",
            "payment_type": "C",
            "issuer": "1",
            "authorizer_merchant_id": "000000000000005",
            "payment_date": "20/03/2020T14:32"
        },
        {
            "authorizer_code": "000",
            "authorizer_message": "Transacao Aprov.",
            "status": "PPC",
            "nit": "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
            "order_id": "20125445982",
            "customer_receipt":"====CUPOM COMPRADOR====",
            "merchant_receipt":"====CUPOM ESTABELECIMENTO====",
            "authorizer_id": "2",
            "acquirer_id": "5",
            "acquirer_name": "Redecard",
            "authorizer_date": "20/03/2020T14:32",
            "authorization_number": "202651",
            "merchant_usn": "16013439434",
            "esitef_usn": "200320048363860",
            "sitef_usn": "202651",
            "host_usn": "999202651   ",
            "amount": "510",
            "payment_type": "C",
            "issuer": "2",
            "authorizer_merchant_id": "000000000000005",
            "payment_date": "20/03/2020T14:32"
        }
    ]
}

Pagamento com cartão armazenado

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
    "multiple_payment_methods": [
        {
            "token": "g16hJtpdU6XEN3FP-ApQ9pKTGII5Fa9Y12tRX-qfyC-+BUCV5OaFn807zwwOR6rDtKoRnIJg0QbikaJqJqosyQ==",
            "authorizer_id": "1",
            "installments": "1",
            "installment_type": "4",
            "amount": "512",
            "security_code": "123"
        },
        {
            "token": "g16hJtpdU6XEN3FP-ApQ9pKTGII5Fa9Y12tRX-qfyC-+BUCV5OaFn807zwwOR6rDtKoRnIJg0QbikaJqJqosyQ==",
            "authorizer_id": "2",
            "installments": "1",
            "installment_type": "3",
            "amount": "510",
            "security_code": "321"
        }
    ]
}
--verbose

Resposta:

{
    "code": "0",
    "message": "OK. Transaction successful.",
    "payments": [
        {
            "authorizer_code": "000",
            "authorizer_message": "Transacao Aprov.",
            "status": "PPC",
            "nit": "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
            "order_id": "20125445982",
            "customer_receipt":"====CUPOM COMPRADOR====",
            "merchant_receipt":"====CUPOM ESTABELECIMENTO====",
            "authorizer_id": "1",
            "acquirer_id": "5",
            "acquirer_name": "Redecard",
            "authorizer_date": "20/03/2020T14:32",
            "authorization_number": "202650",
            "merchant_usn": "16013439434",
            "esitef_usn": "200320048363850",
            "sitef_usn": "202650",
            "host_usn": "999202650   ",
            "amount": "512",
            "payment_type": "C",
            "issuer": "1",
            "authorizer_merchant_id": "000000000000005",
            "payment_date": "20/03/2020T14:32"
        },
        {
            "authorizer_code": "000",
            "authorizer_message": "Transacao Aprov.",
            "status": "PPC",
            "nit": "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
            "order_id": "20125445982",
            "customer_receipt":"====CUPOM COMPRADOR====",
            "merchant_receipt":"====CUPOM ESTABELECIMENTO====",
            "authorizer_id": "2",
            "acquirer_id": "5",
            "acquirer_name": "Redecard",
            "authorizer_date": "20/03/2020T14:32",
            "authorization_number": "202651",
            "merchant_usn": "16013439434",
            "esitef_usn": "200320048363860",
            "sitef_usn": "202651",
            "host_usn": "999202651   ",
            "amount": "510",
            "payment_type": "C",
            "issuer": "2",
            "authorizer_merchant_id": "000000000000005",
            "payment_date": "20/03/2020T14:32"
        }
    ]
}

Parâmetros de requisição

Na tabela abaixo está a descrição dos parâmetros de requisição do serviço de efetivação de pagamento com múltiplos meios de pagamento:

ParâmetroDescriçãoFormatoObrigatório
multiple_payment_methods[] Consiste em um array para pagamentos com múltiplos meios de pagamento em que cada item representa um meio de pagamento. Devem ser informados exatamente 2 (dois) itens, os quais são compostos pelos campos descritos abaixo.
authorizer_idCódigo da autorizadora no e-SiTef. Saiba mais.
Caso este campo não tenha sido enviado na etapa de criação da transação, ele passa a ser obrigatório ao consumir o serviço de efetivação do pagamento.
< 3 NSIM
installmentsNúmero de parcelas. Caso não seja informado, será usado o valor passado na inicialização da transação no e-SiTef.< 2 NNÃO
installment_typeTipo de financiamento. Caso não seja informado, será usado o valor passado na inicialização da transação no e-SiTef.< 2 NNÃO
amountValor da compra especificado pela loja para este meio de pagamento (em centavos).< 12 NSIM
numberNúmero do cartão do comprador (PAN).< 19 NSIM
expiry_dateData de vencimento do cartão no formato MMAA. Sua obrigatoriedade depende do adquirente escolhido. Na maioria dos casos, esse campo é obrigatório.= 4 NCOND.
tokenHASH de um cartão armazenado no e-SiTef. Não é permitido enviar um número de cartão aberto (campo number) e um cartão armazenado (campo token) na mesma requisição.= 88 ANNÃO
security_codeCódigo de segurança. Este campo pode não ser obrigatório se a empresa possuir um acordo no contrato firmado com as redes adquirentes, somente para o pagamento de determinados seguimentos.
Importante: um pagamento com agendamento implica no armazenamento dos dados do cartão do comprador no ambiente do e-SiTef. Porém, por questões de segurança, o código de segurança não pode ser armazenado. Por isso, os pagamentos agendados sempre serão executados sem o envio do código de segurança.
< 5 NCOND.

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 201. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de efetivação de pagamento:

ParâmetroDescriçãoFormato
codeCódigo de resposta do e-SiTef para a operação de múltiplos meios de pagamento. Qualquer código diferente de 0 significa falha. Saiba mais.< 4 N
messageMensagem de resposta do e-SiTef para a operação de múltiplos meios de pagamento.< 500 AN
payments[] Consiste em um array para pagamentos com múltiplos meios de pagamento no qual cada item representa a resposta correspondente a um dos meios de pagamentos. Os itens são compostos pelos campos descritos abaixo.
codeCódigo de resposta do e-SiTef para a operação de pagamento de um dos meios de pagamento. Qualquer código diferente de 0 significa falha. Saiba mais.< 4 N
messageMensagem de resposta do e-SiTef para a operação de pagamento de um dos meios de pagamento.< 500 AN
authorizer_codeCódigo de resposta do autorizador.< 10 AN
authorizer_messageMensagem de resposta do autorizador.< 500 AN
statusStatus da transação de pagamento no e-SiTef. Saiba mais.= 3 AN
nitIdentificador da transação de pagamento no e-SiTef.= 64 AN
order_idCódigo de pedido enviado pela loja na criação da transação.< 20 AN
merchant_usnNúmero sequencial único enviado pela loja na criação da transação.< 12 N
amountValor da compra especificado pela loja para este meio de pagamento (em centavos).< 12 N
sitef_usnNúmero sequencial único da transação de pagamento no SiTef.= 6 N
esitef_usnNúmero sequencial único da transação de pagamento no e-SiTef.= 15 N
customer_receiptCupom (via cliente).< 4000 AN
merchant_receiptCupom (via estabelecimento).< 4000 AN
authorizer_idCódigo da autorizadora utilizada na transação.< 4 N
acquirer_idCódigo do adquirente utilizado na transação.< 4 N
acquirer_nameNome do adquirente utilizado na transação.< 100 AN
authorizer_dateData de efetivação do pagamento retornada pelo autorizador no formato DD/MM/AAAA'T'HH:mm. Exemplo: 13/07/2017T16:03= 16 D
authorization_numberNúmero de autorização.< 6 AN
host_usnNSU da autorizadora.< 15 AN
tidID da transação no adquirente. Este campo só é retornado em transações com adquirentes externos ao SiTef.< 40 AN
eciEletronic Commerce Indicator (indicador do nível de segurança da transação do pagamento via Cielo e-Commerce).< 3 AN
payment_dateData de efetivação do pagamento no e-SiTef no formato DD/MM/AAAA'T'HH:mm. Exemplo: 13/07/2017T16:03= 16 D
issuerCódigo da bandeira retornado pelo autorizador.< 5 AN
authorizer_merchant_idCódigo de afiliação do lojista na autorizadora.< 100 AN
xidCampo XID retornado em autenticações 3DS ou certos adquirentes.< 40 AN
authentication_urlURL de autenticação retornada em fluxos de pagamento com autenticação. Disponível apenas para Cielo e-Commerce.< 56 AN
balanceSaldo disponível após pagamentos com cartões tipo Gift.< 12 N
payment.analysis
codeCódigo de resposta da operação de análise de fraude.< 4 N
messageMensagem de resposta da operação de análise de fraude.< 200 AN
statusStatus da transação de análise de fraude do e-SiTef. Este campo pode assumir os seguintes valores:
NOV – Nova.
EXP – Expirada.
ACC – Aceita
REJ – Rejeitada
REV – Em revisão
INV – Inválida
= 3 AN

Serviço de confirmação de pagamento com múltiplos meios de pagamento

Após criar e efetuar um pagamento com múltiplos meios de pagamento pendente de confirmação, o lojista deve chamar o serviço de confirmação com múltiplos meios de pagamento para confirmá-lo ou desfazê-lo utilizando o mesmo NIT obtido na primeira etapa do fluxo (ou seja, o NIT da primeira transação).

Fluxo

O fluxo de confirmação de pagamento com múltiplos meios de pagamento difere da confirmação normal por duas razões.

A primeira razão é que temos duas transações para uma mesma chamada e cada uma delas é usada para efetuar a confirmação de um dos meios de pagamento informados.

A segunda razão é que a resposta da confirmação de múltiplos pagamentos é composta pelas respostas de cada uma das transações. Sendo assim, haverá situações em que a resposta de uma transação afetará a resposta da outra.

A seguir, iremos abordar os cenários previstos no e-SiTef com mais detalhes.

Caso de sucesso

Caso de falha na confirmação da primeira transação

Quando a primeira confirmação falha, a segunda transação será desfeita. Uma ocorrência é gerada para a equipe de suporte do e-SiTef e o lojista, caso deseje, pode entrar em contato.

Exemplo de resposta

{
    "code": "255",
    "message": "Transaction Denied",
    "confirmations": [
        {
            "code": "259",
            "message": "Denied transaction",
            "payment": {
                "authorizer_code": "409",
                "authorizer_message": "Brand / card type is invalid or not supported [Cód.: 5996]",
                "status": "PPC",
                "acquirer_id": "414"
            }
        },
        {
            "code": "0",
            "message": "OK. Transaction successful.",
            "payment": {
                "authorizer_code": "200",
                "authorizer_message": "Function performed error-free [Cód.: 00]",
                "status": "PPN",
                "acquirer_id": "414"
            }
        }
    ]
}

Caso de falha na confirmação da segunda transação

Quando a segunda confirmação falha, a primeira transação já está confirmada e o cancelamento, caso seja desejado, deve ser feito manualmente, seja usando o cancelamento REST ou o Portal do Lojista. Uma ocorrência é gerada para a equipe de suporte do e-SiTef e o lojista, caso deseje, pode entrar em contato.

Exemplo de resposta

{
    "code": "255",
    "message": "Transaction Denied",
    "confirmations": [
        {
            "code": "0",
            "message": "OK. Transaction successful.",
            "payment": {
                "authorizer_code": "200",
                "authorizer_message": "Function performed error-free [Cód.: 00]",
                "status": "CON",
                "acquirer_id": "414"
            }
        },
        {
            "code": "259",
            "message": "Denied transaction",
            "payment": {
                "authorizer_code": "409",
                "authorizer_message": "Brand / card type is invalid or not supported [Cód.: 5996]",
                "status": "PPC",
                "acquirer_id": "414"
            }
        }
    ]
}

Detalhes da chamada

  • Recurso: /v1/payments/multiple/{nit}
  • Método HTTP: PUT
  • Formato da requisição: query string
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.< 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM

Exemplos

Abaixo está um exemplo de chamada do serviço de confirmação de pagamento utilizando a ferramenta cURL.

Requisição:

curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/multiple/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr?confirm=true"
--header "merchant_id:xxxxxxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--verbose

Resposta:

{
    "code": "0",
    "message": "OK. Transaction successful.",
    "confirmations": [
        {
            "code": "0",
            "message": "OK. Transaction successful.",
            "payment": {
                "authorizer_code": "130",
                "status": "CON",
                "acquirer_id": "5"
            }
        },
        {
            "code": "0",
            "message": "OK. Transaction successful.",
            "payment": {
                "authorizer_code": "130",
                "status": "CON",
                "acquirer_id": "5"
            }
        }
    ]
}

Parâmetros de requisição

Na tabela abaixo está a descrição dos parâmetros de requisição do serviço de confirmação de pagamento com múltiplos meios de pagamento:

ParâmetroDescriçãoFormatoObrigatório
confirmEste campo deve ser enviado com o valor true caso se deseje confirmar a transação, ou false, caso queira desfazer o pagamento.< 5 T/FSIM

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 200. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de confirmação de pagamento:

ParâmetroDescriçãoFormato
codeCódigo de resposta do e-SiTef para a operação de múltiplos meios de pagamento. Qualquer código diferente de 0 significa falha. Saiba mais.< 4 N
messageMensagem de resposta do e-SiTef.< 500 AN
confirmations[]
codeCódigo de resposta do e-SiTef para a operação de confirmação de um dos meios de pagamento. Qualquer código diferente de 0 significa falha. Saiba mais.< 4 N
messageMensagem de resposta do e-SiTef.< 500 AN
payment
statusStatus da transação de pagamento no e-SiTef. Saiba mais.= 3 AN
authorizer_codeCódigo de resposta do autorizador. Em caso de repetição da confirmação ou do desfazimento, este campo não é devolvido.< 10 AN
authorizer_messageMensagem de resposta do autorizador. Em caso de repetição da confirmação ou do desfazimento, este campo não é devolvido.< 500 AN
acquirer_idCódigo do adquirente utilizado na transação. Em caso de repetição da confirmação ou do desfazimento, este campo não é devolvido.< 4 N

Serviço de confirmação de pagamento de origem externa

Introdução

A funcionalidade de confirmação de pagamento de origem externa permite que uma transação de pagamento criada fora do e-SiTef possa ser confirmada dentro do e-SiTef.

Atualmente esta funcionalidade permite somente a confirmação de transações de pagamento realizadas no SiTef.

Esta operação se divide em duas etapas:

  1. A criação de uma transação do tipo "Confirmação" que represente a transação real de pagamento criada externamente
  2. A confirmação propriamente dita do pagamento dessa transação

Caso de sucesso

O fluxo abaixo ilustra o caminho feliz, onde a transação é iniciada e, em seguida, a confirmação já é enviada.

Criação da confirmação de pagamento de origem externa

Detalhes da Chamada

  • Recurso: /v1/transactions
  • Método HTTP: POST
  • Formato da requisição: JSON
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.< 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM
Content-TypeDeve ser enviado com o valor application/json.= 15 ANSIM

Exemplo

Requisição:

curl --location --request POST 'https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions' 
--header 'merchant_id: xxxxxxxxxxxxxxxxxx' 
--header 'merchant_key: xxxxxxxxxxxxxxxxxx' 
--header 'Content-Type: application/json' 
--data-raw '{
    "merchant_usn": "21042858195",
    "order_id": "1621949459257",
    "amount": "300",
    "transaction_type": "confirmation",
    "is_transaction_origin_external": "true"
}'
--verbose

Resposta:

{
    "code": "0",
    "message": "OK. Transaction successful.",
    "confirmation": {
        "status": "PPC",
        "nit": "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
        "order_id": "1621949459257",
        "merchant_usn": "21042858195",
        "amount": "300"
    }
}

Parâmetros da requisição

A tabela abaixo mostra os campos para a criação transação de confirmação de pagamento de origem externa.

Nome do ParâmetroDescriçãoTamanhoObrigatório
amountValor total da compra (em centavos). Exemplo: 1,00 = 100 ou 1.100,00 = 110000 – enviar o valor sem a vírgula e ponto< 12NSIM
merchant_usnNúmero sequencial único para cada pedido, criado pela loja.
O NSU será utilizado em toda a comunicação com a loja, de forma a identificar o pedido. Como se trata de uma possível chave para acesso do lado da loja, apesar de ser opcional para o e-SiTef, é fortemente recomendado que o campo seja formatado e enviado pela aplicação da loja.
< 12 NNÃO
order_idCódigo do pedido para ser exibido ao comprador, definido pelo lojista. É aconselhável que seja diferente a cada pedido para que facilite a rastreabilidade.
Se a integração da Loja com as redes adquirentes/roteamentos (Cielo, Redecard, etc) for via SiTef (TEF), o campo orderId que tem o tamanho máximo de 40 caracteres, será reduzido a 12 caracteres, devido a uma restrição do SiTef. Essa redução será realizada mantendo os caracteres da esquerda para direita (ex.: se um código de pedido inserido for 12345678901234567890 no e-SiTef, no SiTef ele será apenas 123456789012).
< 40 ANNÃO
transaction_typeConstante fixa e obrigatória para o tipo de transação de confirmação de pagamento de origem externa. Valor = confirmation< 15 NSIM
is_transaction_origin_externalConstante fixa e obrigatória para o tipo de transação de confirmação de pagamento de origem externa. Valor = true< 5 T/FSIM

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 201. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de criação de transações:

ParâmetroDescriçãoFormato
codeCódigo de resposta do e-SiTef. Qualquer código diferente de 0 significa falha. Saiba mais.< 4 N
messageMensagem de resposta do e-SiTef.< 500 AN
payment
statusStatus da transação de pagamento no e-SiTef. Saiba mais.= 3 AN
nitIdentificador da transação de pagamento no e-SiTef.= 64 AN
order_idCódigo de pedido enviado pela loja na criação da transação.< 40 AN
merchant_usnNúmero sequencial único enviado pela loja na criação da transação.< 12 N
amountValor da compra especificado pela loja (em centavos) na criação da transação.< 12 N

Efetivação da confirmação de pagamento de origem externa

Detalhes da chamada

  • Recurso: /v1/payments/{nit}
  • Método HTTP: PUT
  • Formato da requisição: JSON e query string
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.< 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM
Content-TypeDeve ser enviado com o valor application/json.= 15 ANSIM

Exemplo

Requisição:

curl --location --request PUT 'https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/bacd62eb62c27f4bf2eae9cef74c93a02e831985eccb6de371628fd272ee5474?confirm=true'
--header 'merchant_id: xxxxxxxxxxxxxx'
--header 'merchant_key: xxxxxxxxxxxxx'
--header 'Content-Type: application/json' 
--data-raw '{
    "authorizer_id": "1",
    "installments": "1",
    "installment_type": "4",
    "confirmation_data": "123456789012",
    "acquirer": {
        "route_id": "5", 
        "authorization_number": "212991",
        "identification_number": "11111111111",
        "order_id": "1621949459257",
        "authorizer_date": "21/05/2021",
        "host_usn": "000212991   ",
        "terminal": "HA000006",
        "company_code": "00000000"
    }
}'
--verbose

Resposta:

{
    "code": "0",
    "message": "OK. Transaction successful.",
    "payment": {
        "authorizer_code": "130",
        "status": "CON",
        "acquirer_id": "5",
        "host_usn": "000212991   "
    }
}

Parâmetros na requisição - query string

ParâmetroDescriçãoFormatoObrigatório
confirmEste campo deve ser enviado com o valor true caso se deseje confirmar o pagamento, ou false, caso queira desfazer o pagamento.< 5 T/FSIM

Parâmetros da requisição - JSON

ParâmetroDescriçãoFormatoObrigatório
amountValor total da compra (em centavos). Exemplo: 1,00 = 100 ou 1.100,00 = 110000 – enviar o valor sem a vírgula e ponto. Se não informado, assume o valor informado na criação da transação.< 12 NNÃO
authorizer_idCódigo da autorizadora no e-SiTef. Saiba mais.< 3 NSIM
installmentsNúmero de parcelas. Envie ‘1’ para transações à vista.< 2 NNÃO(*)
installment_typeTipo de financiamento do parcelamento:
valor 3 = parcelamento com juros da administradora do cartão.
valor 4 = parcelamento realizado pela loja e sem juros (adotar este valor como padrão/default para transações à vista).
Valor 6 = parcelamento com juros da administradora (IATA).
valor 7 = parcelamento realizado pela loja e sem juros (IATA).
O parcelamento IATA é utilizado somente por empresas do seguimento de transporte aéreo.
< 2 NNÃO(*)
confirmation_dataInformação de pagamento devolvida pelo SiTef ao se efetivar um pagamento. Este parâmetro é fundamental para o sucesso da confirmação. Ele é usada pelo SiTef para identificar o pagamento.< 128 ANSIM
acquirer
route_idInformação do roteamento utilizado para o pagamento efetuado fora do e-SiTef. Este parâmetro é fundamental para o sucesso da confirmação. Esta informação é utilizada para identificar o roteamento no SiTef.< 5 NSIM
order_idCódigo de pedido enviado pela loja na criação da transação.< 40 ANNÃO(*)
host_usnNSU do host/autorizadora da transação a ser confirmada.= 9 NNÃO(*)
authorization_numberNúmero de autorização da transação a ser confirmada.< 6 NNÃO(*)
authorizer_dateData de efetivação SiTef do pagamento no formato DD/MM/AAAA.= 10 DNÃO(*)
order_idCódigo do pedido usado no pagamento iniciado externamente ao e-SiTef.< 40 ANNÃO(*)
identification_numberCPF ou CNPJ usado no pagamento iniciada externamente ao e-SiTef.< 20 ANNÃO(*)
terminalTerminal SiTef que se deseja usar. Se NÃO for enviado, o e-SiTef gerará um terminal aleatório.= 14 NNÃO(*)
company_codeCódigo de empresa SiTef que se deseja usar. Se não for enviado, o e-SiTef enviará o código de empresa cadastrado na loja.= 8 NNÃO(*)

Nota: Os campos assinalados com NÃO(*) são opcionais e, se informados, não terão como ser consistidos pelo e-SiTef, pois, na operação de confirmação eles não são enviados para o SiTef. Estes campos, se informados, serão gravados na transação para fins de registro apenas.

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 200. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de confirmação de pagamento:

ParâmetroDescriçãoFormato
codeCódigo de resposta do e-SiTef. Qualquer código diferente de 0 significa falha. Saiba mais.< 4 N
messageMensagem de resposta do e-SiTef.< 500 AN
payment
statusStatus da transação de pagamento no e-SiTef. Saiba mais.= 3 AN
payment_dateData de efetivação do pagamento no e-SiTef no formato DD/MM/AAAA'T'HH:mm. Exemplo: 13/07/2017T16:03= 16 D
host_usnNSU da autorizadora.< 15 AN

Armazenamento de cartão REST

Visão Geral

O e-SiTef permite o armazenamento de cartões de crédito ou voucher para uso posterior em pagamentos, estornos ou pré-autorizações sem a necessidade de requisitar novamente os dados do cartão para o comprador. Porém, é importante notar que o código de segurança não é armazenado.

Como resultado dessa operação, a loja receberá um token, que deve ser utilizado no lugar do cartão do comprador para realizar as transações com o e-SiTef.

Em caso de erros de comunicação, a loja deve realizar a mesma chamada novamente.

Os tokens de cartões armazenados vencidos são removidos após 1 ano. Exemplo: um cartão vencido em fev/2020 será removido em fev/2021.

Detalhes da chamada

  • Recurso: /v1/cards
  • Método HTTP: POST
  • Formato da requisição: JSON
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.< 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM
Content-TypeDeve ser enviado com o valor application/json.= 15 ANSIM

Fluxo

Exemplos

Abaixo estão alguns exemplos de chamada do serviço de armazenamento de cartão utilizando a ferramenta cURL.

Armazenamento de cartão

Requisição:

Cartão
Carteira Digital
curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/cards"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"card":{
"expiry_date":"1222",
"number":"5555555555555555",
},
"authorizer_id":"2",
"merchant_usn":"16013439434",
"customer_id":"11122211122"
}
--verbose
curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/cards"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"card":{
"wallet_transaction_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=="
},
"authorizer_id":"2",
"merchant_usn":"16013439434",
"customer_id":"11122211122"
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "card":{
      "token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==",
      "suffix":"5555"
   },
   "store":{
      "status":"CON",
      "nsua":"18051600000560A",
      "nita":"xxxxxxxxxxxxxxxxxxx",
      "merchant_usn":"16013439434",
      "customer_id":"11122211122",
      "authorizer_id":"2"
   }
}

Parâmetros de requisição

Na tabela abaixo está a descrição dos parâmetros de requisição do serviço de armazenamento de cartão:

ParâmetroDescriçãoFormatoObrigatório
authorizer_idCódigo da autorizadora no e-SiTef. Saiba mais.< 3 NSIM
merchant_usnNúmero sequencial único para cada pedido, criado pela loja.< 12 NSIM
customer_idIdentificação do comprador para armazenamento de cartão. Esta identificação deve ser única para cada usuário da loja. Mas atenção, essa garantia de unicidade é de total responsabilidade da loja, o e-SiTef não realizará nenhuma validação.< 20 ANSIM
card
numberNúmero do cartão do comprador (PAN). Não deve ser informado junto com o identificador da carteira.< 19 NCOND.
expiry_dateData de vencimento do cartão no formato MMAA. Sua obrigatoriedade depende do adquirente escolhido. Na maioria dos casos, esse campo é obrigatório.= 4 NCOND.
wallet_transaction_idIdentificador gerado pela carteira digital. Atualmente somente suportado para a Google Pay.< 2048 ANCOND.

Atenção: os campos card.number e card.wallet_transaction_id não devem ser definidos ao mesmo tempo na mesma requisição.

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 201. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de armazenamento de cartão:

ParâmetroDescriçãoFormato
codeCódigo de resposta do e-SiTef. Qualquer código diferente de 0(zero) significa falha. Saiba mais.< 4 N
messageMensagem de resposta do e-SiTef.< 500 AN
store
statusStatus da transação de armazenamento no e-SiTef. Saiba mais.= 3 AN
nsuaNúmero sequencial único da transação de armazenamento no e-SiTef.= 15 AN
nitaIdentificação do armazenado no e-SiTef.= 64 AN
merchant_usnNúmero sequencial único enviado pela loja.< 12 N
customer_idIdentificação do comprador para armazenamento de cartão.< 20 AN
authorizer_idCódigo da autorizadora utilizada no armazenamento.< 3 N
card
tokenIdentificação do cartão armazenado. Este token deve ser utilizado no lugar do cartão do comprador para realização de transações com o e-SiTef.= 88 AN
suffixÚltimos 4 dígitos do cartão do comprador.= 4 AN

Cancelamento REST

Fluxo

O e-SiTef disponibiliza serviços para cancelamento (estorno) de um pagamento.

Por questões de segurança, este fluxo exige uma etapa de autenticidade, onde o e-SiTef faz um POST na URL de autenticidade cadastrada da loja com os dados necessários para dar continuidade ao fluxo e realizar o estorno de fato.

Descrição do fluxo:

  • 1. O lojista inicia um cancelamento passando o esitef_usn da transação desejada (campo retornado pelo e-SiTef após aprovar o pagamento). Em caso de sucesso, o e-SiTef retornará código e mensagem correspondentes.
    • 1.1. Durante a chamada de criação de estorno, o e-SiTef fará um POST na URL de autenticidade cadastrada da loja com o NIT da transação de cancelamento. A loja deve então responder a esse POST com um código HTTP 200 (OK). Caso esse código não seja devolvido, o e-SiTef interpretará como uma falha nessa operação e invalidará o NIT.
  • 2. A loja virtual prossegue o fluxo chamando o serviço de cancelamento, passando o NIT obtido no POST de autenticidade e dados adicionais que podem ser necessários dependendo da adquirente em questão (como o número do cartão, em caso de pagamentos via SiTef). Caso nenhum problema ocorra, o e-SiTef retornará uma mensagem de sucesso e os dados da transação de estorno.

Consulta dos cancelamentos

As informações das transações de cancelamento podem ser consultadas através do mesmo serviço utilizado pela interface de Pagamento REST. Saiba mais.

Quick start

Este guia mostra o processo de cancelamento de um pagamento, utilizando a interface web service REST do e-SiTef.

O que você precisará

  • esitef_usn de um pagamento confirmado no e-SiTef. Saiba mais.
  • Uma ferramenta capaz de realizar chamadas HTTP, como Postman, REST Client ou cURL
  • Uma aplicação capaz de receber chamadas POST HTTPS

Criando a transação de cancelamento

Tipo de requisição: POST

URL: https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/cancellations

Headers:

  • Content-Type: application/json
  • merchant_id: {seu código de loja}
  • merchant_key: {chave da sua loja}

Requisição: Preencha o campo <nsu_pagamento> na requisição abaixo com o esitef_usn obtido na resposta do pagamento.

JSON
cURL
{
"esitef_usn":"<nsu_pagamento>"
}
curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/cancellations"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"esitef_usn":"<nsu_pagamento>"
}
--verbose

Recebimento do POST de autenticidade:

Java + Spring Framework
@RestController
public class MyAuthenticityController {

@PostMapping(value = "/myauthenticity",
consumes = "application/x-www-form-urlencoded; charset=utf-8")
public ResponseEntity<String> myAuthenticity(@RequestParam Map<String, String> request) {
Log.info("nit = " + request.get("nit"));
// ...
// armazena o NIT do cancelamento
// ...
return new ResponseEntity<>("OK", HttpStatus.OK);
}

}

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful."
}

Saiba mais sobre esse serviço.

Cancelando o pagamento

Tipo de requisição: PUT

URL: https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/cancellations/<nit>

Preencha o campo <nit> na URL acima com o NIT obtido no POST de autenticidade.

Headers:

  • Content-Type: application/json
  • merchant_id: {seu código de loja}
  • merchant_key: {chave da sua loja}

Requisição:

JSON
cURL
{
"card":{
"number":"5555555555555555",
"expiry_date":"1222",
"security_code":"601"
},
"amount":"1"
}
curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/cancellations/<nit>"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"card":{
"number":"5555555555555555",
"expiry_date":"1222",
"security_code":"601"
},
"amount":"1"
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "cancellation":{
      "authorizer_code":"000",
      "authorizer_message":"Transacao OK",
      "status":"CON",
      "nit":" <nit>",
      "order_id":"09062259711",
      "customer_receipt":"=== COMPROVANTE ===",
      "merchant_receipt":"=== COMPROVANTE ===",
      "authorizer_id":"2",
      "acquirer_id":"1005",
      "acquirer_name":"Redecard",
      "authorizer_date":"09/11/2017T18:23",
      "authorization_number":"092423",
      "merchant_usn":"9062259711",
      "esitef_usn":"171109108051261",
      "sitef_usn":"092424",
      "host_usn":"999092424   ",
      "amount":"1",
      "payment_type":"C",
      "issuer":"2",
      "authorizer_merchant_id":"000000000000005",
      "esitef_date":"09/11/2017T18:23",
      "is_host_cancel":"false"
   }
}

Saiba mais sobre esse serviço.

Verificando o estado do cancelamento

Tipo de requisição: GET

URL: https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions/<nit>

Preencha o campo <nit> na URL acima com o NIT obtido no POST de autenticidade.

Headers:

  • Content-Type: application/json
  • merchant_id: {seu código de loja}
  • merchant_key: {chave da sua loja}

Requisição:

cURL
curl
--request GET "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions/<nit>"
--header "merchant_id: xxxxxxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "cancellation":{
      "authorizer_code":"000",
      "authorizer_message":"Transacao OK",
      "status":"CON",
      "nit":" <nit>",
      "order_id":"09062259711",
      "customer_receipt":"=== COMPROVANTE ===",
      "merchant_receipt":"=== COMPROVANTE ===",
      "authorizer_id":"2",
      "acquirer_id":"1005",
      "acquirer_name":"Redecard",
      "authorizer_date":"09/11/2017T18:23",
      "authorization_number":"092423",
      "merchant_usn":"9062259711",
      "esitef_usn":"171109108051261",
      "sitef_usn":"092424",
      "host_usn":"999092424   ",
      "amount":"1",
      "payment_type":"C",
      "issuer":"2",
      "authorizer_merchant_id":"000000000000005",
      "esitef_date":"09/11/2017T18:23",
      "is_host_cancel":"false"
   }
}

Saiba mais sobre esse serviço.

Cancelamento via host

A funcionalidade de cancelamento via host consiste em efetuar a operação de estorno de uma transação mesmo que ela não conste nos registros do e-SiTef ou do SiTef. Por padrão, as transações são armazenadas por um período de seis meses no e-SiTef, sendo assim, cancelar uma transação efetuada em um período maior que seis meses exigirá um cancelamento via host. Porém, este prazo de seis meses pode ser alterado, logo, sugere-se consultar a equipe de atendimento e-SiTef para verificar tal condição.

Nesta modalidade de cancelamento, os dados são apenas repassados para o adquirente e o e-SiTef não possui formas de ter ciência do que realmente ocorreu com a transação (se foi realmente estornada ou não). Logo, o e-SiTef não se responsabiliza pelo resultado dessa operação.

Até o momento, o cancelamento via host pode ser feito apenas com o adquirente Cielo, via SiTef.

Configurações necessárias no e-SiTef

A loja só conseguirá efetuar o cancelamento via host caso possua permissão para esta operação no back office do e-SiTef. Para isso, é necessário comunicar à equipe de cadastro do e-SiTef a respeito dessa demanda específica.

É importante também que o lojista verifique junto ao adquirente sobre a possibilidade de efetuar esta operação, e também sobre os prazos para poder efetuá-la.

Cancelamento origem externa

A funcionalidade de cancelamento origem externa consiste em efetuar a operação de estorno de uma transação mesmo que ela não conste nos registros do e-SiTef.

Atualmente esta funcionalidade permite somente o cancelamento de transações de pagamento e pré autorização realizadas no SiTef.

Nota:

1 - Quando as informações de terminal e company_code são enviadas, o comportamento do cardquery muda ligeiramente. Neste momento, ao executar o cardquery, o e-SiTef irá identificar a rede retornada pelo SiTef. Uma vez identificada, esta será usada ao invés da cadastrada na loja.

2 - Nas operações de origem externa, não temos como validar a rede que foi utilizada na parte externa da operação, que foi feita fora do e-SiTef. Nestes casos, usamos a rede configurada no SiTef. Por causa disso, mudanças de configuração, se feitas durante o meio da operação, podem ocasionar solicitações inválidas ou negadas. Por exemplo, se uma pré autorização foi feita no meio físico na rede 181 e, antes da finalização da captura, a configuração do SiTef for alterada para a rede 125, as operações que forem feitas via e-SiTef assumirão a rede 125.

ATENÇÃO: Os parâmetros terminal e company_code devem ser enviados simultaneamente.
É necessário também solicitar à equipe de atendimento do e-SiTef a permissão Permite envio de Empresa e Terminal SiTef via REST.

Serviço de criação de cancelamento

O consumo desse serviço é obrigatório no fluxo de cancelamento. Como resultado dessa operação, o lojista obterá um NIT que será necessário para o próximo passo do fluxo.

O NIT possui um tempo limite para sua utilização. Este prazo está configurado no e-SiTef, e caso seja excedido, a transação de cancelamento passará do status NOV (nova) para EXP (expirada), o que impede futuras operações com essa transação, tornando necessário consumir novamente o serviço de criação de cancelamento.

POST de autenticidade x assinatura

O e-SiTef possui duas formas de autenticação da loja na interface de cancelamento REST: POST de autenticidade ou assinatura.

No método de POST de autenticidade, o e-SiTef enviará os dados da transação de cancelamento recém-criada para a URL de autenticidade cadastrada da loja.

No método de assinatura, a loja deve ter uma chave pública de criptografia RSA cadastrada no e-SiTef e deverá montar uma assinatura JWT (JSON Web Tokens) a ser enviada no cabeçalho Authorization. Neste caso, as informações da transação de cancelamento serão retornadas diretamente na resposta do serviço. Saiba mais.

Detalhes da chamada

  • Recurso: /v1/cancellations
  • Método HTTP: POST
  • Formato da requisição: JSON
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.< 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM
Content-TypeDeve ser enviado com o valor application/json.= 15 ANSIM
AuthorizationDeve ser enviada a assinatura de autenticação da loja no formato Bearer {assinatura}. Exemplo: Bearer JHVGytfdgauygdauiw78264284527852897hagdg.< 2000 ANNÃO

Exemplos

Abaixo estão alguns exemplos de chamada do serviço de criação de cancelamento utilizando a ferramenta cURL.

Criação de cancelamento com POST de autenticidade

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/cancellations"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "esitef_usn":"123451234512345"
}
--verbose

Em seguida, o e-SiTef irá enviar uma requisição POST HTTPS (x-www-form-urlencoded) para a URL cadastrada, este POST contém as informações necessárias para o prosseguimento do cancelamento:

POST de autenticidade:

curl -X POST \
  https://dominiodaloja.com.br \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'Postman-Token: 8306e1f9-dc45-4cb9-926e-8aeef97229b1' \
  -H 'cache-control: no-cache' \
  -d 'nsu=9055020677&nit=1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr&pedido=09055020677&codigoLoja=xxxxxxxxxxxxxxx'

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful."
}

Criação de cancelamento com assinatura

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/cancellations"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--header "Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJtZXJjaGFudF9pZCI6IkxPFGFURVNURSIsIm1lcmNoYW50X2tleSI6IkYxOURFMDAxNzdDMzAxREYyNEE4NjVGMTFBQTlCMjU2N0Y2MDQ4OTFGMEY0NEREQUVGRDY5RTMzOTlFMEI3RTEiLCJvcmRlcl9pZCI6IjEzMDE0ODU4NjYzIiwibWVyY2hhbnRfdXNuIjoiMTQ0NjY4MTAxNiIsInRpbWVzdGFtcCI6IjE2MDUzMDM1ODA5MzEifQ.JoYz8mQ8PZ8MCr5QXygbivAy2x9fvdUEGu_jSeOYF-BtSGm7ZSYWFVokyowabk1FM2NCklubb5eEB_-g9lCi1ntRQ9iqKhdldm-U8pl0V98u7Mv_hR-pcp6MHfqql0T-mhkOv1WkfYO1igck4N6EfsNu9iO126BwgvJQC456WjAUW5jgjRHboc6htvaak9NBs6yRVLNZY03cR9gKtQXMoHeXiCGeNU55_2W1SOeRJPk-OsyBzvVlZBX5RdfUjB2BOdRI7H2TDBBS-GZaMV3b2eS5_84JTySFnriCTXJ-Y1FzBnH60e4fTfAiYy1P_J-j9hyXjLYgtRu8jQd8ITfiFG3h4ZIysb4CA_lJNg_d4YuCqhBiZcpculcbfXlcrcfPV-CpDytfiLz34FDWH0Q7Vlna1YuSNOKPzDIUx1MOMZO9bpwaE6Q3kClkqri92-42yeLoUKH6PUrlMpE3JrfuBelALE4ce7QzCrNjcvoqR_KVmCm6ozBjPn9qY0s7x7qe6ZLur7hNUoX79JdWGZy1-bx8dSqqpLrU0SXbMBqtvch5FvdUkktbkJpZAr7q6e0nR13_mK3RTV7adOEw03E_ocUk__rEmjGDAHMSWGmiPowu14jD1-VZ2Yf8FeoKzHYcXmIbEReTVHshk9faBICMQzMS3SXaqow4WXqULZiLTwc"
--data-binary
{
   "esitef_usn":"123451234512345"
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "cancellation":{
      "nit":" 1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
      "order_id":"09062259711",
      "merchant_usn":"9062259711"
   }
}

Parâmetros de requisição

Na tabela abaixo está a descrição dos parâmetros de requisição do serviço de criação de cancelamento:

ParâmetroDescriçãoFormatoObrigatório
esitef_usnNSU do pagamento a ser cancelado. Essa informação é retornada pelo e-SiTef após o pagamento ser aprovado. Este campo não deve ser enviado para cancelamento de transação original gerada externamente ao e-Sitef.= 15 NCOND
order_idCódigo de pedido do pagamento a ser cancelado. Este campo só deve ser enviado em caso de cancelamento via host ou origem externa.< 40 ANNÃO
merchant_usnNSU gerado pela loja do pagamento a ser cancelado. Este campo só deve ser enviado em caso de cancelamento via host ou origem externa.< 12 NNÃO
is_transaction_origin_externalIndica se a transação foi originada fora do e-SiTef. É obrigatório o envio deste campo com valor 'true' para cancelamento origem externa.< 5 ANCOND

Parâmetros do POST de autenticidade

Na tabela abaixo está a descrição dos parâmetros enviados pelo e-SiTef no POST de autenticidade:

ParâmetroDescriçãoFormato
nitIdentificador da transação de cancelamento a ser utilizado na próxima etapa do fluxo.= 64 AN
pedidoCódigo de pedido do pagamento a ser cancelado.< 20 AN
nsuNSU gerado pela loja do pagamento a ser cancelado.< 12 N
codigoLojaCódigo da loja no e-SiTef.< 15 AN

O e-SiTef também pode enviar novos parâmetros sem aviso prévio, o que significa que a aplicação do lojista deve estar preparada para receber campos extras e simplesmente ignorá-los.

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 201. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de criação de cancelamento:

ParâmetroDescriçãoFormato
codeCódigo de resposta do e-SiTef. Qualquer código diferente de 0(zero) significa falha. Saiba mais.< 4 N
messageMensagem de resposta do e-SiTef.< 500 AN
cancellation Estes campos só são retornados ao usar autenticação com assinatura.
nitIdentificador da transação de cancelamento a ser utilizado na próxima etapa do fluxo.= 64 AN
order_idCódigo de pedido do pagamento a ser cancelado.< 20 AN
merchant_usnNSU gerado pela loja do pagamento a ser cancelado.< 12 N

Serviço de cancelamento

Após obter um NIT de cancelamento na etapa anterior, a loja poderá realizar o estorno de fato.

Após um cancelamento bem-sucedido, a transação de pagamento mudará seu status para EST (estornada). Dependendo do adquirente, é possível realizar estornos parciais, ou seja, cancelar um valor menor do que o que foi pago. Nesse caso, a transação de pagamento manterá o status CON.

Detalhes da chamada

  • Recurso: /v1/cancellations/{nit}
  • Método HTTP: PUT
  • Formato da requisição: JSON
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.< 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM
Content-TypeDeve ser enviado com o valor application/json.= 15 ANSIM

Exemplos

Abaixo estão alguns exemplos de chamada do serviço de cancelamento utilizando a ferramenta cURL.

Cancelamento de pagamento via SiTef

Requisição:

curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/cancellations/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "card":{
      "security_code":"123",
      "number":"5555555555555555",
      "expiry_date":"1222"
   },
   "amount":"1000"
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "cancellation":{
      "authorizer_code":"000",
      "authorizer_message":"Transacao OK",
      "status":"CON",
      "nit":" 1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
      "order_id":"09062259711",
      "customer_receipt":"=== COMPROVANTE ===",
      "merchant_receipt":"=== COMPROVANTE ===",
      "authorizer_id":"2",
      "acquirer_id":"1005",
      "acquirer_name":"Redecard",
      "authorizer_date":"09/11/2017T18:23",
      "authorization_number":"092423",
      "merchant_usn":"9062259711",
      "esitef_usn":"171109108051261",
      "sitef_usn":"092424",
      "host_usn":"999092424   ",
      "amount":"1000",
      "payment_type":"C",
      "issuer":"2",
      "authorizer_merchant_id":"000000000000005",
      "esitef_date":"09/11/2017T18:23",
      "is_host_cancel":"false"
   }
}

Cancelamento de pagamento via Cielo e-Commerce

Requisição:

curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/cancellations/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "cancellation":{
      "authorizer_code":"0",
      "authorizer_message":"Operation Successful",
      "status":"CON",
      "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
      "order_id":"10022938077",
      "customer_receipt":"=== COMPROVANTE ===",
      "merchant_receipt":"=== COMPROVANTE ===",
      "authorizer_id":"2",
      "acquirer_id":"201",
      "acquirer_name":"Cielo e-Commerce",
      "merchant_usn":"10022938091",
      "esitef_usn":"171110108163221",
      "amount":"1000",
      "payment_type":"C",
      "authorizer_merchant_id":"zzzzzzzzzzzzzzzzzz",
      "esitef_date":"10/11/2017T14:29",
      "is_host_cancel":"false"
   }
}

Cancelamento via host

Requisição:

curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/cancellations/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "card":{
      "expiry_date":"1222",
      "number":"455182001234512345"
   },
   "amount":"2000",
   "acquirer":{
      "host_usn":"123123123",
      "sitef_usn":"123123",
      "authorizer_date":"090917",
      "authorizer_id":"1",
      "tef_product_code":"0001",
      "tef_flow_code":"01",
      "authorization_number":"123456"
   }
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "cancellation":{
      "authorizer_code":"000",
      "authorizer_message":"Transacao OK!",
      "status":"CON",
      "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
      "customer_receipt":"=== COMPROVANTE ===",
      "merchant_receipt":"=== COMPROVANTE ===",
      "authorizer_id":"1",
      "acquirer_id":"1125",
      "acquirer_name":"Cielo",
      "authorizer_date":"09/11/2017T18:42",
      "authorization_number":"092425",
      "esitef_usn":"171109108051271",
      "sitef_usn":"092425",
      "host_usn":"000092425   ",
      "amount":"2000",
      "payment_type":"C",
      "authorizer_merchant_id":"020001355570001",
      "esitef_date":"09/11/2017T18:42",
      "is_host_cancel":"true"
   }
}

Cancelamento origem externa

Requisição:

curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/cancellations/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "card":{
      "expiry_date":"1222",
      "number":"455182001234512345"
   },
   "amount":"2000",
   "acquirer":{
      "host_usn":"123123123",
      "sitef_usn":"123123",
      "authorizer_date":"090917",
      "authorizer_id":"2",
      "authorization_number":"123456"
   }
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "cancellation":{
      "authorizer_code":"000",
      "authorizer_message":"Transacao OK!",
      "status":"CON",
      "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
      "customer_receipt":"=== COMPROVANTE ===",
      "merchant_receipt":"=== COMPROVANTE ===",
      "authorizer_id":"2",
      "acquirer_id":"1005",
      "acquirer_name":"Redecard",
      "authorizer_date":"09/11/2017T18:42",
      "authorization_number":"092425",
      "esitef_usn":"171109108051271",
      "sitef_usn":"092425",
      "host_usn":"000092425   ",
      "amount":"2000",
      "payment_type":"C",
      "authorizer_merchant_id":"020001355570001",
      "esitef_date":"09/11/2017T18:42"
   }
}

Parâmetros de requisição

Na tabela abaixo está a descrição dos parâmetros de requisição do serviço de cancelamento:

ParâmetroDescriçãoFormatoObrigatório
amountValor em centavos a ser cancelado. É importante notar que não são todos os adquirentes que suportam estorno com valor menor do que o do pagamento (cancelamento parcial).
Caso este campo não seja enviado, o e-SiTef utilizará o valor total do pagamento.
< 12 NNÃO
soft_descriptorTexto adicional que será apresentado junto ao nome do estabelecimento na fatura do cartão de crédito do comprador. Saiba mais< 30 ANNÃO
card
numberNúmero do cartão do comprador (PAN). Obrigatório no cancelamento de pagamentos via SiTef.< 19 NCOND.
expiry_dateData de vencimento do cartão no formato MMAA. Sua obrigatoriedade depende do adquirente escolhido.= 4 NCOND.
security_codeCódigo de segurança. Obrigatório dependendo do contrato firmado com as redes adquirentes.< 5 NCOND.
tokenHASH de um cartão armazenado no e-SiTef. Não é permitido enviar um número de cartão aberto (campo number) e um cartão armazenado (campo token) na mesma requisição.= 88 ANNÃO
wallet_transaction_idID de uma transação de carteiras digitais. Por enquanto, essa funcionalidade está disponível apenas para as autorizadoras Visa Checkout e VEE (via CardSE via SiTef).
Não é permitido enviar um número de cartão aberto (campo number), um cartão armazenado (campo token) e um wallet_transaction_id na mesma requisição.
< 25 ANNÃO
acquirer Os campos desse elemento só devem ser enviados em casos de cancelamentos via host, cancelamentos de origem externa ou cancelamentos de roteamentos via PayPal
host_usnNSU do host/autorizadora da transação a ser cancelada. Obrigatório para cancelamentos via host e origem externa.< 20 NCOND.
sitef_usnNSU do SiTef da transação a ser cancelada. Obrigatório para cancelamentos via host e origem externa.= 6 NCOND.
authorizer_dateData de efetivação SiTef do pagamento no formato DDMMAA. Obrigatório para cancelamentos via host e origem externa.= 6 DCOND.
authorizer_idCódigo da autorizadora no e-SiTef. Deve ser o mesmo valor enviado no pagamento. Obrigatório para cancelamentos via host e origem externa.< 3 NCOND.
tef_product_codeCódigo do produto TEF obtido no pagamento. Este campo pode receber os seguintes valores:
0001 - Visa
0080 - Mastercard
Estes valores podem ser alterados pela Cielo sem aviso prévio. Obrigatório para cancelamentos via host e origem externa para roteamento via Cielo.
< 4 NCOND.
tef_flow_codeCódigo do fluxo TEF obtido no pagamento. Atualmente, este campo pode apenas receber o valor 01 (fluxo crédito). Obrigatório para cancelamentos via host e origem externa para roteamento via Cielo.< 2 NCOND.
authorization_numberNúmero de autorização da transação a ser cancelada. Obrigatório para cancelamentos via host e origem externa.< 60 NCOND.
product_codeCódido de produto.
É obrigatório e utilizado apenas em roteamento via Marisa.
< 6 NCOND.
refund_typeTipo de estorno que se deseja realizar sobre o pagamento.
É obrigatório e utilizado apenas para roteamento via Paypal.

Valores permitidos:

Full - É desejado o estorno completo do pagamento.

Partial - É desejado o estorno parcial do pagamento
< 7 ANCOND.
currency_codeCódigo da moeda a ser utilizada no estorno de acordo com a ISO 4217. Para o Real, o código utilizado é o BRL.
É obrigatório e utilizado apenas para roteamento via Paypal.
< 3 ANCOND.
invoice_idCódigo de pedido do estorno próprio do lojista para futura consulta ou rastreamento.
Utilizado apenas para roteamento via Paypal.
< 127 ANNÃO
noteMensagem personalizada para lembretes sobre o estorno.
Utilizado apenas para roteamento via Paypal.
< 256 ANNÃO
retry_untilData e hora limite até a qual será realizada a tentativa do estorno. Formato: AAAA-MM-DDTHH:MM:SS.
Utilizado apenas para roteamento via Paypal.
< 20 ANNÃO
refund_sourceFonte de fundos do lojista que será utilizado para realizar o estorno.
Utilizado apenas para roteamento via Paypal.

Valores permitidos:

any - O lojista não tem preferência. Será utilizado qualquer fonte de fundos disponível.

default - Será utilizado a fonte de fundos configurada na conta do lojista.

instant - Será utilizado o balanço do vendedor como fonte de fundos.

eCheck - Será utilizado a opção “eCheck” como fonte de fundos. Se o balanço do lojista puder cobrir o estorno, será utilizado o balanço.
< 7 ANNÃO
merchant_store_detailsInformações sobre o estabelecimento do lojista.
Utilizado apenas para roteamento via Paypal.
< 50 ANNÃO
refund_adviceIndicador para cliente que já foi recebeu algum estorno da determinada transação.
Utilizado apenas para roteamento via Paypal.
< 5 ANNÃO
refund_item_detailsDetalhes do item individual tratado no estorno.
Utilizado apenas para roteamento via Paypal.
NÃO
msg_sub_idEsse ID identificará de maneira única a mensagem e poderá ser utilizado para requisitar os últimos resultados de um requisição anterior sem a necessidade de criar uma nova requisição. Isso pode ser realizado, por exemplo, em chamadas que foram canceladas por timeout ou erros durante o processo.
Utilizado apenas para roteamento via Paypal.
< 38 ANNÃO
terminal_idUtilizado caso seja um Ponto de Venda.
Utilizado apenas para roteamento via Paypal.
< 50 ANNÃO
store_idUtilizado caso seja um Ponto de Venda.
Utilizado apenas para roteamento via Paypal.
< 50 ANNÃO
terminalTerminal SiTef que se deseja usar. Se não for enviado, o e-SiTef gerará um terminal aleatório.= 14 NNÃO
company_codeCódigo de empresa SiTef que se deseja usar. Se não for enviado, o e-SiTef enviará o código de empresa cadastrado na loja.= 8 NNÃO
acquirer.submerchant_split[] Consiste em um array para transações split, exclusivos para roteamentos BIN e Sipag, ambos via SiTef. Permite a divisão de partes do valor total do pagamento entre outras empresas.
O máximo de itens permitido neste array é de 5 itens. Cada item é composto pelos campos submechant_code e submerchant_amount.
submerchant_codecódigo de estabelecimento BIN/Sipag< 51 ANNÃO
submerchant_amoutvalor de transação referente ao estabelecimento< 12 NNÃO

ATENÇÃO: Os parâmetros terminal e company_code são para uso somente no Cancelamento origem externa. Neste caso, os mesmos devem ser enviados simultaneamente.
É necessário também solicitar à equipe de atendimento do e-SiTef a permissão Permite envio de Empresa e Terminal Sitef via REST.

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 200. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de cancelamento:

ParâmetroDescriçãoFormato
codeCódigo de resposta do e-SiTef. Qualquer código diferente de 0(zero) significa falha. Saiba mais.< 4 N
messageMensagem de resposta do e-SiTef.< 500 AN
cancellation
authorizer_codeCódigo de resposta do autorizador.< 10 AN
authorizer_messageMensagem de resposta do autorizador.< 500 AN
statusStatus da transação de cancelamento no e-SiTef. Saiba mais.= 3 AN
nitNúmero identificador da transação de cancelamento no e-SiTef.= 64 AN
order_idCódigo de pedido enviado pela loja na criação da transação.< 40 AN
merchant_usnNúmero sequencial único enviado pela loja na criação da transação.< 12 N
amountValor do cancelamento especificado pela loja (em centavos).< 12 N
sitef_usnNúmero sequencial único da transação de cancelamento no SiTef.= 6 N
esitef_usnNúmero sequencial único da transação de cancelamento no e-SiTef.= 15 N
customer_receiptCupom (via cliente).< 4000 AN
merchant_receiptCupom (via estabelecimento).< 4000 AN
authorizer_idCódigo da autorizadora utilizada na transação.< 4 N
acquirer_idCódigo do adquirente utilizado na transação.< 4 N
acquirer_nameNome do adquirente utilizado na transação.< 100 AN
authorizer_dateData de efetivação do cancelamento retornada pelo autorizador no formato DD/MM/AAAA'T'HH:mm. Exemplo: 13/07/2017T16:03= 16 D
authorization_numberNúmero de autorização.< 6 AN
host_usnNSU da autorizadora.< 20 AN
tidID da transação no adquirente. Este campo só é retornado em transações com adquirentes externos ao SiTef.< 40 AN
esitef_dateData de efetivação do cancelamento no e-SiTef no formato DD/MM/AAAA'T'HH:mm. Exemplo: 13/07/2017T16:03= 16 D
issuerCódigo da bandeira retornado pelo autorizador.< 5 AN
authorizer_merchant_idCódigo de afiliação do lojista na autorizadora.< 100 AN
is_host_cancelEste campo retornará o valor true em caso de cancelamento via host.< 5 T/F

Visão Geral

A pré-autorização é uma transação cujo valor será reservado do limite do cartão, porém não será debitado imediatamente, podendo ser capturado posteriormente por um valor igual ou menor que o autorizado. O prazo para realizar a captura, assim como a possibilidade de capturar valores menores, depende de negociação com a rede adquirente/roteamento, cabendo à Loja Virtual consultar a rede adquirente/roteamento.

A pré-autorização é utilizada nos casos em que será necessário realizar a captura da transação após um longo período de tempo. Assim, é possível apenas autorizar uma transação de pagamento e confirmá-la/capturá-la em um dia posterior. A diferença entre um pagamento com confirmação posterior e uma pré autorização com captura é o período de tempo em que a transação poderá ser efetivada.

O período permitido para realizar a confirmação/captura de uma pré-autorização é maior do que um pagamento com confirmação posterior. Para melhor entendimento, podemos citar os seguintes exemplos de aplicação:

Uma empresa de aluguel de carros realiza a autorização de um pagamento para um cliente. A empresa irá capturar/confirmar a transação apenas quando o cliente devolver o carro, o que pode levar muitos dias. Neste cenário, seria recomendada a utilização de uma transação de Pré-Autorização.

Uma loja autoriza um pagamento, mas antes de confirmar/capturar a transação, realiza um consulta no estoque para verificar a disponibilidade de um meio de pagamento, o que poderia levar alguns minutos ou horas, e após isso efetivar o pagamento. Neste cenário, seria recomendada a utilização de uma transação de pagamento comum com confirmação posterior.

Comunicação

Para realizar uma transação Web Service, toda a comunicação será realizada via HTTPS/TLS. É importante que o servidor do lojista suporte criptografia com no mínimo 128 bits e protocolo mínimo TLS 1.2. O servidor da loja deverá realizar chamadas em endereços específicos para transações REST.

Cada serviço deve ser chamado utilizando a URL base concatenada do recurso desejado (veja o capítulo referente ao serviço a ser consumido). O método HTTP (GET, POST ou PUT) indica a ação esperada sobre o recurso escolhido. Abaixo estão as URLs base do e-SiTef:

URL do ambiente de Certificação/testes:

https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/

URL do ambiente de Produção:

https://esitef-ec.softwareexpress.com.br/e-sitef/api/

Atenção: Nunca utilizar o IP ao invés do domínio esitef-ec.softwareexpress.com.br, porque o IP poderá mudar a qualquer momento e sem aviso prévio, portanto, é importante a utilização do domínio para acesso ao e-SiTef.

Importante: Além dos parâmetros de resposta do webservice descrito nesta especificação, o e-SiTef poderá retornar outros parâmetros sem aviso prévio. É importante que o aplicativo esteja preparado para receber parâmetros extras além dos parâmetros já especificados e simplesmente desprezá-los.

Fluxo

O fluxo de pré-autorização será iniciado pela Loja Virtual quando o aplicativo enviar a operação beginTransaction, na resposta da requisição o aplicativo receberá o nit e outros parâmetros.

Descrição do fluxo:

  1. Ao iniciar a operação beginTransaction pela loja virtual, é retornado um nit (identificador da transação) e outros parâmetros;
  2. A loja virtual prossegue então consumindo o doPreAuthorization, serviço de efetivação da pré-autorização, passando o nit e os demais parâmetros recebidos. Em caso de sucesso, a transação de pré-autorização mudará seu status para CON (transação confirmada).
  3. Posteriormente (conforme a regra de negócio) o mesmo nit enviado na pré-autorização, deverá ser enviado na operação capture juntamente com outros parâmetros e deverá tratar os parâmetros recebidos no webservice response.

Quick start

Este guia mostra o processo de efetivação de uma pré-autorização, utilizando a interface web service REST do e-SiTef.

O que você precisará

  • Cadastro ativo no ambiente de homologação do e-SiTef (obtido com nossa equipe de suporte)
  • Uma ferramenta capaz de realizar chamadas HTTP, como Postman, REST Client ou cURL

Criando a Pré-Autorização

Tipo de requisição: POST

URL: https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions

Headers:

  • Content-Type: application/json
  • merchant_id: {seu código de loja}
  • merchant_key: {chave da sua loja}

Requisição:

JSON
cURL
{
"order_id":"orderID",
"merchant_usn":"20190101",
"amount":"100",
"transaction_type":"preauthorization"
}
curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"order_id":"orderID",
"merchant_usn":"20190101",
"amount":"100",
"transaction_type":"preauthorization"
}
--verbose

Resposta:

{
    "code": "0",
    "message": "OK. Transaction successful.",
    "pre_authorization": {
        "status": "NOV",
        "nit": "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
        "order_id": "orderID",
        "merchant_usn": "20190101",
        "amount": "100"
    }
}

Saiba mais sobre esse serviço.

Efetivando a Pré-Autorização

Tipo de requisição: POST

URL: https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/preauthorizations/<nit>

Headers:

  • Content-Type: application/json
  • merchant_id: {seu código de loja}
  • merchant_key: {chave da sua loja}

Requisição:

JSON
cURL
{
"authorizer_id":"2",
"installments":"2",
"installment_type":"4",
"card":{
"number":"xxxxxxxxxxxxxxxx",
"expiry_date":"1222",
"security_code":"123"
}
}
curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/preauthorizations/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"authorizer_id":"2",
"installments":"2",
"installment_type":"4",
"card":{
"number":"xxxxxxxxxxxxxxxx",
"expiry_date":"1222",
"security_code":"123"
}
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "pre_authorization":{
      "authorizer_code":"000",
      "authorizer_message":"Transacao OK.",
      "status":"CON",
      "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
      "customer_receipt":"=== CUSTOMER RECEIPT ===",
      "merchant_receipt":"=== MERCHANT RECEIPT ===",
      "authorizer_id":"2",
      "authorizer_date":"09/11/2018T19:40",
      "acquirer_id":"1005",
      "acquirer_name":"Redecard",
      "authorization_number":"013245",
      "merchant_usn":"20190101",
      "esitef_usn":"181109017689784",
      "order_id":"orderID",
      "sitef_usn":"212194",
      "host_usn":"999212194",
      "amount":"100",
      "issuer":"2",
      "payment_type":"C",
      "authorizer_merchant_id":"000000000000000"
   }
}

Saiba mais sobre esse serviço.

Capturando a Pré-Autorização

Tipo de requisição: POST

URL: https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/preauthorizations/capture/<nit>

Headers:

  • Content-Type: application/json
  • merchant_id: {seu código de loja}
  • merchant_key: {chave da sua loja}

Requisição:

JSON
cURL
{
"amount":"100",
"installments":"1",
"installment_type":"4",
"card":{
"number":"xxxxxxxxxxxxxxxx",
"expiry_date":"1222",
"security_code":"123"
},
"acquirer":{
"submerchant_split":[
{
"submerchant_code":"empresa01",
"submerchant_amount":"10"
},
{
"submerchant_code":"empresa02",
"submerchant_amount":"20"
},
{
"submerchant_code":"empresa03",
"submerchant_amount":"20"
},
{
"submerchant_code":"empresa04",
"submerchant_amount":"30"
},
{
"submerchant_code":"empresa05",
"submerchant_amount":"30"
}
]
}
}
curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/preauthorizations/capture/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"amount":"100",
"installments":"1",
"installment_type":"4",
"card":{
"number":"xxxxxxxxxxxxxxxx",
"expiry_date":"1222",
"security_code":"123"
},
"acquirer":{
"submerchant_split":[
{
"submerchant_code":"empresa01",
"submerchant_amount":"10"
},
{
"submerchant_code":"empresa02",
"submerchant_amount":"20"
},
{
"submerchant_code":"empresa03",
"submerchant_amount":"20"
},
{
"submerchant_code":"empresa04",
"submerchant_amount":"30"
},
{
"submerchant_code":"empresa05",
"submerchant_amount":"30"
}
]
}
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "capture":{
      "status":"CON",
      "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
      "order_id":"orderID",
      "customer_receipt":"=== CUSTOMER RECEIPT ===",
      "merchant_receipt":"=== MERCHANT RECEIPT ===",
      "authorizer_id":"2",
      "acquirer_id":"1005",
      "acquirer_name":"Redecard",
      "authorizer_code":"000",
      "authorizer_message":"Transacao OK.",
      "authorizer_date":"11/08/2019T14:17",
      "authorizer_merchant_id":"000000000000000",
      "authorization_number":"212195",
      "esitef_usn":"180921015287704",
      "merchant_usn":"20190101",
      "sitef_usn":"212195",
      "host_usn":"999212195",
      "amount":"100",
      "payment_type":"C",
      "issuer":"2"
   }
}

Saiba mais sobre esse serviço.

Consulta de Cartão

Tipo de requisição: POST

URL: https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/preauthorizations/<nit>/cards

Headers:

  • Content-Type: application/json
  • merchant_id: {seu código de loja}
  • merchant_key: {chave da sua loja}

Requisição:

JSON
cURL
{
"card":{
"number":"5555555555555555"
},
"authorizer_id":"1"
}
curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/preauthorizations/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr/cards"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"card":{
"number":"5555555555555555"
},
"authorizer_id":"1"
}
--verbose

Resposta:

{
    "code":"0",
    "message":"OK. Transaction successful.",
    "preauthorization":{
        "status":"NOV"
    },
    "card":{
        "acquirer_name":"Redecard",
        "authorizer_id":"1",
        "authorizer_response_code":"000",
        "is_customer_id_required":"false",
        "is_expiry_date_required":"true",
        "is_installment_funding_enabled":"true",
        "is_security_code_required":"true",
        "is_spot_sale_enabled":"true",
        "is_with_interest_sale_enabled":"true",
        "is_without_interest_sale_enabled":"true",
        "max_installments_with_interest":"12",
        "min_installments_with_interest":"01",
        "prefixes":{
            "TRAT":"2",
            "PERIFERICO":"1",
            "CSEG":"2"
        }
    }
}

Saiba mais sobre esse serviço.

Consulta de Transações

Tipo de requisição: GET

URL: https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transaction/<nit>

Headers:

  • Content-Type: application/json
  • merchant_id: {seu código de loja}
  • merchant_key: {chave da sua loja}

Requisição:

cURL
curl
--request GET "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "pre_authorization":{
      "acquirer_id":"1181",
      "acquirer_name":"GetNet Lac",
      "amount":"1470",
      "authorization_number":"301367",
      "authorizer_code":"000",
      "authorizer_date":"30/10/2018T11:58",
      "authorizer_id":"1",
      "authorizer_merchant_id":"000000000000000",
      "authorizer_message":"Transacao OK",
      "customer_receipt":"=== CUSTOMER RECEIPT ===",
      "merchant_receipt":"=== MERCHANT RECEIPT ===",
      "esitef_usn":"181030016873984",
      "host_usn":"010301367   ",
      "issuer":"1",
      "merchant_usn":"20180809",
      "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
      "order_id":"201808020001",
      "payment_type":"C",
      "sitef_usn":"301367",
      "status":"CON"
   },
   "capture":{
      "acquirer_id":"1181",
      "acquirer_name":"GetNet Lac",
      "amount":"1380",
      "authorization_number":"000000",
      "authorizer_date":"30/10/2018T12:00",
      "authorizer_id":"1",
      "customer_receipt":"=== CUSTOMER RECEIPT ===",
      "merchant_receipt":"=== MERCHANT RECEIPT ===",
      "esitef_usn":"181030016874034",
      "host_usn":"010301368   ",
      "issuer":"1",
      "authorizer_code":"000",
      "authorizer_message":"Transacao OK SDO DISPONIVEL          244,00",
      "merchant_usn":"20180809",
      "nit":"abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr1234567890",
      "order_id":"201808020001",
      "authorizer_merchant_id":"000000000000000",
      "payment_type":"C",
      "sitef_usn":"301368",
      "status":"CON"
   }
}

Saiba mais sobre esse serviço.

Criar Pré-Autorização

O fluxo da transação de Pré-Autorização é iniciado consumindo a operação beginTransaction, que irá gerar um registro no e-SiTef de uma transação com status=NOV, e, retornará ao aplicativo o parâmetro nit, que identificará essa transação.

O nit tem um prazo de utilização configurado no e-SiTef, se esse tempo limite exceder a transação passará do status "NOV" para o status "EXP". Neste caso não será mais permitido a utilização do mesmo nit, sendo necessário consumir novamente a operação beginTransaction para gerar outro nit válido.

Análise de risco

Para as transações com análise de risco (antifraude), são utilizados os mesmos campos da criação de pagamento com antifraude.

Detalhes da Chamada

  • Recurso: /v1/transactions
  • Operação HTTP: POST
  • Formato da requisição: JSON
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
Nome do ParâmetroDescriçãoTamanhoObrigatório
Content-TypeValor fixo "application/json"= 15 ASim
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes≤ 15 ASim
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ASim

Exemplos

Abaixo estão alguns exemplos de chamada do serviço de criação de transações utilizando a ferramenta cURL.

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
    "order_id":"orderID",
    "merchant_usn":"20190101",
    "amount":"100",
    "transaction_type":"preauthorization"
}
--verbose

Resposta:

{
    "code": "0",
    "message": "OK. Transaction successful.",
    "pre_authorization": {
        "status": "NOV",
        "nit":
        "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
        "order_id": "orderID",
        "merchant_usn": "20190101",
        "amount": "100"
    }
}

Parâmetros de Requisição

Nome do ParâmetroDescriçãoTamanhoObrigatório
amountValor total da compra (em centavos). Exemplo: 1,00 = 100 ou 1.100,00 = 110000 – enviar o valor sem a vírgula e ponto< 12NSim
encrypted_cardEste campo deve ser enviado com valor "true" caso o número do cartão a ser enviado na próxima etapa do fluxo use a criptografia do SiTef.
A opção de envio do cartão criptografado só será possível com roteamento via SiTef e é necessário a configuração prévia do SiTef em questão.
Opções:
1. "true"
2. "false" (valor default)
< 5 ANNão
merchant_usnNúmero sequencial único para cada pedido, criado pela loja.
O NSU será utilizado em toda a comunicação com a loja, de forma a identificar o pedido. Como se trata de uma possível chave para acesso do lado da loja, apesar de ser opcional para o e-SiTef, é fortemente recomendado que o campo seja formatado e enviado pela aplicação da loja.
< 12 NNão
order_idCódigo do pedido para ser exibido ao comprador, definido pelo lojista. É aconselhável que seja diferente a cada pedido para que facilite a rastreabilidade.
Se a integração da Loja com as redes adquirentes/roteamentos (Cielo, Redecard, etc) for via SiTef (TEF), o campo orderId que tem o tamanho máximo de 40 caracteres, será reduzido a 12 caracteres, devido a uma restrição do SiTef. Essa redução será realizada mantendo os caracteres da esquerda para direita (ex.: se um código de pedido inserido for 12345678901234567890 no e-SiTef, no SiTef ele será apenas 123456789012).
< 40 ANNão
transaction_typeValor fixo "preauthorization"= 15 ASim
soft_descriptorTexto adicional que será apresentado junto ao nome do estabelecimento na fatura do cartão de crédito do comprador. Saiba mais< 22 ANNÃO

Legenda do tipo do campo "Tamanho":

A = alfanumérico

N = numérico

N A = não utilizado

Parâmetros de resposta

Nome do ParâmetroDescriçãoTamanho
codeCódigo de resposta do e-SiTef. Qualquer código diferente de ‘0’ significa falha. Para maiores informações, consulte Códigos de Resposta.< 4 N
messageMensagem de resposta do e-SiTef.< 500 A
amountValor da transação especificado pela loja (em centavos) na criação da transação.< 12 N
merchant_usnNúmero sequencial único enviado pela loja na criação da transação.< 12 N
nitIdentificador da transação de pré-autorização no e-SiTef.= 64 A
order_idCódigo de pedido enviado pela loja na criação da transação< 40 AN
statusStatus da transação de pré-autorização no e-SiTef.= 3 A

Efetivação de Pré-Autorização

Detalhes da Chamada

O nit obtido no retorno do serviço de criação de pré-autorização deverá ser enviado na operação de efetivação de pré-autorização juntamente com os parâmetros descritos na tabela abaixo (conforme a necessidade de cada aplicação):

  • Recurso: /v1/preauthorizations/{nit}
  • Método HTTP: POST
  • Formato da requisição: JSON
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
Content-TypeValor fixo application/json= 15 ANSIM
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes< 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM

Exemplos:

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/preauthorizations/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
    "authorizer_id":"2",
    "installments":"2",
    "installment_type":"4",
    "card":{
        "number":"xxxxxxxxxxxxxxxx",
        "expiry_date":"1222",
        "security_code":"123"
    }
}
--verbose

Resposta:

{
    "code":"0",
    "message":"OK. Transaction successful.",
    "pre_authorization":{
        "authorizer_code":"000",
        "authorizer_message":"Transacao OK.",
        "status":"CON",
        "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
        "customer_receipt":"=== CUSTOMER RECEIPT ===",
        "merchant_receipt":"=== MERCHANT RECEIPT ===",                
        "authorizer_id":"2",
        "authorizer_date":"09/11/2018T19:40",
        "acquirer_id":"1005",
        "acquirer_name":"Redecard",
        "authorization_number":"013245",
        "merchant_usn":"20190101",
        "esitef_usn":"181109017689784",
        "order_id":"orderID",
        "sitef_usn":"212194",
        "host_usn":"999212194",
        "amount":"100",
        "issuer":"2",
        "payment_type":"C",
        "authorizer_merchant_id":"000000000000000"
    }
}

Parâmetros de requisição

ParâmetroDescriçãoFormatoObrigatório
authorizer_idCódigo da autorizadora no e-SiTef. Ver documento Autorizadoras.< 3 NSIM
customer_idDocumento de identidade do comprador. Use apenas caracteres alfanuméricos (sem pontos, traços ou outros caracteres especiais).< 20 ANNÃO
discountValor do desconto, em centavos. Em caso de pré-autorizações com valores promocionais pelo uso do Visa Checkout, a VISA sugere que este campo seja enviado adicionalmente.< 12 NNÃO
installmentsJuntamente com o campo installment_type, indica parcelamento (*), utilizados APENAS com autorizadoras roteadas por e-Rede, GetNetLac via SiTef, Rede via SiTef, Cetelem via SiTef e iCards via SiTef. Envie 1 para transações à vista.< 2 NCOND.
installment_typeJuntamente com o campo installments, indica parcelamento (*), utilizados APENAS com autorizadoras roteadas por e-Rede, GetNetLac via SiTef, Rede via SiTef, Cetelem via SiTef e iCards via SiTef. Para as demais roteamentos, o parcelamento é possível somente na captura. Os valores possíveis para installment_type são:
  • 3: Parcelamento com juros da administradora do cartão
  • 4: Parcelamento realizado pela loja e sem juros (adotar este valor como padrão/default para transações à vista)
= 1 NCOND.
mccMerchant Category Code - Indica o código de categoria da loja. Necessário ao utilizar subadquirência Stone WS e é possível enviá-lo na subadquirência via SiTef.< 4 NObrigatório apenas para subadquirência Stone WS
merchant_emaile-mail da Loja. Este parâmetro quando enviado sobrescreve o e-mail do cadastro da Loja.< 40 ANNÃO
nitIdentificador da transação no e-SiTef (criptografado). Obtido no retorno da chamada ao beginTransaction.= 64 ANSIM
promo_codeCódigo de promoção Visa Checkout utilizado na pré-autorização. Em caso de pré-autorizações com valores promocionais pelo uso do Visa Checkout, a VISA sugere que este campo seja enviado adicionalmente.ANNÃO
soft_descriptorTexto adicional que será apresentado junto ao nome do estabelecimento na fatura do cartão de crédito do comprador. Saiba mais< 22 ANNÃO
subtotalValor do subtotal, em centavos. Em caso de pré-autorizações com valores promocionais pelo uso do Visa Checkout, a VISA sugere que este campo seja enviado adicionalmente.< 12 NNÃO
subacquirer_merchant_idIdentificação da loja na subadquirente.< 22 NNÃO
card Deve ser utilizado apenas um entre os campos: number, token ou wallet_transaction_id
numberNúmero do cartão do comprador (PAN).< 19 NCOND.
tokenUtilizado para casos de pré-autorização recorrente, onde o cartão já deverá estar armazenado na base de dados do e-SiTef.= 88 ANCOND.
wallet_transaction_idCódigo de identificação de transação com wallet VisaCheckout. Necessário apenas para Visa Checkout< 25 ANCOND.
initial_wallet_transaction_idInforma se o Wallet ID (wallet_transaction_id) está sendo utilizado pela primeira vez. Se for a primeira vez, enviar true, caso contrário, enviar false. Necessário apenas para Visa Checkout.

Valor padrão: true
< 5 ANCOND.
holderNome do portador do cartão. Obrigatório apenas para roteamentos e-Rede, GetNet WS e VR (SmartNet).< 30 ANCOND.
expiry_dateData de vencimento do cartão no formato MMAA.= 4 NCOND.
security_codeCódigo de segurança.< 5 NCOND.
external_authentication Este elemento recebe campos de autenticação MPI.
eciEletronic Commerce Indicator – indica o nível de segurança da transação com autenticação do dono do cartão< 3 NNÃO
xidIdentificador da transação de autenticação do dono do cartão, feita em serviço externo ao e-SiTef< 40 NNÃO
cavvCardholder Authentication Verification Value - Código que indica o resultado da autenticação do dono do cartão.< 40 NNÃO
acquirer Dados específicos necessários dependendo da adquirente/roteamento.
terminalTerminal SiTef que se deseja usar. Se não for enviado, o e-SiTef gerará um terminal aleatório.= 14 NNÃO
company_codeCódigo de empresa SiTef que se deseja usar. Se não for enviado, o e-SiTef enviará o código de empresa cadastrado na loja.= 8 NNÃO

(*) Parcelamento roteada por GetNetLac via SiTef : Neste caso, a loja será responsável pelo controle do parcelamento, logo não entrarão em vigor as regras de parcelamento configuradas para a interface de pagamento HTML do e-SiTef, somente as regras de parcelamento da autorizadora serão verificadas e aplicadas. Para estas redes mencionadas, caso a pré-autorização seja feita à vista, a captura não pode ser parcelada. Ainda, pré- autorizações roteadas por GetNetLac via SiTef, quando parceladas, apenas são aceitos sem juros, isto é, com o parâmetro installment_type = 4. Parcelamentos com juros não são aceitos para este roteamento.

ATENÇÃO: Os parâmetros terminal e company_code deverão ser usados somente para roteamentos via SiTef e devem ser enviados simultaneamente.
É necessário também solicitar à equipe de atendimento do e-SiTef a permissão Permite envio de Empresa e Terminal Sitef via REST.

Parâmetros de resposta

A tabela abaixo contém os parâmetros de resposta do serviço de efetivação de pré-autorização. O aplicativo deverá armazenar os parâmetros que achar necessário. Sugerimos que sejam armazenados os parâmetros: order_id, authorization_number, merchant_usn, esitef_usn, sitef_usn, host_usn, status, code, amount, message (o parâmetro message poderá ser exibido ao cliente).

ParâmetroDescriçãoFormato
codeCódigo de resposta do e-SiTef. Qualquer código diferente de 0 significa falha. Para maiores informações, consulte o documento de Códigos de Resposta.< 4 N
messageMensagem de resposta do e-SiTef.< 500 AN
pre_authorization
acquirer_idCódigo do adquirente/roteamento utilizado na transação.< 4 N
acquirer_nameNome do adquirente/roteamento utilizado na transação.< 100 AN
amountValor da compra especificado pela loja (em centavos) na criação da transação.< 12 AN
authorization_numberNúmero de autorização.< 6 AN
authorizer_codeCódigo de resposta do autorizador.< 10 AN
authorizer_dateData de efetivação da pré-autorização retornada pelo autorizador no formato DD/MM/AAAA’T’HH:mm. Exemplo: 13/07/2017T16:03= 16 D
authorizer_idCódigo da autorizadora utilizada na transação.< 4 N
authorizer_merchant_idCódigo de afiliação do lojista na autorizadora.< 100 AN
authorizer_messageMensagem de resposta do autorizador.< 500 AN
customer_receiptCupom (via cliente).< 4000 AN
eciEletronic Commerce Indicator (indicador do nível de segurança da transação da pré-autorização via Cielo e-Commerce).< 3 AN
esitef_usnNúmero sequencial único da transação de pré-autorização no e-SiTef.= 6 N
host_usnNSU da autorizadora.< 15 AN
issuerCódigo da bandeira retornado pelo autorizador.< 5 AN
merchant_receiptCupom (via estabelecimento).< 4000 AN
merchant_usnNúmero sequencial único enviado pela loja na criação da transação.< 12 AN
nitIdentificador da transação de pré-autorização no e-SiTef.= 64 AN
order_idCódigo de pedido enviado pela loja na criação da transação.< 40 AN
payment_typeTipo do pagamento da autorizadora escolhida: B = boleto, C = crédito, D = débito, P = cartão crédito Private Label puro, T = tranferência bancária, G = cartão gift, O = outros meios de pagamento= 1 AN
sitef_usnNúmero sequencial único da transação de pré-autorização no SiTef.= 6 N
statusStatus da transação de pré-autorização no e-SiTef.= 3 AN
tidID da transação no adquirente/roteamento. Este campo só é retornado em transações com adquirentes externos ao SiTef.< 40 AN
xidCampo XID retornado em autenticações 3DS ou certos adquirentes/roteamentos.< 40 AN

Serviço de Consulta de Pré-Autorização

Em caso de falha na comunicação ou demora excessiva na resposta (timeout) em qualquer uma das operações subsequentes ao beginTransaction, a loja obrigatoriamente deverá consumir a operação getStatus. Esta operação permite que se verifique o status de uma requisição a qual o lojista não obteve a resposta, recuperando os parâmetros que não pôde receber no fluxo normal.

A loja deverá recuperar o status da transação (com o prazo máximo para a consulta de 15 dias) desde que possua o nit, através do webservice getStatus, passando como parâmetro a chave de autenticação da loja (merchantKey) e o nit.

Desenvolvimento/Certificação: caso não tenha recebido o merchantKey para desenvolvimento/certificação, favor solicitar através do e-mail autorizadores5317@softwareexpress.com.br ou pelo telefone (11) 3170-5317.

Produção: o merchantKey para Produção será enviado pela equipe do e-SiTef de Produção, caso não tenha recebido depois dos devidos procedimentos para a entrada em Produção, favor solicitar ao e-mail esitef.prod6773@softwareexpress.com.br.

Note que em casos excepcionais a chave de autenticação (merchantKey) pode ser alterada por questões de segurança, porém a equipe de produção irá entrar em contato com a loja antes da alteração.

Lembrando que diversos fatores podem ocasionar a demora na resposta, incluindo instabilidade de internet e o host da rede autorizadora do cartão. Recomendamos que o servidor da loja tenha configurado o timeout igual ou superior a 90 segundos.

Nota: Este serviço só irá devolver os dados se a transação tiver sido efetuada via Web Services, não irá funcionar em caso de transações via Interface HTML.

Atenção: A consulta de transação no e-SiTef NÃO efetua uma consulta do status da transação no adquirente / autorizador. Este serviço retorna o status da transação na base de dados do e-SiTef.
Exemplo: Caso uma transação de pré-autorização seja confirmada no e-SiTef, mas seja estornada via telefone diretamente no adquirente / autorizador, este estorno não será necessariamente refletido no serviço de consulta de transação do e-SiTef.

Detalhes da chamada

  • Recurso: /v1/transactions/{nit}

  • Método HTTP: GET

  • Formato da requisição: JSON

  • Formato da resposta: JSON

  • Parâmetros de cabeçalho:

Nome do ParâmetroDescriçãoTamanhoObrigatório
Content-TypeValor fixo "application/json"= 15 ASim
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.≤ 80 ASim
nitIdentificador da transação no e-SiTef. Obtido no retorno da chamada ao beginTransaction.= 64 ASim

Parâmetros de Requisição

Na URL do recurso deve ser enviado o nit

Nome do ParâmetroDescriçãoTamanhoObrigatório
nitIdentificador da transação no e-SiTef. Obtido no retorno da chamada ao beginTransaction.= 64 ASim

A chamada da operação de consulta de transações – getStatus – não necessita de corpo de requisição.

Parâmetros de Resposta

Nome do ParâmetroDescriçãoTamanho
codeCódigo de resposta do e-SiTef. Qualquer código diferente de "0" significa falha na consulta. Para maiores informações, consulte o documento Anexo A-2 - Codigos de Resposta.< 4 N
messageMensagem de resposta do e-SiTef da consulta.< 500 AN
acquirer_idCódigo do adquirente/roteamento utilizado na transação.< 4 N
acquirer_nameNome do adquirente/roteamento utilizado na transação.< 100 AN
amountValor da compra especificado pela loja (em centavos) na criação da transação.< 12 AN
authorization_numberNúmero de autorização.< 6 AN
authorizer_codeCódigo de resposta do autorizador.< 10 AN
authorizer_dateData de efetivação da pré-autorização retornada pelo autorizador no formato DD/MM/AAAA’T’HH:mm.
Exemplo: 13/07/2017T16:03= 16 D
authorizer_idCódigo da autorizadora utilizada na transação.< 4 N
authorizer_merchant_idCódigo de afiliação do lojista na autorizadora.< 100 AN
authorizer_messageMensagem de resposta do autorizador.< 500 AN
customer_receiptCupom (via cliente).< 4000 AN
eciEletronic Commerce Indicator (indicador do nível de segurança da transação do pré-autorização via Cielo e-Commerce).< 3 AN
esitef_usnNúmero sequencial único da transação de pré-autorização no e-SiTef.= 6 N
host_usnNSU da autorizadora.< 15 AN
issuerCódigo da bandeira retornado pelo autorizador.< 5 AN
merchant_receiptCupom (via estabelecimento).< 4000 AN
merchant_usnNúmero sequencial único enviado pela loja na criação da transação.< 12 AN
nitIdentificador da transação de pré-autorização no e-SiTef.= 64 AN
order_idCódigo de pedido enviado pela loja na criação da transação.< 40 AN
payment_typeTipo do pagamento da autorizadora escolhida:
B = boleto, C = crédito, D = débito, P = cartão crédito Private Label puro, T = tranferência bancária, G = cartão gift, O = outros meios de pagamentos, W = Boleto NR via Web Service
= 1 A
sitef_usnNúmero sequencial único da transação de pré-autorização no SiTef.= 6 N
statusStatus da transação de pré-autorização no e-SiTef.= 3 AN
tidID da transação no adquirente/roteamento. Este campo só é retornado em transações com adquirentes externos ao SiTef.< 40 AN
xidCampo XID retornado em autenticações 3DS ou certos adquirentes/roteamentos.< 40 AN
acquirer_idCódigo do adquirente/roteamento utilizado na transação.< 4 N
acquirer_nameNome do adquirente/roteamento utilizado na transação.< 100 AN
amountValor da compra especificado pela loja (em centavos) na criação da transação.< 12 AN
authorization_numberNúmero de autorização.< 6 AN
authorizer_codeCódigo de resposta do autorizador.< 10 AN
authorizer_dateData de efetivação do pré-autorização retornada pelo autorizador no formato DD/MM/AAAA’T’HH:mm. Exemplo: 13/07/2017T16:03= 16 D
authorizer_idCódigo da autorizadora utilizada na transação.< 4 N
authorizer_merchant_idCódigo de afiliação do lojista na autorizadora.< 100 AN
authorizer_messageMensagem de resposta do autorizador.< 500 AN
customer_receiptCupom (via cliente).< 4000 AN
eciEletronic Commerce Indicator (indicador do nível de segurança da transação do pré-autorização via Cielo e-Commerce).< 3 AN
esitef_usnNúmero sequencial único da transação de pré-autorização no e-SiTef.= 6 N
host_usnNSU da autorizadora.< 15 AN
issuerCódigo da bandeira retornado pelo autorizador.< 5 AN
merchant_receiptCupom (via estabelecimento).< 4000 AN
merchant_usnNúmero sequencial único enviado pela loja na criação da transação.< 12 AN
nitIdentificador da transação de pré-autorização no e-SiTef.= 64 AN
order_idCódigo de pedido enviado pela loja na criação da transação.< 40 AN
payment_typeTipo do pagamento da autorizadora escolhida:
B = boleto, C = crédito, D = débito, P = cartão crédito Private Label puro, T = tranferência bancária, G = cartão gift, O = outros meios de pagamentos, W = Boleto NR via Web Service
= 1 A
sitef_usnNúmero sequencial único da transação de pré-autorização no SiTef.= 6 N
statusStatus da transação de pré-autorização no e-SiTef.= 3 AN
tidID da transação no adquirente/roteamento. Este campo só é retornado em transações com adquirentes externos ao SiTef.< 40 AN
xidCampo XID retornado em autenticações 3DS ou certos adquirentes/roteamentos.< 40 AN

Atenção: Os campos code e message se referem ao código e mensagem referentes à requisição de consulta. Estes não se referem às transações consultadas.

Exemplo

Requisição:

curl
--request GET "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--verbose

Resposta:

{
    "code": "0",
    "message": "OK. Transaction successful.",
    "pre_authorization": {
        "acquirer_id": "1181",
        "acquirer_name": "GetNet Lac",
        "amount": "1470",
        "authorization_number": "301367",
        "authorizer_code": "000",
        "authorizer_date": "30/10/2018T11:58",
        "authorizer_id": "1",
        "authorizer_merchant_id": "000000000000000",
        "authorizer_message": "Transacao OK"
            "SDO DISPONIVEL                  244,00",
        "customer_receipt": 
            ".....S.O.F.T.W.A.R.E.E.X.P.R.E.S.S...."
            "\nSI                            Rede 181"
            "\nMU               Codigo transacao: 100"
            "\nLA             Codigo operacao: 113000"
            "\nDO                        Valor: 14,70"
            "\n.....S...I...M...U...L...A...D...O...."
            "\nSI                   NSU SiTef: 301367"
            "\nMU                      30/10/18 11:58"
            "\nLA                    ID PDV: ES000025"
            "\nDO             Estab.: 000000000000000"
            "\n.....S...I...M...U...L...A...D...O...."
            "\nSI                     Host: 010301367"
            "\nMU         Transacao Simulada Aprovada"
            "\n                               (SiTef)"
            "\n",
        "esitef_usn": "181030016873984",
        "host_usn": "010301367   ",
        "issuer": "1",
        "merchant_receipt": 
            ".....S.O.F.T.W.A.R.E.E.X.P.R.E.S.S.... " 
            "\nSI                            Rede 181"
            "\nMU               Codigo transacao: 100"
            "\nLA             Codigo operacao: 113000"
            "\nDO                        Valor: 14,70"
            "\n.....S...I...M...U...L...A...D...O...."
            "\nSI                   NSU SiTef: 301367"
            "\nMU                      30/10/18 11:58"
            "\nLA                    ID PDV: ES000025"
            "\nDO             Estab.: 000000000000000"
            "\n.....S...I...M...U...L...A...D...O...."
            "\nSI                     Host: 010301367"
            "\nMU         Transacao Simulada Aprovada"
            "\n                               (SiTef)" 
            "\n",
        "merchant_usn": "20180809",
        "nit": "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
        "order_id": "oioi",
        "payment_type": "C",
        "sitef_usn": "301367",
        "status": "CON"
    },
    "capture": {
        "acquirer_id": "1181",
        "acquirer_name": "GetNet Lac",
        "amount": "1380",
        "authorization_number": "000000",
        "authorizer_date": "30/10/2018T12:00",
        "authorizer_id": "1",
        "customer_receipt": 
            ".....S.O.F.T.W.A.R.E.E.X.P.R.E.S.S.... "
            "\nSI                            Rede 181"
            "\nMU               Codigo transacao: 220"
            "\nLA             Codigo operacao: 113002"
            "\nDO                        Valor: 13,80"
            "\n.....S...I...M...U...L...A...D...O...."
            "\nSI                   NSU SiTef: 301368"
            "\nMU                      30/10/18 12:00"
            "\nLA                    ID PDV: ES000025"
            "\nDO             Estab.: 000000000000000"
            "\n.....S...I...M...U...L...A...D...O...."
            "\nSI                     Host: 010301368"
            "\nMU         Transacao Simulada Aprovada"
            "\n                               (SiTef)"                                         
            "\n",
        "esitef_usn": "181030016874034",
        "host_usn": "010301368   ",
        "issuer": "1",
        "authorizer_code": "000",
        "authorizer_message": "Transacao OK"
            "SDO DISPONIVEL          244,00",
        "merchant_receipt": 
            ".....S.O.F.T.W.A.R.E.E.X.P.R.E.S.S...."
            "\nSI                            Rede 181"                                          
            "\nMU               Codigo transacao: 220"                                          
            "\nLA             Codigo operacao: 113002"                                          
            "\nDO                        Valor: 13,80"                                          
            "\n.....S...I...M...U...L...A...D...O...."                                          
            "\nSI                   NSU SiTef: 301368"                                          
            "\nMU                      30/10/18 12:00"                                          
            "\nLA                    ID PDV: ES000025"                                          
            "\nDO             Estab.: 000000000000000"                             
            "\n.....S...I...M...U...L...A...D...O...."                                          
            "\nSI                     Host: 010301368"               
            "\nMU         Transacao Simulada Aprovada"
            "\n                               (SiTef)"                                          
            "\n",
        "merchant_usn": "20180809",
        "nit": "abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr1234567890",
        "order_id": "201808020001",
        "authorizer_merchant_id": "000000000000000"
        "payment_type": "C",
        "sitef_usn": "301368",
        "status": "CON"
    }
}

Consulta de transações em um grupo de lojas

O e-SiTef exige que as credenciais (merchant_id e merchant_key) sejam as mesmas utilizadas na transação a ser consultada. No entanto, caso o lojista precise, o e-SiTef pode permitir consultas com credenciais de outras lojas de um mesmo grupo. Para isso, basta solicitar às nossas equipes de suporte e produção para que façam essa liberação.

Serviço de Consulta de Cartões

A partir de um NIT de pré autorização com status NOV (novo), é possível realizar uma consulta do BIN do cartão (seis primeiros dígitos) no SiTef para obter dados sobre suas capacidades (possibilidade de pagamento parcelado, máximo de parcelas, exigência de código de segurança, etc.), ou ainda, saber qual autorizadora da loja é a mais adequada para a realização do pagamento.

No caso de transações com Visa Checkout, este serviço também retornará dados do cartão e do usuário retornados pelo Visa.

Fluxo

Descrição do fluxo:

  1. O lojista cria uma transação no e-SiTef passando informações como código da loja, número de parcelas e código de pedido e obtém como resposta um NIT (Número Identificador de Transação).
  2. O lojista envia o NIT obtido na etapa anterior e os dados do cartão a ser consultado. Com isso, o e-SiTef retorna dados sobre as capacidades do cartão enviado.
  3. A loja virtual prossegue então consumindo o serviço de efetivação do pagamento, passando o NIT e os dados do cartão do comprador. Em caso de sucesso, a transação de pagamento mudará seu status para CON (confirmada).

Detalhes da chamada

  • Recursos: /v1/preauthorizations/{nit}/cards

  • Método HTTP: POST

Obs.: apesar de se tratar de uma consulta, o método POST foi escolhido por questões de segurança.

  • Formato da requisição: JSON

  • Formato da resposta: JSON

  • Parâmetros de cabeçalho:

Nome do ParâmetroDescriçãoTipoTamanhoObrigatório
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.AN≤ 15SIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.AN≤ 80SIM
Content-TypeDeve ser enviado com o valor "application/json".AN= 15SIM

Exemplo de Consulta de cartão com envio de autorizadora

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-
sitef/api/v1/preauthorizations/1234567890abcdefghijklmnopqrstuvwxyz123456
7890abcdefghijklmnopqr /cards"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
    "card":{
        "number":"5555555555555555"
    },
    "authorizer_id":"1"
}
--verbose

Resposta:

{
    "code":"0",
    "message":"OK. Transaction successful.",
    "preauthorization":{
        "status":"NOV"
    },
    "card":{
        "acquirer_name":"Redecard",
        "authorizer_id":"1",
        "authorizer_response_code":"000",
        "is_customer_id_required":"false",
        "is_expiry_date_required":"true",
        "is_installment_funding_enabled":"true",
        "is_security_code_required":"true",
        "is_spot_sale_enabled":"true",
        "is_with_interest_sale_enabled":"true",
        "is_without_interest_sale_enabled":"true",
        "max_installments_with_interest":"12",
        "min_installments_with_interest":"01",
        "prefixes":{
            "TRAT":"2",
            "PERIFERICO":"1",
            "CSEG":"2"
        }
    }
}

Exemplo de Consulta de cartão sem envio de autorizadora

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-
sitef/api/v1/preauthorizations/1234567890abcdefghijklmnopqrstuvwxyz123456
7890abcdefghijklmnopqr/cards"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
    "card":{
        "number":"6543210987654321"
    }
}
--verbose

Resposta:

{
    "code":"0",
    "message":"OK. Transaction successful.",
    "preauthorization":{
        "status":"NOV"
    },
    "card":{
        "acquirer_name":"Redecard",
        "authorizer_id":"1",
        "authorizer_response_code":"000",
        "is_customer_id_required":"false",
        "is_expiry_date_required":"true",
        "is_installment_funding_enabled":"true",
        "is_security_code_required":"true",
        "is_spot_sale_enabled":"true",
        "is_with_interest_sale_enabled":"true",
        "is_without_interest_sale_enabled":"true",
        "max_installments_with_interest":"12",
        "min_installments_with_interest":"01",
        "prefixes":{
            "TRAT":"2",
            "PERIFERICO":"1",
            "CSEG":"2"
        }
    }
}

Exemplo de Consulta de cartão Visa Checkout

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-
sitef/api/v1/preauthorizations/1234567890abcdefghijklmnopqrstuvwxyz123
4567890abcdefghijklmnopqr/cards"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
    "card":{
        "wallet_transaction_id":"4444444444444444444"
    },
    "authorizer_id":"406"
}
--verbose

Resposta:

{
    "code":"0",
    "message":"OK. Transaction successful.",
    "preauthorization":{
        "status":"NOV"
    },
    "card":{
        "acquirer_name":"Redecard",
        "authorizer_id":"406",
        "authorizer_response_code":"000",
        "is_customer_id_required":"false",
        "is_expiry_date_required":"true",
        "is_installment_funding_enabled":"true",
        "is_security_code_required":"true",
        "is_spot_sale_enabled":"true",
        "is_with_interest_sale_enabled":"true",
        "is_without_interest_sale_enabled":"true",
        "max_installments_with_interest":"12",
        "min_installments_with_interest":"01",
        "prefixes":{
            "TRAT":"2",
            "PERIFERICO":"1"
        },
        "visa_checkout_data":{
            "payment_request":{
                "currency_code":"BRL",
                "subtotal":"115.5",
                "total":"115.5",
                "order_id":"09387",
                "source_id":"LOJAVISACHECK"
            },
            "user_data":{
                "user_first_name":"Comprador",
                "user_last_name":"Esitef",
                "user_full_name":"Comprador Esitef",
                "user_name":"esitef2@gmail.com",
                "user_email":"esitef2@gmail.com",
                "enc_user_id":"c5DmPXTXC3VwZywsFESEGAqiLM5PXSZG7hgyQgRv0j8=",
                "user_personal_id":"12345678909"
            },
            "creation_time_stamp":1502206049403,
            "payment_instrument":{
                "id":"AWUU0/rQrmKCMx+C740kBefZP2GNsdAMYUTXAzCPk+M=",
                "last_four_digits":"1010",
                "bin_six_digits":"406897",
                "verification_status":"VERIFIED",
                "issuer_bid":"10029901",
                "nick_name":"Cartão PAN",
                "name_on_card":"aaaaaaaaaa vvvvvvvvvv",
                "card_first_name":"aaaaaaaaaa",
                "card_last_name":"vvvvvvvvvv",
                "payment_type":{
                    "card_brand":"VISA",
                    "card_type":"CREDIT"
                },
                "billing_address":{
                    "person_name":"aaaaaaaaaa vvvvvvvvvv",
                    "first_name":"aaaaaaaaaa",
                    "last_name":"vvvvvvvvvv",
                    "line1":"qqqqqqqqqq",
                    "line2":"eeeeee",
                    "line3":"wwwwwwwww",
                    "city":"cccccccc",
                    "state_province_code":"SP",
                    "postal_code":"01238010",
                    "country_code":"BR",
                    "phone":"987654321",
                    "default":"false"
                },
                "card_arts":{
                    "card_art":[
                        {
                            "base_image_file_name":"https://sandbox.secure.checkout.visa.com/VmeCardArts/lg_visa_card.png",
                            "height":105,
                            "width":164
                        }
                    ]
                },
                "expiration_date":{
                    "month":"11",
                    "year":"2022"
                }
            },
            "risk_data":{
                "advice":"UNAVAILABLE",
                "score":0,
                "avs_response_code":"0",
                "cvv_response_code":"0",
                "age_of_account":"704"
            },
            "visa_checkout_guest":"false"
        }
    }
}

Exemplo de Consulta de cartão com dados adicionais para roteamento iCards via SiTef

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-
sitef/api/v1/preauthorizations/1234567890abcdefghijklmnopqrstuvwxyz123456
7890abcdefghijklmnopqr/cards"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
    "card":{
        "number":"6543210987654321"
    },
    "authorizer_id":"38"
}
--verbose

Resposta:

{
    "code": "0",
    "message": "OK. Transaction successful.",
    "card": {
        "acquirer_name": "iCards",
        "authorizer_id": "38",
        "authorizer_response_code": "000",
        "is_customer_id_required": "true",
        "is_expiry_date_required": "true",
        "is_installment_funding_enabled": "true",
        "is_security_code_required": "true",
        "is_spot_sale_enabled": "true",
        "is_with_interest_sale_enabled": "true",
        "is_without_interest_sale_enabled": "true",
        "max_installments_with_interest": "12",
        "min_installments_with_interest": "01",
        "prefixes": {
            "NPSAQ": "0299",
            "CAPTPPRE": "1",
            "XCAPPREAUT": "11"
        },
        "is_customer_postal_code_required": "true",
        "is_card_holder_required": "true"
    },
    "preauthorization": {
        "status": "NOV"
    }
}

Parâmetros de Requisição

Na tabela abaixo está a descrição dos parâmetros de requisição do serviço de consulta de cartão:

Nome do ParâmetroDescriçãoTipoTamanhoObrigatório
authorizer_idCódigo da autorizadora no e-SiTef, conforme listado na lista de autorizadoras. Este campo só é obrigatório caso o campo "wallet_transaction_id" seja enviado.N≤ 3NÃO
numberNúmero do cartão do comprador (PAN).N≤ 19NÃO
tokenHASH de um cartão armazenado no e-SiTef. Não é permitido enviar um número de cartão aberto (campo ‘number’) e um cartão armazenado (campo ‘token’) na mesma requisição.AN= 88NÃO
wallet_transaction_idID de uma transação de carteiras digitais. Por enquanto, essa funcionalidade está disponível apenas para a autorizadora Visa Checkout (authorizer_id:406). Não é permitido enviar um número de cartão aberto (campo ‘number’), um cartão armazenado (campo ‘token’) e um wallet_transaction_id na mesma requisição.AN≤ 25NÃO

Obs: Apesar de não obrigatório, recomenda-se o envio do authorizer_id para a consulta de cartão, principalmente para roteamentos via SiTef, a fim de comportamentos mais efetivos em relação ao roteamento cadastrado para a autorizadora.

Parâmetros de Resposta

Em caso de sucesso, o código de resposta HTTP será 200. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de consulta de cartão:

Nome do ParâmetroDescriçãoTipoTamanho
codeCódigo de resposta do e-SiTef. Qualquer código diferente de ‘0’ significa falha. Para maiores informações, consulte o documento "Anexo A-2 – Codigos de Resposta".N≤ 4
messageMensagem de resposta do e-SiTef.AN≤ 500
statusStatus da transação de pré-autorização no e-SiTef.AN= 3
authorizer_codeCódigo de resposta do autorizador.AN≤ 10
authorizer_messageMensagem de resposta do autorizador.AN≤ 500
acquirer_nameNome do roteamento. Ex.: CieloAN≤ 256
authorizer_idCódigo da autorizadora.N≤ 3
is_customer_id_requiredIndica a obrigatoriedade da coleta do documento do cliente.T/F≤ 5
is_expiry_date_requiredIndica a obrigatoriedade da coleta da data de validade do cartão do comprador.T/F≤ 5
is_installment_funding_enabledIndica se o parcelamento está habilitado.T/F≤ 5
is_security_code_requiredIndica a obrigatoriedade da coleta do código de segurança.T/F≤ 5
is_spot_sale_enabledIndica se o pagamento à vista está habilitado.T/F≤ 5
is_with_interest_sale_enabledIndica se o pagamento com juros está habilitado.T/F≤ 5
is_without_interest_sale_enabledIndica se o pagamento sem juros está habilitado.T/F≤ 5
max_installments_with_interestParcelamento máximo com juros.N≤ 2
min_installments_with_interestParcelamento mínimo com juros.N≤ 2
visa_checkout_dataObjeto com os dados retornados pela Visa Checkout.
financing_plan_listObjeto que consiste em um array de planos de financiamento apresentados em roteamento Via Certa Financiadora. Um plano de financiamento consiste dos seguintes campos:
- cod_plano: código de identificação do plano de financiamento, que deve ser enviado no momento da efetivação do pagamento;
- tipo_plano: código do tipo do plano de financiamento;
- desc_plano: descrição do plano, que pode ser apresentado ao comprador;
- parc_plano: número máximo de parcelas possíveis para o plano.
is_customer_postal_code_requiredIndica a obrigatoriedade da coleta do código postal do usuário (CEP no Brasil).T/F< 5
keyNome do prefixo.AN≤ 1024
valueValor do prefixoAN≤ 1024

Serviço de Edição de Pré-Autorização

O roteamento GetnetLac permite alterar o valor de uma pré-autorização não capturada. Consulte nosso Suporte para verificar se existem outros roteamentos com esta funcionalidade. Para utilizar essa funcionalidade, basta chamar novamente a operação doPreAuthorization com os dados de uma transação de pré-autorização com status CON (confirmada) com adição do campo amount. Abaixo estão os detalhes dessa chamada.

Parâmetros de Requisição:

Nome do ParâmetroDescriçãoTamanhoObrigatório
nitIdentificador da transação no e-SiTef. Obtido no retorno da chamada ao beginTransaction.= 64 ASim
authorizer_idCódigo da autorizadora no e-SiTef. Ver lista de autorizadoras.≤ 3 NSim
amountValor total da compra (em centavos).≤ 12 NSim
numberNúmero do cartão do comprador (PAN).≤ 19 NSim
tokenUtilizado para casos de pagamento recorrente, onde o cartão já deverá estar armazenado na base de dados do e-SiTef. Obrigatório utilizar um entre os campos (number, token ou initial_wallet_transaction_id)= 88 ACondicional
expiry_dateData de vencimento no formato MMAA.= 4 NSim
security_codeCódigo de segurança.≤ 5 NSim

Parâmetros de Resposta:

Nome do ParâmetroDescriçãoTamanho
codeCódigo de resposta do e-SiTef. Qualquer código diferente de "0" significa falha. Para maiores informações, consulte o documento Anexo A-2 - Codigos de Resposta.< 4 N
messageMensagem de resposta do e-SiTef.< 500 AN
acquirer_idCódigo do adquirente/roteamento utilizado na transação.< 4 N
acquirer_nameNome do adquirente/roteamento utilizado na transação.< 100 AN
amountValor da compra especificado pela loja (em centavos).< 12 AN
authorization_numberNúmero de autorização.< 6 AN
authorizer_codeCódigo de resposta do autorizador.< 10 AN
authorizer_dateData de efetivação da pré-autorização retornada pelo autorizador no formato DD/MM/AAAA’T’HH:mm. Exemplo: 13/07/2017T16:03= 16 D
authorizer_idCódigo da autorizadora utilizada na transação.< 4 N
authorizer_merchant_idCódigo de afiliação do lojista na autorizadora.< 100 AN
authorizer_messageMensagem de resposta do autorizador.< 500 AN
customer_receiptCupom (via cliente).< 4000 AN
eciEletronic Commerce Indicator (indicador do nível de segurança da transação da pré-autorização via Cielo e-Commerce).< 3 AN
esitef_usnNúmero sequencial único da transação de pré-autorização no e-SiTef.= 6 N
host_usnNSU da autorizadora.< 15 AN
issuerCódigo da bandeira retornado pelo autorizador.< 5 AN
merchant_receiptCupom (via estabelecimento).< 4000 AN
merchant_usnNúmero sequencial único enviado pela loja na criação da transação.< 12 AN
nitIdentificador da transação de pré-autorização no e-SiTef.= 64 AN
order_idCódigo de pedido enviado pela loja na criação da transação.< 40 AN
payment_typeTipo do pagamento da autorizadora escolhida: B = boleto, C = crédito, D = débito, P = cartão crédito Private Label puro, T = tranferência bancária, G = cartão gift, O = outros meios e pagamentos, W = Boleto NR via Web Service= 1 A
sitef_usnNúmero sequencial único da transação de pré-autorização no SiTef.= 6 N
statusStatus da transação de pré-autorização no e-SiTef.= 3 AN
tidID da transação no adquirente/roteamento. Este campo só é retornado em transações com adquirentes externos ao SiTef.< 40 AN
xidCampo XID retornado em autenticações 3DS ou certos adquirentes/roteamentos.< 40 AN

Em caso de sucesso, será retornado o responseCode ‘0’. O status da transação não será alterado em hipótese alguma (sucesso ou falha). Porém, os campos sitef_usn, host_usn, authorization_number, sitef_date, customer_receipt e merchant_receipt sofrerão mudanças caso a alteração seja confirmada.

Serviço de Edição de Pré-Autorização de Origem Externa

O roteamento GetnetLac permite alterar o valor de uma pré-autorização não capturada, mesmo que a mesma não conste nos registros do e-SiTef. Consulte nosso Suporte para verificar se existem outros roteamentos com esta funcionalidade. Para utilizar essa funcionalidade, basta chamar novamente a operação doPreAuthorization com os dados de uma transação de pré-autorização com status CON (confirmada) com adição do campo amount. Abaixo estão os detalhes dessa chamada.

Atualmente esta funcionalidade permite somente a edição de transações de pré-autorização realizadas no SiTef.

Esta operação possui um passo a mais no fluxo, em relação a uma edição de pré-autorização normal. É preciso que seja criada uma edição de pré-autorização utilizando a operação beginTransaction, que irá gerar um registro no e-SiTef de uma transação com status=NOV, e, retornará ao aplicativo o parâmetro nit, que identificará essa transação.

Criação da edição de pré-autorização com origem externa

Detalhes da Chamada

  • Recurso: /v1/transactions
  • Operação HTTP: POST
  • Formato da requisição: JSON
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
Nome do ParâmetroDescriçãoTamanhoObrigatório
Content-TypeValor fixo "application/json"= 15 ASim
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes≤ 15 ASim
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ASim

Exemplos

Abaixo estão alguns exemplos de chamada do serviço de criação de transações utilizando a ferramenta cURL.

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
    "order_id":"orderID",
    "merchant_usn":"20190101",
    "amount":"100",
    "transaction_type":"preauthorization",
    "is_transaction_origin_external": "true"
}
--verbose

Resposta:

{
    "code": "0",
    "message": "OK. Transaction successful.",
    "pre_authorization": {
        "status": "NOV",
        "nit":
        "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
        "order_id": "orderID",
        "merchant_usn": "20190101",
        "amount": "100"
    }
}

Parâmetros de Requisição

Nome do ParâmetroDescriçãoTamanhoObrigatório
amountValor total da compra (em centavos). Exemplo: 1,00 = 100 ou 1.100,00 = 110000 – enviar o valor sem a vírgula e ponto< 12NSim
encrypted_cardEste campo deve ser enviado com valor "true" caso o número do cartão a ser enviado na próxima etapa do fluxo use a criptografia do SiTef.
A opção de envio do cartão criptografado só será possível com roteamento via SiTef e é necessário a configuração prévia do SiTef em questão.
Opções:
1. "true"
2. "false" (valor default)
< 5 ANNão
merchant_usnNúmero sequencial único para cada pedido, criado pela loja.
O NSU será utilizado em toda a comunicação com a loja, de forma a identificar o pedido. Como se trata de uma possível chave para acesso do lado da loja, apesar de ser opcional para o e-SiTef, é fortemente recomendado que o campo seja formatado e enviado pela aplicação da loja.
< 12 NNão
order_idCódigo do pedido para ser exibido ao comprador, definido pelo lojista. É aconselhável que seja diferente a cada pedido para que facilite a rastreabilidade.
Se a integração da Loja com as redes adquirentes/roteamentos (Cielo, Redecard, etc) for via SiTef (TEF), o campo orderId que tem o tamanho máximo de 40 caracteres, será reduzido a 12 caracteres, devido a uma restrição do SiTef. Essa redução será realizada mantendo os caracteres da esquerda para direita (ex.: se um código de pedido inserido for 12345678901234567890 no e-SiTef, no SiTef ele será apenas 123456789012).
< 40 ANNão
transaction_typeValor fixo "preauthorization"= 15 ASim
soft_descriptorTexto adicional que será apresentado junto ao nome do estabelecimento na fatura do cartão de crédito do comprador. Saiba mais< 22 ANNÃO
is_transaction_origin_externalIndica se a transação foi originada fora do e-SiTef. Valor fixo "true"= 5 ANSim

Legenda do tipo do campo "Tamanho":

A = alfanumérico

N = numérico

N A = não utilizado

Parâmetros de resposta

Nome do ParâmetroDescriçãoTamanho
codeCódigo de resposta do e-SiTef. Qualquer código diferente de ‘0’ significa falha. Para maiores informações, consulte Códigos de Resposta.< 4 N
messageMensagem de resposta do e-SiTef.< 500 A
amountValor da transação especificado pela loja (em centavos) na criação da transação.< 12 N
merchant_usnNúmero sequencial único enviado pela loja na criação da transação.< 12 N
nitIdentificador da transação de pré-autorização no e-SiTef.= 64 A
order_idCódigo de pedido enviado pela loja na criação da transação< 40 AN
statusStatus da transação de pré-autorização no e-SiTef.= 3 A

Efetivação da edição de pré-auto com origem externa

A efetivação segue o mesmo fluxo de uma edição de pré-autorização originada no e-SiTef, mas é preciso enviar alguns parâmetros a mais na requisição.

Parâmetros de Requisição

ParâmetroDescriçãoFormatoObrigatório
acquirer Os campos desse elemento só devem ser enviados em casos de transações de origem externa.
authorizer_idCódigo da autorizadora no e-SiTef. Deve ser o mesmo valor enviado no pagamento.< 3 NSim
host_usnNSU do host/autorizadora da transação a ser cancelada.= 9 NSim
authorization_numberNúmero de autorização da transação a ser cancelada.< 6 NSim
authorizer_dateData de efetivação SiTef do pagamento no formato DD/MM/AAAA.= 10 DSim
order_idCódigo do pedido usado na pré-autorização iniciada externamente ao e-SiTef.< 40 ANNão
identification_numberCPF ou CNPJ usado na pré-autorização iniciada externamente ao e-SiTef.< 20 ANSim
terminalTerminal SiTef que se deseja usar. Se não for enviado, o e-SiTef gerará um terminal aleatório.= 14 NNão
company_codeCódigo de empresa SiTef que se deseja usar. Se não for enviado, o e-SiTef enviará o código de empresa cadastrado na loja.= 8 NNão

Legenda do tipo do campo "Tamanho":

A = alfanumérico

N = numérico

N A = não utilizado

Nota:

1 - Quando as informações de terminal e company_code são enviadas, o comportamento do cardquery muda ligeiramente. Neste momento, ao executar o cardquery, o e-SiTef irá identificar a rede retornada pelo SiTef. Uma vez identificada, esta será usada ao invés da cadastrada na loja.

2 - Nas operações de origem externa, não temos como validar a rede que foi utilizada na parte externa da operação, que foi feita fora do e-SiTef. Nestes casos, usamos a rede configurada no SiTef. Por causa disso, mudanças de configuração, se feitas durante o meio da operação, podem ocasionar solicitações inválidas ou negadas. Por exemplo, se uma pré autorização foi feita no meio físico na rede 181 e, antes da finalização da captura, a configuração do SiTef for alterada para a rede 125, as operações que forem feitas via e-SiTef assumirão a rede 125.

ATENÇÃO: Os parâmetros terminal e company_code devem ser enviados simultaneamente.
É necessário também solicitar à equipe de atendimento do e-SiTef a permissão Permite envio de Empresa e Terminal SiTef via REST.

Exemplo

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/preauthorizations/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
    "amount": "3000",
    "installments": "1",
    "installment_type": "4",
    "card": {
        "number": "5555555555555555",
        "expiry_date": "1222",
        "security_code": "123"
    },
    "acquirer": {
        "authorizer_id": "1",
        "authorization_number": 212820,
        "identification_number": "11111111555",
        "order_id": 1611256811271,
        "authorizer_date": "21/01/2021",
        "host_usn": 999212820   
    }
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "pre_authorization":{
      "authorizer_code":"000",
      "authorizer_message":"Transacao OK SDO DISPONIVEL 244,00",
      "status":"CON",
      "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
      "order_id":"orderID",
      "customer_receipt":"=== CUSTOMER RECEIPT ===",
      "merchant_receipt":"=== MERCHANT RECEIPT ===",
      "authorizer_id":"1",
      "acquirer_id":"1181",
      "acquirer_name":"GetNet Lac",
      "authorizer_date":"30/03/2021T10:03",
      "authorization_number":"300016",
      "merchant_usn":"30120944339",
      "esitef_usn":"210330069186034",
      "sitef_usn":"300016",
      "host_usn":"003300016 ",
      "amount":"3000",
      "payment_type":"C",
      "authorizer_merchant_id":"000000000000000"
   }
}

Serviço de Incremento de Pré-Autorização

Para determinados roteamentos é possível incrementar o valor de uma pré-autorização não capturada. Consulte nosso atendimento para avaliar quais roteamentos possuem esta funcionalidade.

Para utilizar essa funcionalidade, basta chamar novamente a operação doPreAuthorization com os dados de uma transação de pré-autorização com status CON (confirmada) com adição do campo additional_amount. Abaixo estão os detalhes dessa chamada.

Parâmetros de Requisição:

Nome do ParâmetroDescriçãoTamanhoObrigatório
nitIdentificador da transação no e-SiTef. Obtido no retorno da chamada ao beginTransaction.= 64 ASim
authorizer_idCódigo da autorizadora no e-SiTef. Ver lista de autorizadoras.≤ 3 NSim
additional_amountValor que será incrementado na compra (em centavos).≤ 12 NSim
number(*)Número do cartão do comprador (PAN).≤ 19 NSim
token(*)Utilizado para casos de pagamento recorrente, onde o cartão já deverá estar armazenado na base de dados do e-SiTef.= 88 ACondicional
wallet_transaction_id(*)Código de identificação de transação com wallet Visa Checkout.< 25 ACondicional
expiry_dateData de vencimento no formato MMAA.= 4 NSim
security_codeCódigo de segurança.≤ 5 NSim

(*) Obrigatório utilizar apenas um entre os campos: number, token ou wallet_transaction_id

Parâmetros de Resposta:

Nome do ParâmetroDescriçãoTamanho
codeCódigo de resposta do e-SiTef. Qualquer código diferente de "0" significa falha. Para maiores informações, consulte o documento Anexo A-2 - Codigos de Resposta.< 4 N
messageMensagem de resposta do e-SiTef.< 500 AN
acquirer_idCódigo do adquirente/roteamento utilizado na transação.< 4 N
acquirer_nameNome do adquirente/roteamento utilizado na transação.< 100 AN
amountValor total da compra (em centavos), isto é, valor pré-autorizado inicialmente mais o(s) valor(es) incrementado(s).< 12 AN
authorization_numberNúmero de autorização do incremento.< 6 AN
authorizer_codeCódigo de resposta do autorizador do incremento.< 10 AN
authorizer_dateData de efetivação do incremento de pré-autorização retornada pelo autorizador no formato DD/MM/AAAA’T’HH:mm. Exemplo: 13/07/2017T16:03= 16 D
authorizer_idCódigo da autorizadora utilizada no incremento.< 4 N
authorizer_merchant_idCódigo de afiliação do lojista na autorizadora.< 100 AN
authorizer_messageMensagem de resposta do autorizador do incremento.< 500 AN
customer_receiptCupom (via cliente) do incremento.< 4000 AN
eciEletronic Commerce Indicator (indicador do nível de segurança da transação da pré-autorização via Cielo e-Commerce).< 3 AN
esitef_usnNúmero sequencial único da transação de pré-autorização no e-SiTef.= 6 N
host_usnNSU da autorizadora do incremento.< 15 AN
issuerCódigo da bandeira retornado pelo autorizador.< 5 AN
merchant_receiptCupom (via estabelecimento) do incremento.< 4000 AN
merchant_usnNúmero sequencial único enviado pela loja na criação da transação.< 12 AN
nitIdentificador da transação de pré-autorização no e-SiTef.= 64 AN
order_idCódigo de pedido enviado pela loja na criação da transação.< 40 AN
payment_typeTipo do pagamento da autorizadora escolhida: B = boleto, C = crédito, D = débito, P = cartão crédito Private Label puro, T = tranferência bancária, G = cartão gift, O = outros meios e pagamentos= 1 A
sitef_usnNúmero sequencial único do incremento de pré-autorização no SiTef.= 6 N
statusStatus do incremento de pré-autorização no e-SiTef.= 3 AN
tidID do incremento no adquirente/roteamento. Este campo só é retornado em transações com adquirentes externos ao SiTef.< 40 AN
xidCampo XID retornado em autenticações 3DS ou certos adquirentes/roteamentos.< 40 AN

Em caso de sucesso, será retornado o responseCode '0'. O status da transação na base dados do e-SiTef não será alterado em hipótese alguma (sucesso ou falha).

Os campos sitef_usn, host_usn, authorization_number, sitef_date, customer_receipt e merchant_receipt na resposta são referentes ao incremento, porém os respectivos dados não são alterados na base de dados do e-SiTef. Apenas o valor total é incrementado na transação.

Exemplo:

1. Criação e de efetivação de pré-autorização de R$20,00:

a. criação - requisição

JSON
{
"order_id":"orderID",
"merchant_usn":"20190101",
"amount":"2000",
"transaction_type":"preauthorization"
}

supondo que a criação foi efetuada com sucesso...

b. efetivação - requisição

JSON
{
"authorizer_id":"2",
"installments":"2",
"installment_type":"4",
"card":{
"number":"xxxxxxxxxxxxxxxx",
"expiry_date":"1222",
"security_code":"yyy"
}
}

c. resposta

JSON
{
"code":"0",
"message":"OK. Transaction successful.",
"pre_authorization":{
"authorizer_code":"000",
"authorizer_message":"Transacao OK.",
"status":"CON",
"nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
"customer_receipt":"=== CUSTOMER RECEIPT ===",
"merchant_receipt":"=== MERCHANT RECEIPT ===",
"authorizer_id":"2",
"authorizer_date":"09/11/2018T19:40",
"acquirer_id":"1296",
"acquirer_name":"Safra",
"authorization_number":"013245",
"merchant_usn":"20190101",
"esitef_usn":"181109017689784",
"order_id":"orderID",
"sitef_usn":"212194",
"host_usn":"999212194",
"amount":"2000",
"issuer":"2",
"payment_type":"C",
"authorizer_merchant_id":"000000000000000"
}
}

2. Incremento de pré-autorização de R$2,00

a. incremento - requisição

JSON
{
"authorizer_id":"2",
"installments":"2",
"installment_type":"4",
"additional_amount": "200",
"card":{
"number":"xxxxxxxxxxxxxxxx",
"expiry_date":"1222",
"security_code":"yyy"
}
}

b. incremento - resposta

JSON
{
"code":"0",
"message":"OK. Transaction successful.",
"pre_authorization":{
"authorizer_code":"000",
"authorizer_message":"Transacao OK.",
"status":"CON",
"nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
"customer_receipt":"=== CUSTOMER RECEIPT INCREMENT ===",
"merchant_receipt":"=== MERCHANT RECEIPT INCREMENT ===",
"authorizer_id":"2",
"authorizer_date":"09/11/2018T19:42",
"acquirer_id":"1296",
"acquirer_name":"Safra",
"authorization_number":"013246",
"merchant_usn":"20190101",
"esitef_usn":"181109017689785",
"order_id":"orderID",
"sitef_usn":"212195",
"host_usn":"999212195",
"amount":"2200",
"issuer":"2",
"payment_type":"C",
"authorizer_merchant_id":"000000000000000"
}
}

O detalhe desta resposta é que o campo amount contem o valor total pré-autorizado.

3. Consulta de status da transação de pré-autorização resultante

a. consulta de transação - resposta

JSON
{
"code":"0",
"message":"OK. Transaction successful.",
"pre_authorization":{
"authorizer_code":"000",
"authorizer_message":"Transacao OK.",
"status":"CON",
"nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
"customer_receipt":"=== CUSTOMER RECEIPT ===",
"merchant_receipt":"=== MERCHANT RECEIPT ===",
"authorizer_id":"2",
"authorizer_date":"09/11/2018T19:40",
"acquirer_id":"1296",
"acquirer_name":"Safra",
"authorization_number":"013245",
"merchant_usn":"20190101",
"esitef_usn":"181109017689784",
"order_id":"orderID",
"sitef_usn":"212194",
"host_usn":"999212194",
"amount":"2200",
"issuer":"2",
"payment_type":"C",
"authorizer_merchant_id":"000000000000000"
}
}

Serviço de Captura de Pré-Autorização

A captura da Pré-Autorização tem como objetivo a efetivação da Pré-Autorização, que poderá ser no valor total ou inferior ao valor total da Pré-Autorização. Isso vai depender da regra de negócio da aplicação da Loja Virtual.

O fluxo seria: realizar a operação de efetivação de pré-autorização e se o resultado for aprovado, o serviço de captura deverá ser consumido para completar o fluxo. A captura será realizada no momento definido pelas regras de negócios da aplicação.

Na operação de captura, o parâmetro amount pode ter o valor igual ou menor ao valor do parâmetro amount da pré-autorização.

Para o roteamento GetNetLac via SiTef, o parcelamento pode ser feito também na etapa de pré-autorização e nesse caso, a captura deve receber um número de parcelas igual ou superior ao enviado anteriormente. Caso a pré-autorização seja feita à vista, a captura não pode ser parcelada.

Detalhes da chamada

  • Recurso: /v1/preauthorizations/capture/{nit}
  • Método HTTP: POST
  • Formato da requisição: JSON
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
Nome do ParâmetroDescriçãoFormatoObrigatório
Content-TypeValor fixo application/json= 15 ANSIM
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes< 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM

Exemplo

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/preauthorizations/capture/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "amount":"100",
   "installments":"1",
   "installment_type":"4",
   "card":{
      "number":"xxxxxxxxxxxxxxxx",
      "expiry_date":"1222",
      "security_code":"123"
   },
   "acquirer":{
      "submerchant_split":[
         {
            "submerchant_code":"empresa01",
            "submerchant_amount":"10"
         },
         {
            "submerchant_code":"empresa02",
            "submerchant_amount":"20"
         },
         {
            "submerchant_code":"empresa03",
            "submerchant_amount":"20"
         },
         {
            "submerchant_code":"empresa04",
            "submerchant_amount":"30"
         },
         {
            "submerchant_code":"empresa05",
            "submerchant_amount":"30"
         }
      ]
   }
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "capture":{
      "status":"CON",
      "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
      "order_id":"orderID",
      "customer_receipt":"=== CUSTOMER RECEIPT ===",
      "merchant_receipt":"=== MERCHANT RECEIPT ===",
      "authorizer_id":"2",
      "acquirer_id":"1005",
      "acquirer_name":"Redecard",
      "authorizer_code":"000",
      "authorizer_message":"Transacao OK.",
      "authorizer_date":"09/11/2018T19:40",
      "authorizer_merchant_id":"000000000000000",
      "authorization_number":"212195",
      "esitef_usn":"180921015287704",
      "merchant_usn":"20190101",
      "sitef_usn":"212195",
      "host_usn":"999212195",
      "amount":"100",
      "payment_type":"C",
      "issuer":"2"
   }
}

Parâmetros da requisição

ParâmetroDescriçãoFormatoObrigatório
amountValor total da compra (em centavos).< 12 NSIM
discountValor do desconto, em centavos. Em caso de pré-autorizações com valores promocionais pelo uso do Visa Checkout, a VISA sugere que este campo seja enviado adicionalmente.< 12 NNÃO
installmentsNúmero de parcelas. 1 = à vista.

O número máximo de parcelas configurado no portal e-SiTef do lojista não será verificado neste campo, servindo somente para pagamentos HTML.
< 2 NSIM
installment_typeJuntamente com o campo installments, indica parcelamento. Os valores possíveis para installment_type são:
  • 3: Parcelamento com juros da administradora do cartão
  • 4: Parcelamento realizado pela loja e sem juros (adotar este valor como padrão/default para transações à vista)
= 1 NSIM
promo_codeCódigo de promoção Visa Checkout utilizado no pré-autorização. Em caso de pré-autorizações com valores promocionais pelo uso do Visa Checkout, a VISA sugere que este campo seja enviado adicionalmente.ANNÃO
subtotalValor do subtotal, em centavos. Em caso de pré-autorizações com valores promocionais pelo uso do Visa Checkout, a VISA sugere que este campo seja enviado adicionalmente.< 12 NNÃO
card O envio de dados de cartão é obrigatório para transações com roteamento SiTef com exceção do adquirente Cetelem. Deve ser utilizado apenas um entre os campos: number, token ou wallet_transaction_id
numberNúmero do cartão do comprador (PAN).< 19 NCOND.
tokenUtilizado para casos de pré-autorização recorrente, onde o cartão já deverá estar armazenado na base de dados do e-SiTef.= 88 ANCOND.
wallet_transaction_idCódigo de identificação de transação com wallet VisaCheckout. Necessário apenas para Visa Checkout< 25 ANCOND.
initial_wallet_transaction_idInforma se o Wallet ID (wallet_transaction_id) está sendo utilizado pela primeira vez. Se for a primeira vez, enviar true, caso contrário, enviar false. Necessário apenas para Visa Checkout.

Valor padrão: true
< 5 ANCOND.
expiry_dateData de vencimento do cartão no formato MMAA.= 4 NCOND.
security_codeCódigo de segurança.< 5 NCOND.
acquirer.
submerchant_split[]
Consiste em um array para pagamentos split, exclusivos para roteamentos BIN e Sipag, ambos via SiTef. Permite a divisão de partes do valor total do pagamento entre outras empresas. O máximo de itens permitido neste array é de 5 itens. Cada item é composto pelos campos submechant_code e submerchant_amount.
submerchant_codeCódigo de estabelecimento BIN/Sipag< 15 ANNÃO
submerchant_amountvalor de transação referente ao estabelecimento< 12 NNÃO
mccO MCC (Merchant Category Code) é um código que classifica um negócio pelo tipo de bens ou produtos fornecidos.< 4 NNÃO
subacquirer_merchant_idIdentificação da loja na subadquirente.< 22 ANNÃO

Parâmetros de resposta

ParâmetroDescriçãoFormato
codeCódigo de resposta do e-SiTef. Qualquer código diferente de 0 significa falha. Para maiores informações, consulte o documento anexo A-2 - Codigos de Resposta.< 4 N
messageMensagem de resposta do e-SiTef.< 500 AN
capture
acquirer_idCódigo do adquirente/roteamento utilizado na transação.< 4 N
acquirer_nameNome do adquirente/roteamento utilizado na transação.< 100 AN
amountValor da compra especificado pela loja (em centavos) na criação da transação.< 12 AN
authorization_numberNúmero de autorização.< 6 AN
authorizer_codeCódigo de resposta do autorizador.< 10 AN
authorizer_dateData de efetivação da pré-autorização retornada pelo autorizador no formato DD/MM/AAAA’T’HH:mm. Exemplo: 13/07/2017T16:03= 16 D
authorizer_idCódigo da autorizadora utilizada na transação.< 4 N
authorizer_merchant_idCódigo de afiliação do lojista na autorizadora.< 100 AN
authorizer_messageMensagem de resposta do autorizador.< 500 AN
customer_receiptCupom (via cliente).< 4000 AN
eciEletronic Commerce Indicator (indicador do nível de segurança da transação do pré-autorização via Cielo e-Commerce).< 3 AN
esitef_usnNúmero sequencial único da transação de pré-autorização no e-SiTef.= 6 N
host_usnNSU da autorizadora.< 15 AN
issuerCódigo da bandeira retornado pelo autorizador.< 5 AN
merchant_receiptCupom (via estabelecimento).< 4000 AN
merchant_usnNúmero sequencial único enviado pela loja na criação da transação.< 12 AN
nitIdentificador da transação de pré-autorização no e-SiTef.= 64 AN
payment_typeTipo do pagamento da autorizadora escolhida: B = boleto, C = crédito, D = débito, P = cartão crédito Private Label puro, T = tranferência bancária, G = cartão gift, O = outros meios de pagamentos, W = Boleto NR via Web Service= 1 AN
sitef_usnNúmero sequencial único da transação de pré-autorização no SiTef.= 6 N
statusStatus da transação de pré-autorização no e-SiTef.= 3 AN
tidID da transação no adquirente/roteamento. Este campo só é retornado em transações com adquirentes externos ao SiTef.< 40 AN
xidCampo XID retornado em autenticações 3DS ou certos adquirentes/roteamentos.< 40 AN

Serviço Captura de Pré autorização com origem externa

A funcionalidade de captura origem externa consiste em efetuar a operação de captura de uma transação mesmo que ela não conste nos registros do e-SiTef.

Atualmente esta funcionalidade permite somente a captura de transações de pré autorização realizadas no SiTef.

Esta operação possui um passo a mais no fluxo, em relação a uma captura normal. É preciso que seja criada uma captura utilizando a operação beginTransaction, que irá gerar um registro no e-SiTef de uma transação com status=NOV, e, retornará ao aplicativo o parâmetro nit, que identificará essa transação.

Criação da captura origem externa

Detalhes da Chamada

  • Recurso: /v1/transactions
  • Operação HTTP: POST
  • Formato da requisição: JSON
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
Nome do ParâmetroDescriçãoTamanhoObrigatório
Content-TypeValor fixo "application/json"= 15 ASim
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes≤ 15 ASim
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ASim

Exemplos

Abaixo estão alguns exemplos de chamada do serviço de criação de transações utilizando a ferramenta cURL.

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
    "order_id":"orderID",
    "merchant_usn":"20190101",
    "amount":"100",
    "transaction_type":"capture",
    "is_transaction_origin_external": "true"
}
--verbose

Resposta:

{
    "code": "0",
    "message": "OK. Transaction successful.",
    "capture": {
        "status": "NOV",
        "nit":
        "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
        "order_id": "orderID",
        "merchant_usn": "20190101",
        "amount": "100"
    }
}

Parâmetros de Requisição

Nome do ParâmetroDescriçãoTamanhoObrigatório
amountValor total da compra (em centavos). Exemplo: 1,00 = 100 ou 1.100,00 = 110000 – enviar o valor sem a vírgula e ponto< 12NSim
encrypted_cardEste campo deve ser enviado com valor "true" caso o número do cartão a ser enviado na próxima etapa do fluxo use a criptografia do SiTef.
A opção de envio do cartão criptografado só será possível com roteamento via SiTef e é necessário a configuração prévia do SiTef em questão.
Opções:
1. "true"
2. "false" (valor default)
< 5 ANNão
merchant_usnNúmero sequencial único para cada pedido, criado pela loja.
O NSU será utilizado em toda a comunicação com a loja, de forma a identificar o pedido. Como se trata de uma possível chave para acesso do lado da loja, apesar de ser opcional para o e-SiTef, é fortemente recomendado que o campo seja formatado e enviado pela aplicação da loja.
< 12 NNão
order_idCódigo do pedido para ser exibido ao comprador, definido pelo lojista. É aconselhável que seja diferente a cada pedido para que facilite a rastreabilidade.
Se a integração da Loja com as redes adquirentes/roteamentos (Cielo, Redecard, etc) for via SiTef (TEF), o campo orderId que tem o tamanho máximo de 40 caracteres, será reduzido a 12 caracteres, devido a uma restrição do SiTef. Essa redução será realizada mantendo os caracteres da esquerda para direita (ex.: se um código de pedido inserido for 12345678901234567890 no e-SiTef, no SiTef ele será apenas 123456789012).
< 40 ANNão
transaction_typeValor fixo "capture"= 7 ASim
is_transaction_origin_externalIndica se a transação foi originada fora do e-SiTef. Valor fixo "true"= 5 ANSim
soft_descriptorTexto adicional que será apresentado junto ao nome do estabelecimento na fatura do cartão de crédito do comprador. Saiba mais< 22 ANNÃO

Legenda do tipo do campo "Tamanho":

A = alfanumérico

N = numérico

N A = não utilizado

Parâmetros de resposta

Nome do ParâmetroDescriçãoTamanho
codeCódigo de resposta do e-SiTef. Qualquer código diferente de ‘0’ significa falha. Para maiores informações, consulte Códigos de Resposta.< 4 N
messageMensagem de resposta do e-SiTef.< 500 A
amountValor da transação especificado pela loja (em centavos) na criação da transação.< 12 N
merchant_usnNúmero sequencial único enviado pela loja na criação da transação.< 12 N
nitIdentificador da transação de pré-autorização no e-SiTef.= 64 A
order_idCódigo de pedido enviado pela loja na criação da transação< 40 AN
statusStatus da transação de pré-autorização no e-SiTef.= 3 A

Efetivação da captura origem externa

A efetivação segue o mesmo fluxo de uma captura de transação originada no e-SiTef, mas é preciso enviar alguns parâmetros a mais na requisição.

Parâmetros de Requisição

ParâmetroDescriçãoFormatoObrigatório
acquirer Os campos desse elemento só devem ser enviados em casos de captura origem externa.
authorizer_idCódigo da autorizadora no e-SiTef. Deve ser o mesmo valor enviado no pagamento.< 3 NSim
host_usnNSU do host/autorizadora da transação a ser cancelada.= 9 NSim
authorization_numberNúmero de autorização da transação a ser cancelada.< 6 NSim
authorizer_dateData de efetivação SiTef do pagamento no formato DD/MM/AAAA.= 10 DSim
order_idCódigo do pedido usado na pré-autorização iniciada externamente ao e-SiTef.< 40 ANNão
identification_numberCPF ou CNPJ usado na pré-autorização iniciada externamente ao e-SiTef.< 20 ANSim
terminalTerminal SiTef que se deseja usar. Se não for enviado, o e-SiTef gerará um terminal aleatório.= 14 NNão
company_codeCódigo de empresa SiTef que se deseja usar. Se não for enviado, o e-SiTef enviará o código de empresa cadastrado na loja.= 8 NNão

Legenda do tipo do campo "Tamanho":

A = alfanumérico

N = numérico

N A = não utilizado

Nota:

1 - Quando as informações de terminal e company_code são enviadas, o comportamento do cardquery muda ligeiramente. Neste momento, ao executar o cardquery, o e-SiTef irá identificar a rede retornada pelo SiTef. Uma vez identificada, esta será usada ao invés da cadastrada na loja.

2 - Nas operações de origem externa, não temos como validar a rede que foi utilizada na parte externa da operação, que foi feita fora do e-SiTef. Nestes casos, usamos a rede configurada no SiTef. Por causa disso, mudanças de configuração, se feitas durante o meio da operação, podem ocasionar solicitações inválidas ou negadas. Por exemplo, se uma pré autorização foi feita no meio físico na rede 181 e, antes da finalização da captura, a configuração do SiTef for alterada para a rede 125, as operações que forem feitas via e-SiTef assumirão a rede 125.

ATENÇÃO: Os parâmetros terminal e company_code devem ser enviados simultaneamente.
É necessário também solicitar à equipe de atendimento do e-SiTef a permissão Permite envio de Empresa e Terminal SiTef via REST.

Exemplo

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/preauthorizations/capture/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
    "amount": "300",
    "installments": "1",
    "installment_type": "4",
    "card": {
        "number": "5555555555555555",
        "expiry_date": "1222",
        "security_code": "123"
    },
    "acquirer": {
        "authorizer_id": "2",
        "authorization_number": 212820,
        "identification_number": "11111111555",
        "order_id": 1611256811271,
        "authorizer_date": "21/01/2021",
        "host_usn": 999212820   
    }
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "capture":{
      "status":"CON",
      "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
      "order_id":"orderID",
      "customer_receipt":"=== CUSTOMER RECEIPT ===",
      "merchant_receipt":"=== MERCHANT RECEIPT ===",
      "authorizer_id":"2",
      "acquirer_id":"1005",
      "acquirer_name":"Redecard",
      "authorizer_code":"000",
      "authorizer_message":"Transacao OK.",
      "authorizer_date":"21/01/2021T19:40",
      "authorizer_merchant_id":"000000000000000",
      "authorization_number":"212195",
      "esitef_usn":"180921015287704",
      "merchant_usn":"20190101",
      "sitef_usn":"212195",
      "host_usn":"999212195",
      "amount":"100",
      "payment_type":"C",
      "issuer":"2"
   }
}

Agendamento REST

Visão Geral

O e-SiTef possui duas interfaces para integração com a loja virtual, POST/HTML e Web Services (REST ou SOAP), possibilitando a maneira adequada de interação da loja com o e-SiTef, conforme a linguagem e plataforma de execução da loja virtual.

Na interface REST, a coleta dos dados do cartão e do pagamento será realizada pela Loja Virtual e o e-SiTef apenas se encarregará de efetuar o pagamento com a instituição financeira.

Nessa interface estão disponíveis os pagamentos com cartão de crédito, débito ou voucher. Para pagamentos via banco como transferência bancária, boleto, utilize a interface POST/HTML.

Também disponível nesta interface está a funcionalidade de agendamento de pagamentos recorrentes.

Comunicação

Para realizar uma transação Web Service, toda a comunicação será realizada via HTTPS/SSL. É importante que o servidor do lojista suporte criptografia com no mínimo 128 bits. O servidor da loja deverá realizar chamadas em endereços específicos para transações REST.

Cada serviço deve ser chamado utilizando a URL base concatenada do recurso desejado (veja o capítulo referente ao serviço a ser consumido). O método HTTP (GET, POST ou PUT) indica a ação esperada sobre o recurso escolhido. Abaixo estão as URLs base do e-SiTef:

URL base de Produção:

https://esitef-ec.softwareexpress.com.br/e-sitef/api

URL base de Homologação:

https://esitef-homologacao.softwareexpress.com.br/e-sitef/api

Todas as chamadas realizadas para os serviços serão respondidas de forma síncrona.

Atenção:

Nunca utilize o IP ao invés do domínio esitef-ec.softwareexpress.com.br. O IP pode mudar a qualquer momento e sem aviso prévio, portanto é importante a utilização do domínio para acesso ao e-SiTef.

Importante:

Além dos parâmetros de retorno dos serviços descritos nesta especificação o e-SiTef poderá devolver outros parâmetros sem aviso prévio.

É importante que o aplicativo esteja preparado para receber os parâmetros desconhecidos além dos parâmetros já especificados e simplesmente desprezá-los.

Fluxo

É possível realizar um agendamento de transações recorrentes com ou sem um pagamento imediato. No caso de agendamento com pagamento, o e-SiTef garante a atomicidade da operação, ou seja, o agendamento só será ativado se o pagamento for confirmado.

Agendamento com pagamento imediato

Descrição do fluxo:

  1. O lojista cria uma transação no e-SiTef passando os dados de pagamento e agendamento e obtém como resposta um NIT (número identificador de transação). O simples fato de dados de agendamento serem enviados já será interpretado como um pagamento com agendamento.
  2. A loja virtual prossegue então consumindo o serviço de efetivação do pagamento, passando o NIT e os dados do cartão do comprador. Em caso de sucesso, a transação de pagamento mudará seu status para CON (confirmada) e a transação de agendamento assumirá o status ATV (ativa).

Também é possível fazer um pagamento com agendamento com confirmação tardia. O fluxo a ser seguido é o mesmo de um pagamento simples com confirmação tardia. Saiba mais.

Agendamento sem pagamento imediato

Descrição do fluxo:

  1. O lojista cria uma transação no e-SiTef passando os dados do agendamento e o parâmetro do_payment_now com valor false. Como resposta, o lojista obterá um SID (identificador de agendamento).
  2. A loja virtual prossegue então consumindo o serviço de ativação do agendamento, passando o SID e os dados do cartão do comprador. Em caso de sucesso, o agendamento terá seu status alterado para ATV (ativo).

Consulta dos agendamentos

As informações das transações de agendamento podem ser consultadas através do mesmo serviço utilizado pela interface de Pagamento REST. Saiba mais.

Quick start

Este guia mostra o processo de agendamento de pagamentos recorrentes, utilizando a interface web service REST do e-SiTef.

O que você precisará

  • Cadastro ativo no ambiente de homologação do e-SiTef (obtido com nossa equipe de suporte)
  • Uma ferramenta capaz de realizar chamadas HTTP, como Postman, REST Client ou cURL

Criando a transação

Tipo de requisição: POST

URL: https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions

Headers:

  • Content-Type: application/json
  • merchant_id: {seu código de loja}
  • merchant_key: {chave da sua loja}

Requisição:

JSON
cURL
{
"merchant_usn":"12055523043",
"order_id":"12055523043",
"authorizer_id":"2",
"schedule":{
"amount":"1",
"do_payment_now":"false",
"initial_date":"03/08/2025",
"number_of_times":"3",
"interval":"1",
"soft_descriptor":"Assinatura",
"show_times_invoice":"false"
},
"additional_data":{
"payer":{
"store_identification":"98253053045"
}
}
}
curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxxxxxx"
--data-binary
{
"merchant_usn":"12055523043",
"order_id":"12055523043",
"authorizer_id":"2",
"schedule":{
"amount":"1",
"do_payment_now":"false",
"initial_date":"03/08/2025",
"number_of_times":"3",
"interval":"1",
"soft_descriptor":"Assinatura",
"show_times_invoice":"false"
},
"additional_data":{
"payer":{
"store_identification":"98253053045"
}
}
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "schedule":{
      "status":"NOV",
      "sid":"<sid>",
      "amount":"1",
      "order_id":"12055523043",
      "merchant_usn":"12055523043"
   }
}

Saiba mais sobre esse serviço.

Ativando o agendamento

Tipo de requisição: POST

URL: https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/schedules/<sid>

Preencha o campo <sid> na URL acima com o SID obtido na resposta da fase anterior de criação da transação.

Headers:

  • Content-Type: application/json
  • merchant_id: {seu código de loja}
  • merchant_key: {chave da sua loja}

Requisição:

JSON
cURL
{
"card":{
"number":"5555555555555555",
"expiry_date":"1222"
}
}
curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/schedules/<sid>"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--header "Content-Type: application/json"
--data-binary
{
"card":{
"number":"5555555555555555",
"expiry_date":"1222"
}
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "schedule":{
      "status":"ATV",
      "sid":"<sid>",
      "schedule_usn":"170713000000040",
      "amount":"1",
      "initial_date":"03/08/2025",
      "next_date":"03/08/2025",
      "number_of_times":"3",
      "soft_descriptor":"Assinatura",
      "show_times_invoice":"false"
   }
}

Saiba mais sobre esse serviço.

Verificando o estado do agendamento

Tipo de requisição: GET

URL: https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/schedules/<sid>

Preencha o campo <sid> na URL acima com o SID obtido na resposta da fase de criação da transação.

Headers:

  • Content-Type: application/json
  • merchant_id: {seu código de loja}
  • merchant_key: {chave da sua loja}

Requisição:

cURL
curl
--request GET "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/schedules/<sid>"
--header "merchant_id: xxxxxxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "schedule":{
      "status":"ATV",
      "sid":"<sid>",
      "schedule_usn":"170713000000050",
      "authorizerId":"2",
      "amount":"1",
      "initial_date":"03/08/2025",
      "next_date":"03/08/2025",
      "number_of_times":"3",
      "current_times":"0",
      "soft_descriptor":"Assinatura",
      "show_times_invoice":"false"
   }
}

Saiba mais sobre esse serviço.

Serviço de criação da transação

Para criar uma transação de agendamento, deve-se chamar o mesmo serviço utilizado para criação de pagamentos. O consumo deste método é obrigatório no fluxo de agendamento de recorrência.

Saiba mais sobre esse serviço.

Serviço de ativação de agendamento

Após criar um agendamento sem pagamento e obter um SID, é possível prosseguir para a próxima etapa do fluxo: a chamada ao serviço de ativação de agendamento. Para agendamentos com pagamento, o serviço de efetivação de pagamento deve ser chamado.

Detalhes da chamada

  • Recurso: /v1/schedules/{sid}
  • Método HTTP: POST
  • Formato da requisição: JSON
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.< 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM
Content-TypeDeve ser enviado com o valor application/json.= 15 ANSIM

Exemplos

Abaixo está um exemplo de chamada do serviço de ativação de agendamento utilizando a ferramenta cURL.

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/schedules/qwertyuiopasdfghjklzxcvbnm0123456789qwertyuiopasdfghjklzxcvbnm01"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--header "Content-Type: application/json"
--data-binary
{
   "card":{
      "number":"5555555555555555",
      "expiry_date":"1222"
   }
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "schedule":{
      "status":"ATV",
      "sid":"qwertyuiopasdfghjklzxcvbnm0123456789qwertyuiopasdfghjklzxcvbnm01",
      "schedule_usn":"170713000000040",
      "amount":"900",
      "initial_date":"03/08/2017",
      "next_date":"03/08/2017",
      "number_of_times":"3",
      "soft_descriptor":"Assinatura",
      "show_times_invoice":"false"
   }
}

Parâmetros de requisição

Na tabela abaixo está a descrição dos parâmetros de requisição do serviço de ativação de agendamento:

ParâmetroDescriçãoFormatoObrigatório
authorizer_idCódigo da autorizadora no e-SiTef. Saiba mais.
Caso este campo não tenha sido enviado na etapa de criação da transação, ele passa a ser obrigatório ao consumir o serviço de ativação de agendamento.
< 3 NCOND.
card Dados do cartão.
numberNúmero do cartão do comprador (PAN).< 19 NSIM
expiry_dateData de vencimento do cartão no formato MMAA. Sua obrigatoriedade depende do adquirente escolhido. Na maioria dos casos, esse campo é obrigatório.= 4 NCOND.
holderNome do portador do cartão. Obrigatório apenas para pagamentos com e-Rede, GetNet WS e VR (SmartNet).< 30 ANCOND.
tokenHASH de um cartão armazenado no e-SiTef. Não é permitido enviar um número de cartão aberto (campo number) e um cartão armazenado (campo token) na mesma requisição.= 88 ANNÃO
wallet_transaction_idID de uma transação de carteiras digitais. Por enquanto, essa funcionalidade está disponível apenas para a autorizadora Visa Checkout.
Não é permitido enviar um número de cartão aberto (campo number), um cartão armazenado (campo token) e um wallet_transaction_id na mesma requisição.
< 25 ANNÃO

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 201. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de ativação de agendamento:

ParâmetroDescriçãoFormato
codeCódigo de resposta do e-SiTef. Qualquer código diferente de 0(zero) significa falha. Saiba mais.< 4 N
messageMensagem de resposta do e-SiTef.< 500 AN
schedule
statusStatus do agendamento no e-SiTef. Saiba mais.= 3 AN
sidIdentificador da transação de agendamento no e-SiTef.= 64 AN
schedule_usnNúmero sequencial único do agendamento no e-SiTef.= 15 N
authorizer_idCódigo da autorizadora a ser utilizada nos pagamentos agendados.= 4 N
amountValor dos pagamentos agendados especificado pela loja (em centavos) na criação da transação.< 12 N
order_idCódigo de pedido enviado pela loja na criação da transação.< 40 AN
merchant_usnNúmero sequencial único enviado pela loja na criação da transação.< 12 N
initial_dateData de execução do primeiro pagamento agendado no formato DD/MM/AAAA.= 10 D
next_dateData de execução do próximo pagamento agendado no formato DD/MM/AAAA.= 10 D
number_of_timesNúmero total de pagamentos agendados.< 3 N
soft_descriptorTexto adicional que será apresentado junto ao nome do estabelecimento na fatura do cartão de crédito do comprador. Saiba mais< 30 AN
show_times_invoicePara agendamentos por tempo finito, caso esse campo tenha valor true acrescenta ao final do campo soft_descriptor o número de execuções/total de execuções (exemplo: Assinatura 3/12).< 5 T/F

Execução dos pagamentos agendados

Diariamente, o e-SiTef processará os pagamentos agendados do dia em questão e atualizará dados dos agendamentos executados, como o número de execuções corrente. Caso o agendamento já tenha sido executado pelo número de vezes desejado pelo lojista, ele terá seu status alterado para FIN (finalizado) e será desconsiderado em futuros processamentos, pois somente agendamentos com status ATV (ativo) serão executados.

O número corrente de execuções de um agendamento só será incrementado em pagamentos confirmados ou negados. Em caso de transações negadas, o e-SiTef não os reprocessará.

Para cada pagamento realizado, o e-SiTef realizará um POST na URL de status da loja configurada no e-SiTef, informando vários dados do pagamento recorrente.

Aviso de status dos pagamentos recorrentes

No cadastro da loja deve ser informada uma URL de Status, onde o e-SiTef irá enviar um POST HTTPS (x-www-form-urlencoded) contendo o status da transação em adição dos seguintes parâmetros:

curl -X POST \
  https://dominiocadastrado.com.br \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'Postman-Token: b639d289-f3c9-4cec-a0e3-a4e3742a792e' \
  -H 'cache-control: no-cache' \
  -d 'rede=xxxx&tipoFinanciamento=4&binCartao=xxxxxx&nsuesitef=191107123456780&tid=authorizerTransactionId12345678901234567&parcelas=2&nsu=merchantNsu&autorizadora=1&nit=nitWith64charsLike1234567890123456789012345678901234567890123457&pedido=orderId1234&
  tipoPagamento=C&finalCartao=2345&status=NEG'
ParâmetroDescriçãoFormato
nitNIT identificador da transação= 64 A
pedidoCódigo do Pedido (na loja)< 20 A
nsuNúmero sequencial enviado pela loja< 12 N
nsuSitefNúmero sequencial único do SiTef< 10 A
nsuHostNúmero sequencial único da Autorizadora< 20 A
nsuesitefNSU do e-SiTef= 15 A
statusStatus da transação de pagamento no e-SiTef. Saiba mais.= 3 A
cupomCupom do pagamento (via do cliente) em caso de pagamento efetuado. Não contém quebras de linha, cada linha é separada por @ ao invés de quebra de linha.< 4000 A
cupomEstabelecimentoCupom do estabelecimento em caso de pagamento efetuado. Não contém quebras de linha, cada linha é separada por um @.< 4000 A
autorizadoraCódigo da Autorizadora (no e-SiTef)< 10 A
tipoPagamentoTipo do pagamento: C=Crédito, D=Débito, B=Boleto= 1 A
dataSitefData do pagamento no formato DD/MM/AAAA hh:mm:SS.
Atenção: este parâmetro só é enviado para transações confirmadas que foram roteadas pelo SiTef.
= 19 A
dataEfetivacaoData do pagamento no formato DD/MM/AAAA hh:mm:SS no caso de pagamentos que não forem via SiTef.
Atenção: este parâmetro só é enviado para transações confirmadas que não foram roteadas pelo SiTef.
= 19 A
parcelasNúmero de parcelas< 2 N
tipoFinanciamentoTipo do financiamento escolhido pelo cliente. 3 = parcelado administradora (com juros), 4 = parcelado loja (sem juros).= 1 N
mensagemMensagem da autorizadora< 1024 A
redeNome da rede pela qual o pagamento está sendo efetuado< 500 A
numeroAutorizacaoNúmero da autorização (gerado pela autorizadora)= 6 A
tidTID da transação, presente somente quando efetuada via meios de pagamento externos.= 40 A
eciEletronic Comerce Indicator (ECI) da transação presente somente em transações com autenticação.= 3 A
bandeiraCódigo da bandeira utilizada na transação, conforme tabela de código de bandeiras (Apêndice D).< 5 N
binCartaoBIN (6 primeiros dígitos) do cartão usado para pagamento.= 6 N
finalCartaoÚltimos 4 dígitos do cartão usado para pagamento.= 4 N

Importante:

Além dos parâmetros acima o e-SiTef pode devolver outros sem aviso prévio. Por favor, esteja preparado para receber parâmetros extras além dos da tabela acima, que podem ser ignorados.

Não é necessário devolver nada no POST, porém se o POST não for bem-sucedido (HTTP Status-Code 200: OK), o e-SiTef tentará de novo até o número de vezes configurado no sistema, antes de desistir e deixar a transação como pendente de aviso.

Nem todos os parâmetros podem estar presentes em todas as transações, alguns parâmetros podem não ser enviados dependendo da forma de pagamento ou se a transação não for concluída, por exemplo.

Restrições do agendamento

Abaixo estão listadas as funcionalidades não suportadas pelo agendamento:

  • Envio de prefixos do SiTef
  • Pagamentos com autenticação
  • Pagamentos com análise de fraude
  • Transações IATA
  • Uso de cartão com criptografia do SiTef
  • Envio do código de segurança nos pagamentos agendados

Fluxo de edição de agendamento

O e-SiTef disponibiliza serviços para alteração dos dados de um agendamento previamente feito. Com isso, é possível, por exemplo, inativar um agendamento ou mudar o cartão.

Para garantir a integridade dos dados dos agendamentos, o fluxo de edição exige uma etapa de autenticidade, onde o e-SiTef faz um POST na URL de autenticidade cadastrada da loja com os dados necessários para dar continuidade ao fluxo e realizar a edição de fato.

Descrição do fluxo:

  • 1. O lojista inicia uma edição de agendamento passando o SID da transação desejada. Em caso de sucesso, o e-SiTef retornará código e mensagem correspondentes.
    • 1.1. Durante a chamada de criação de edição de agendamento, o e-SiTef fará um POST na URL de autenticidade cadastrada da loja com o SEID (identificador da edição de agendamento). A loja deve então responder a esse POST com um código HTTP 200 (OK). Caso esse código não seja devolvido, o e-SiTef interpretará como uma falha nessa operação e invalidará o SEID.
  • 2. A loja virtual prossegue o fluxo chamando o serviço de edição de agendamento, passando o SEID obtido no POST de autenticidade e os dados a serem alterados. Caso nenhum problema ocorra, o e-SiTef retornará uma mensagem de sucesso e os dados atualizados do agendamento.

Quick start: edição de agendamento

Este guia mostra o processo de edição de um agendamento, utilizando a interface web service REST do e-SiTef.

O que você precisará

  • SID de um agendamento com status ATV ou INA no e-SiTef. Saiba mais.
  • Uma ferramenta capaz de realizar chamadas HTTP, como Postman, REST Client ou cURL
  • Uma aplicação capaz de receber chamadas POST HTTPS

Criando uma edição de agendamento

Tipo de requisição: POST

URL: https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/schedules/edits

Headers:

  • Content-Type: application/json
  • merchant_id: {seu código de loja}
  • merchant_key: {chave da sua loja}

Requisição: Preencha o campo <sid> na requisição abaixo com o SID do agendamento a ser alterado.

JSON
cURL
{
"sid":"<sid>",
"merchant_data":"14114532781"
}
curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/schedules/edits"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"sid":"<sid>",
"merchant_data":"14114532781"
}
--verbose

Recebimento do POST de autenticidade:

Java + Spring Framework
@RestController
public class MyAuthenticityController {

@PostMapping(value = "/myauthenticity",
consumes = "application/x-www-form-urlencoded; charset=utf-8")
public ResponseEntity<String> myAuthenticity(@RequestParam Map<String, String> request) {
Log.info("seid = " + request.get("seid"));
// ...
// armazena o SEID da edição de agendamento
// ...
return new ResponseEntity<>("OK", HttpStatus.OK);
}

}

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful."
}

Saiba mais sobre esse serviço.

Alterando o agendamento

Tipo de requisição: PUT

URL: https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/schedules/edits/<seid>

Preencha o campo <seid> na URL acima com o SEID obtido no POST de autenticidade.

Headers:

  • Content-Type: application/json
  • merchant_id: {seu código de loja}
  • merchant_key: {chave da sua loja}

Requisição:

JSON
cURL
{
"status":"INA"
}
curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/schedules/edits/<seid>"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"status":"INA"
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "schedule":{
      "status":"INA",
      "amount":"1",
      "next_date":"03/08/2025",
      "number_of_times":"3",
      "current_times":"0",
      "soft_descriptor":"Assinatura",
      "show_times_invoice":"false"
   },
   "schedule_edit":{
      "status":"CON"
   }
}

Saiba mais sobre esse serviço.

Serviço de criação de edição de agendamento

O consumo desse serviço é obrigatório no fluxo de edição de agendamento. Como resultado dessa operação, o lojista obterá um SEID que será necessário para o próximo passo do fluxo.

O SEID possui um tempo limite para sua utilização. Este prazo está configurado no e-SiTef, e caso seja excedido, a transação de edição passará do status NOV (nova) para EXP (expirada), o que impede futuras operações com essa transação, tornando necessário consumir novamente o serviço de criação de edição.

Detalhes da chamada

  • Recurso: /v1/schedules/edits
  • Método HTTP: POST
  • Formato da requisição: JSON
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.< 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM
Content-TypeDeve ser enviado com o valor application/json.= 15 ANSIM

Exemplo

Abaixo está um exemplo de chamada do serviço de criação de edição de agendamento utilizando a ferramenta cURL.

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/schedules/edits"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "sid":"qwertyuiopasdfghjklzxcvbnm0123456789qwertyuiopasdfghjklzxcvbnm01",
   "merchant_data":"14114532781"
}
--verbose

POST de autenticidade:

seid=qwertyuiopasdfghjklzxcvbnm0123456789qwertyuiopasdfghjklzxcvbnm02
merchant_data=14114532781
sid=qwertyuiopasdfghjklzxcvbnm0123456789qwertyuiopasdfghjklzxcvbnm01

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful."
}

Parâmetros de requisição

Na tabela abaixo está a descrição dos parâmetros de requisição do serviço de criação de edição de agendamento:

ParâmetroDescriçãoFormatoObrigatório
sidIdentificador do agendamento a ser editado.= 64 ANSIM
merchant_dataDados gerados pelo lojista que serão retornados no POST de autenticidade. Este campo pode ser utilizado para ajudar a loja a identificar a origem dos POSTs de autenticidade recebidos.< 20 ANNÃO

Parâmetros do POST de autenticidade

Na tabela abaixo está a descrição dos parâmetros enviados pelo e-SiTef no POST de autenticidade:

ParâmetroDescriçãoFormato
seidIdentificador da edição de agendamento a ser utilizado na próxima etapa do fluxo.= 64 AN
sidIdentificador do agendamento a ser alterado.= 64 AN
merchant_dataDados enviados pelo lojista para ajudar a identificar a origem do POST de autenticidade.< 20 AN

O e-SiTef também pode enviar novos parâmetros sem aviso prévio, o que significa que a aplicação do lojista deve estar preparada para receber campos extras e simplesmente ignorá-los.

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 201. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de criação de edição de agendamento:

ParâmetroDescriçãoFormato
codeCódigo de resposta do e-SiTef. Qualquer código diferente de 0(zero) significa falha. Saiba mais.< 4 N
messageMensagem de resposta do e-SiTef.< 500 AN

Serviço de edição de agendamento

Após obter um SEID na etapa anterior, a loja poderá realizar edição do agendamento de fato. Todos os parâmetros enviados serão considerados para edição, ou seja, caso não queira alterar um atributo do agendamento, basta enviar o parâmetro vazio.

Detalhes da chamada

  • Recurso: /v1/schedules/edits/{seid}
  • Método HTTP: PUT
  • Formato da requisição: JSON
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.< 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM
Content-TypeDeve ser enviado com o valor application/json.= 15 ANSIM

Exemplos

Abaixo estão alguns exemplos de chamada do serviço de edição de agendamento utilizando a ferramenta cURL.

Edição de múltiplos atributos

Requisição:

curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/schedules/edits/qwertyuiopasdfghjklzxcvbnm0123456789qwertyuiopasdfghjklzxcvbnm02"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "status":"INA",
   "amount":"5555",
   "next_date":"15/07/2017",
   "installments":"2",
   "installment_type":"3",
   "soft_descriptor":"Assinatura",
   "show_times_invoice":"false",
   "card":{
      "expiry_date":"1222",
      "number":"5555555555555555"
   }
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "schedule":{
      "status":"INA",
      "amount":"5555",
      "next_date":"15/07/2017",
      "number_of_times":"3",
      "current_times":"0",
      "soft_descriptor":"Assinatura",
      "show_times_invoice":"false"
   },
   "schedule_edit":{
      "status":"CON"
   }
}

Inativação de agendamento

Requisição:

curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/schedules/edits/qwertyuiopasdfghjklzxcvbnm0123456789qwertyuiopasdfghjklzxcvbnm02"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "status":"INA"
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "schedule":{
      "status":"INA",
      "amount":"900",
      "next_date":"03/08/2017",
      "number_of_times":"3",
      "current_times":"0",
      "soft_descriptor":"Assinatura",
      "show_times_invoice":"false"
   },
   "schedule_edit":{
      "status":"CON"
   }
}

Parâmetros de requisição

Na tabela abaixo está a descrição dos parâmetros de requisição do serviço de edição de agendamento:

ParâmetroDescriçãoFormatoObrigatório
statusStatus do agendamento. Pode receber os seguintes valores:
ATV – Ativa o agendamento. Este valor deve ser usado sobre agendamentos com status INA (inativo). Caso o agendamento seja reativado após sua data de execução, ele será reagendado para o mesmo dia do mês seguinte.
INA – Inativa o agendamento, ou seja, os pagamentos agendados previamente não serão mais executados.
= 3 ANNÃO
amountValor em centavos dos pagamentos agendados.< 12 NNÃO
next_dateData da próxima execução do agendamento no formato DD/MM/AAAA. Só são permitidas datas futuras com dia entre 1 e 28.= 10 DNÃO
installmentsNúmero de parcelas de cada pagamento agendado.< 2 NNÃO
installment_typeTipo de financiamento do parcelamento de cada pagamento agendado:
Valor 3 = parcelamento com juros da administradora do cartão.
Valor 4 = parcelamento realizado pela loja e sem juros (adotar este valor como padrão/default para transações à vista).
< 2 NNÃO
soft_descriptorTexto adicional que será apresentado junto ao nome do estabelecimento na fatura do cartão de crédito do comprador. Saiba mais< 30 ANNÃO
show_times_invoicePara agendamentos por tempo finito, enviar esse campo com valor true caso se deseje acrescentar ao final do campo soft_descriptor o número de execuções/total de execuções (exemplo: Assinatura 3/12).< 5 T/FNÃO
card
numberNúmero do cartão do comprador (PAN).< 19 NNÃO
expiry_dateData de vencimento do cartão no formato MMAA. O envio deste parâmetro deve, obrigatoriamente, vir acompanhado do número do cartão, ou seja, não é possível enviar apenas a data de validade.= 4 NNÃO

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 200. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de edição de agendamento:

ParâmetroDescriçãoFormato
codeCódigo de resposta do e-SiTef. Qualquer código diferente de 0(zero) significa falha. Saiba mais.< 4 N
messageMensagem de resposta do e-SiTef.< 500 AN
schedule
statusStatus do agendamento no e-SiTef. Saiba mais.= 3 AN
amountValor dos pagamentos agendados especificado pela loja (em centavos) na criação da transação.< 12 N
next_dateData de execução do próximo pagamento agendado no formato DD/MM/AAAA.= 10 D
number_of_timesNúmero total de pagamentos agendados.< 3 N
current_timesNúmero de pagamentos agendados já executados.< 3 N
installmentsNúmero de parcelas a ser utilizado nos pagamentos agendados.< 2 N
installment_typeTipo de financiamento a ser utilizado nos pagamentos agendados.< 2 N
soft_descriptorTexto adicional que será apresentado junto ao nome do estabelecimento na fatura do cartão de crédito do comprador.< 30 AN
show_times_invoicePara agendamentos por tempo finito, caso esse campo tenha valor true acrescenta ao final do campo soft_descriptor o número de execuções/total de execuções (exemplo: Assinatura 3/12).< 5 T/F
schedule_edit
statusStatus da edição de agendamento no e-SiTef. Pode assumir os seguintes valores:
NOV – Novo
EXP – Expirado
CON – Confirmado
INV – Inválido
= 3 AN

Recarga REST

Visão Geral

A coleta dos dados será realizada pela Loja Virtual, que capturará as informações de recarga e os dados do cartão (em caso de recarga com pagamento) ou apenas as informações de recarga (para realizar apenas uma recarga).

Comunicação

Para realizar uma transação Web Service, toda a comunicação será realizada via HTTPS/SSL. É importante que o servidor do lojista suporte criptografia com no mínimo 128 bits. O servidor da loja deverá realizar chamadas em endereços específicos para transações REST.

Cada serviço deve ser chamado utilizando a URL base concatenada do recurso desejado (veja o capítulo referente ao serviço a ser consumido). O método HTTP (GET, POST ou PUT) indica a ação esperada sobre o recurso escolhido. Abaixo estão as URLs base do e-SiTef:

URL base de Produção:

https://esitef-ec.softwareexpress.com.br/e-sitef

URL base de Homologação:

https://esitef-homologacao.softwareexpress.com.br/e-sitef

Todas as chamadas realizadas para os serviços serão respondidas de forma síncrona.

Atenção:

Nunca utilize o IP ao invés do domínio esitef-ec.softwareexpress.com.br. O IP pode mudar a qualquer momento e sem aviso prévio, portanto é importante a utilização do domínio para acesso ao e-SiTef.

Importante:

Além dos parâmetros de retorno dos serviços descritos nesta especificação o e-SiTef poderá devolver outros parâmetros sem aviso prévio.

É importante que o aplicativo esteja preparado para receber os parâmetros desconhecidos além dos parâmetros já especificados e simplesmente desprezá-los.

Fluxo de recarga sem pagamento

O fluxo de recarga sem pagamento pode ser realizado conforme o exemplo da figura acima.

O desenvolvedor deve seguir o que foi especificado no documento de integração do e-SiTef e enviar os parâmetros:

  • De acordo com o tamanho e tipo (numérico ou alfanumérico);
  • Se o campo é obrigatório, condicional ou opcional.

De forma resumida, segue abaixo o fluxo transacional para Recarga. Com isso, algumas dúvidas devem ser esclarecidas, agilizando o processo de integração com o e-SiTef.

  • 1. O fluxo se inicia com a aplicação da loja realizando uma chamada para iniciar recarga;
    • 1.1. De modo síncrono, o e-SiTef fará um POST HTTPS na URL de autenticidade informada pelo lojista e cadastrada no backoffice do e-SiTef. O POST enviado conterá o NIT necessário para prosseguir com a recarga;
    • 1.2. A resposta da loja ao POST HTTPS obrigatoriamente deve ser "200 OK";
    • 1.3. A resposta do e-SiTef à chamada para iniciar recarga será um código indicando sucesso (valor 0) ou fracasso (valor diferente de 0);
  • 2. A loja então deve fazer uma chamada para listar concessionárias passando o NIT recebido anteriormente;
    • 2.1. O e-SiTef retorna uma lista contendo os dados das concessionárias1;
  • 3. A loja então deve fazer uma chamada para listar dados da filial passando o código da concessionária escolhida, o DDD desejado e o NIT;
    • 3.1. O e-SiTef retorna os dados da filial, incluindo valores possíveis de recarga, períodos de validade, valores de bônus, dentre outros;
  • 4. A loja deve então fazer uma chamada para efetuar recarga passando o NIT, o código da concessionária escolhida, o telefone, o DDD e o valor selecionado;
    • 4.1. O e-SiTef inicia a recarga com a operadora escolhida e retorna os dados da recarga pendente de confirmação;
  • 5. A loja deve impreterivelmente fazer uma chamada para confirmar recarga passando o NIT e um campo indicando se a recarga pendente deve ser confirmada ou desfeita na operadora;
    • 5.1. O e-SiTef retorna uma resposta indicando o resultado da confirmação ou desfazimento da recarga;

Fluxo de recarga com pagamento

O fluxo de recarga com ou sem pagamento são iguais, com adendo de que o fluxo com pagamento exige que sejam enviados os dados do pagamento na chamada de efetuar recarga.

Quick start

Este guia mostra o processo de efetivação de um recarga, utilizando a interface web service REST do e-SiTef.

O que você precisará

  • Cadastro ativo no ambiente de homologação do e-SiTef (obtido com nossa equipe de suporte)
  • Uma ferramenta capaz de realizar chamadas HTTP, como Postman, REST Client ou cURL

Criando a transação

Tipo de requisição: POST

URL: https://esitef-homologacao.softwareexpress.com.br/e-sitef/v3/recharge

Headers:

  • Content-Type: application/json

Requisição:

JSON
cURL
{
"begin_recharge_request":{
"merchant_key":"XXXXXXXX"
}
}
curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/v3/recharge"
--header "Content-Type: application/json"
--data-binary
{
"begin_recharge_request":{
"merchant_key":"XXXXXXXX"
}
}
--verbose

Recebimento do POST de autenticidade:

Java + Spring Framework
@RestController
public class MyAuthenticityController {

@PostMapping(value = "/myauthenticity",
consumes = "application/x-www-form-urlencoded; charset=utf-8")
public ResponseEntity<String> myAuthenticity(@RequestParam Map<String, String> request) {
Log.info("nit = " + request.get("nit"));
// ...
// armazena o NIT da recarga
// ...
return new ResponseEntity<>("OK", HttpStatus.OK);
}

}

Resposta:

{
   "begin_recharge_response":{
      "esitef":{
         "message":"OK. Transaction successful.",
         "code":"0"
      }
   }
}

Saiba mais sobre esse serviço.

Listando concessionárias

Tipo de requisição: GET

URL: https://esitef-homologacao.softwareexpress.com.br/e-sitef/v3/rechargedealers

Requisição:

cURL
curl
--request GET "https://esitef-homologacao.softwareexpress.com.br/e-sitef/v3/rechargedealers?nit=asdfghjk12345678asdfghjk12345678asdfghjk12345678asdfghjk12345678&generalhash=0000000000000000"
--verbose

Resposta:

{
   "list_dealers_response":{
      "status":"NOV",
      "esitef":{
         "message":"OK. Transaction successful.",
         "code":"0"
      },
      "authorizer":{
         "message":"",
         "code":"000"
      },
      "hashes":{
         "general":"09A9681D09A9681D"
      },
      "dealers":[
         {
            "name":"Vivo",
            "code":"001"
         },
         {
            "name":"Claro",
            "code":"002"
         },
         {
            "name":"Oi",
            "code":"003"
         },
         {
            "name":"Tim",
            "code":"004"
         }
      ]
   }
}

Saiba mais sobre esse serviço.

Listando dados da filial

Tipo de requisição: GET

URL: https://esitef-homologacao.softwareexpress.com.br/e-sitef/v3/rechargebranches

Requisição:

cURL
curl
--request GET "https://esitef-homologacao.softwareexpress.com.br/e-sitef/v3/rechargebranches?nit=asdfghjk12345678asdfghjk12345678asdfghjk12345678asdfghjk12345678&ddd=00&dealercode=1&generalhash=0000000000000000"
--verbose

Resposta:

{
   "list_branch_data_response":{
      "status":"NOV",
      "esitef":{
         "message":"OK. Transaction successful.",
         "code":"0"
      },
      "sitef":{
         "code":"000"
      },
      "hashes":{
         "general":"09A9681D09A9681D"
      },
      "questions":[
         {
            "id":"5",
            "display":"Qual o nome do seu pai?",
            "rule":"3",
            "min":"5",
            "max":"30",
            "type":"i"
         }
      ],
      "general":[
         {
            "message":"MENSAGEM DE TESTE"
         }
      ],
      "categories":[
         {
            "code":"01",
            "description":"RECARGA",
            "amount_ranges":[
               {
                  "message":"MSG_FAIXA_1",
                  "amount_key":"7",
                  "bonus_in_percentage":"100",
                  "bonus":"50",
                  "payment_amount":"700",
                  "bonus_category":"1",
                  "expiry_date":"30",
                  "bonus_expiry_date":"15",
                  "min_amount":"500",
                  "max_amount":"10000"
               },
               {
                  "message":"MSG_FAIXA_2",
                  "amount_key":"8",
                  "bonus_in_percentage":"500",
                  "bonus_category":"2",
                  "min_amount":"1000",
                  "max_amount":"50000"
               }
            ],
            "fixed_amounts":[
               {
                  "bonus":"50",
                  "message":"MSG_FIXO_1",
                  "amount":"300",
                  "amount_key":"1",
                  "bonus_category":"2",
                  "bonus_in_percentage":"200",
                  "payment_amount":"10",
                  "expiry_date":"60",
                  "bonus_expiry_date":"15"
               },
               {
                  "message":"MSG_FIXO_2",
                  "amount":"1500",
                  "amount_key":"2",
                  "payment_amount":"30"
               },
               {
                  "message":"MSG_FIXO_3",
                  "amount":"2000",
                  "amount_key":"3"
               },
               {
                  "amount":"2200",
                  "amount_key":"4",
                  "expiry_date":"90"
               },
               {
                  "message":"MSG_FIXO_4",
                  "amount":"5000",
                  "amount_key":"6",
                  "expiry_date":"120"
               }
            ]
         },
         {
            "code":"02",
            "description":"SMS",
            "amount_ranges":[

            ],
            "fixed_amounts":[

            ]
         },
         {
            "code":"03",
            "description":"PRIMEIRA_RECARGA",
            "amount_ranges":[

            ],
            "fixed_amounts":[

            ]
         }
      ],
      "payment_methods":{
         "max":"4",
         "available":[
            "00",
            "01",
            "02:10",
            "03:10",
            "04:10",
            "05:10",
            "06:10"
         ]
      }
   }
}

Saiba mais sobre esse serviço.

Efetivando a recarga

Recarga com pagamento

Tipo de requisição: PUT

URL: https://esitef-homologacao.softwareexpress.com.br/e-sitef/v3/recharge/<nit>

Headers:

  • Content-Type: application/json

Requisição:

JSON
cURL
{
"do_recharge_request":{
"hashes":{
"general":"0000000000000000"
},
"dealer":{
"code":"1",
"type_code":"03",
"branch":{
"code":"98006000000"
}
},
"phone":{
"ddd":"11",
"number":"123456789"
},
"amount":"3000",
"amount_key":"3",
"used_payment_methods":[
"11",
"12"
],
"answers":[
{
"code":"1",
"description":"resposta"
},
{
"code":"2",
"description":"resposta2"
}
],
"terminal_type":"03",
"cpf":"8298374982374",
"cnpj":"123121333000123",
"zip_code":"01310100",
"payment":{
"amount":"12",
"authorizer_id":"1",
"customer_id":"12341234",
"merchant_key":"OIAUSWHFN012375901J23047FNN00UYWHN0R871Y2ND87",
"installment":{
"number":"2",
"type":"4"
},
"card":{
"number":"1111111111111111",
"token":"",
"security_code":"123",
"expiry_date":"1222"
},
"extra_param":[
{
"key":"CRIPTO",
"value":"1"
}
]
}
}
}
curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/v3/recharge/asdfghjk12345678asdfghjk12345678asdfghjk12345678asdfghjk12345678"
--header "Content-Type: application/json"
--data-binary
{
"do_recharge_request":{
"hashes":{
"general":"0000000000000000"
},
"dealer":{
"code":"1",
"type_code":"03",
"branch":{
"code":"98006000000"
}
},
"phone":{
"ddd":"11",
"number":"123456789"
},
"amount":"3000",
"amount_key":"3",
"used_payment_methods":[
"11",
"12"
],
"answers":[
{
"code":"1",
"description":"resposta"
},
{
"code":"2",
"description":"resposta2"
}
],
"terminal_type":"03",
"cpf":"8298374982374",
"cnpj":"123121333000123",
"zip_code":"01310100",
"payment":{
"amount":"12",
"authorizer_id":"1",
"customer_id":"12341234",
"merchant_key":"OIAUSWHFN012375901J23047FNN00UYWHN0R871Y2ND87",
"installment":{
"number":"2",
"type":"4"
},
"card":{
"number":"1111111111111111",
"token":"",
"security_code":"123",
"expiry_date":"1222"
},
"extra_param":[
{
"key":"CRIPTO",
"value":"1"
}
]
}
}
}
--verbose

Resposta:

{
   "do_recharge_response":{
      "status":"PPC",
      "order_id":"12344231",
      "merchant_usn":"5123",
      "esitef":{
         "message":"OK",
         "code":"0",
         "usn":"123456789012345"
      },
      "sitef":{
         "message":"OK",
         "code":"0"
      },
      "host":{
         "message":"OK",
         "code":"0"
      },
      "acquirer":{
         "branch_code":"cod filial",
         "merchant_code":"codigoEstab"
      },
      "authorization":{
         "confirmation_data":"000033333",
         "authorizer_date":"20150514",
         "authorizer_time":"1100",
         "host_usn":"11122",
         "sitef_usn":"333",
         "number":"332234"
      },
      "customer":{
         "total_copies":3,
         "receipt":"COMPROVANTE DE RECARGA via do cliente"
      },
      "merchant":{
         "total_copies":3,
         "receipt":"COMPROVANTE DE RECARGA via do estabelecimento"
      },
      "payment_methods":{
         "max":4,
         "available":[
            {
               "name":"dinheiro"
            },
            {
               "name":"cheque"
            }
         ]
      },
      "payment":{
         "status":"PPC",
         "amount":"12",
         "type":"C",
         "esitef":{
            "usn":"098765432109876",
            "date":"12/12/2012 12:12"
         },
         "customer":{
            "receipt":"nwiugrnboinb APROVADO via do cliente"
         },
         "merchant":{
            "receipt":"nwiugrnboinb APROVADO via do estabelecimento "
         },
         "authorizer_id":"1",
         "acquirer":"CIELO",
         "authorization":{
            "number":"163457212",
            "sitef_usn":"456456",
            "host_usn":"654654",
            "tid":"7334312a2",
            "eci":"fr3u214wf71",
            "sitef_date":"12122012"
         },
         "analysis":{
            "status":"PEN",
            "code":"0",
            "message":"aprovado"
         },
         "extra_param":[
            {
               "key":"CRIPTO",
               "value":"1"
            }
         ],
         "sitef":{
            "code":"000"
         }
      }
   }
}

Recarga sem pagamento

Requisição:

JSON
cURL
{
"do_recharge_request":{
"dealer":{
"code":"1"
},
"phone":{
"ddd":"11",
"number":"123456789"
},
"amount":"3000"
}
}
curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/v3/recharge/asdfghjk12345678asdfghjk12345678asdfghjk12345678asdfghjk12345678"
--header "Content-Type: application/json"
--data-binary
{
"do_recharge_request":{
"dealer":{
"code":"1"
},
"phone":{
"ddd":"11",
"number":"123456789"
},
"amount":"3000"
}
}
--verbose

Resposta:

{
   "do_recharge_response":{
      "status":"PPC",
      "order_id":"12344231",
      "merchant_usn":"5123",
      "esitef":{
         "message":"OK",
         "code":"0",
         "usn":"123456789012345"
      },
      "sitef":{
         "message":"OK",
         "code":"0"
      },
      "host":{
         "message":"OK",
         "code":"0"
      },
      "acquirer":{
         "branch_code":"cod filial",
         "merchant_code":"codigoEstab"
      },
      "authorization":{
         "confirmation_data":"000033333",
         "authorizer_date":"20150514",
         "authorizer_time":"1100",
         "host_usn":"11122",
         "sitef_usn":"333",
         "number":"332234"
      },
      "customer":{
         "total_copies":3,
         "receipt":"COMPROVANTE DE RECARGA via do cliente"
      },
      "merchant":{
         "total_copies":3,
         "receipt":"COMPROVANTE DE RECARGA via do estabelecimento"
      },
      "payment_methods":{
         "max":4,
         "available":[
            {
               "name":"dinheiro"
            },
            {
               "name":"cheque"
            }
         ]
      }
   }
}

Saiba mais sobre esse serviço.

Confirmando a recarga

Tipo de requisição: PUT

URL: https://esitef-homologacao.softwareexpress.com.br/e-sitef/v3/recharge/<nit>

Headers:

  • Content-Type: application/json

Requisição:

JSON
cURL
{
"confirm_recharge_request":{
"confirm":"true",
"merchant_key":"AOSDJF210349H3R0374H874H3T7AHG90SF"
}
}
curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/v3/recharge/asdfghjk12345678asdfghjk12345678asdfghjk12345678asdfghjk12345678"
--header "Content-Type: application/json"
--data-binary
{
"confirm_recharge_request":{
"confirm":"true",
"merchant_key":"AOSDJF210349H3R0374H874H3T7AHG90SF"
}
}
--verbose

Resposta:

{
   "confirm_recharge_response":{
      "esitef":{
         "message":"OK",
         "code":"0"
      },
      "status":"CON",
      "payment":{
         "status":"CON"
      }
   }
}

Saiba mais sobre esse serviço.

Consultando a recarga

Tipo de requisição: PUT

URL: https://esitef-homologacao.softwareexpress.com.br/e-sitef/v3/recharge/<nit>

Preencha o campo na URL acima com o NIT obtido na resposta da fase de criação da transação.

Headers:

  • Content-Type: application/json

Requisição:

cURL
curl
--request GET "https://esitef-homologacao.softwareexpress.com.br/e-sitef/v3/recharge/asdfghjk12345678asdfghjk12345678asdfghjk12345678asdfghjk12345678/?merchantkey=ASDFGHJK12345678ASDFGHJK12345678"
--verbose

Resposta:

{
   "get_status_recharge_response":{
      "status":"CON",
      "esitef":{
         "message":"OK",
         "code":"0"
      },
      "authorizers":[
         {
            "name":"sitef",
            "message":"textoExibicao",
            "code":"codigoRespSitef"
         },
         {
            "name":"nome operadora (186)",
            "message":"OK",
            "code":"196"
         }
      ],
      "acquirer":{
         "branch_code":"cod filial",
         "merchant_code":"codigoEstab"
      },
      "authorization":{
         "confirmation_data":"000033333",
         "authorizer_date":"20150514",
         "authorizer_time":"1100",
         "host_usn":"11122",
         "sitef_usn":"333",
         "number":"332234"
      },
      "customer":{
         "total_copies":3,
         "receipt":"COMPROVANTE DE RECARGA mimimim cliente whiskas sache"
      },
      "merchant":{
         "total_copies":3,
         "receipt":"COMPROVANTE DE RECARGA mimimim estabelecimento lorem ipsum"
      },
      "payment_methods":{
         "max":2,
         "available":[
            {
               "name":"dinheiro"
            },
            {
               "name":"cheque"
            }
         ]
      },
      "payment":{
         "status":"PPC",
         "amount":"12",
         "type":"C",
         "esitef":{
            "usn":"098765432109876",
            "date":"12/12/2012 12:12"
         },
         "customer":{
            "receipt":"nwiugrnboinbAPROVADOaoisuerhn"
         },
         "merchant":{
            "receipt":"nwiugrnboinbAPROVADOaoisuerhn"
         },
         "authorizer_id":"1",
         "acquirer":"CIELO",
         "authorization":{
            "number":"163457212",
            "sitef_usn":"456456",
            "host_usn":"654654",
            "tid":"7334312a2",
            "eci":"fr3u214wf71",
            "sitef_date":"12122012"
         },
         "analysis":{
            "status":"PEN",
            "code":"0",
            "message":"hahaha"
         },
         "extra_param":[
            {
               "key":"CRIPTO",
               "value":"1"
            }
         ],
         "sitef":{
            "code":"000"
         }
      }
   }
}

Saiba mais sobre esse serviço.

Serviço de criação de recarga

POST de autenticidade x assinatura

O e-SiTef possui duas formas de autenticação da loja na interface de recarga REST: POST de autenticidade ou assinatura.

No método de POST de autenticidade, o e-SiTef enviará os dados da transação de recarga recém-criada para a URL de autenticidade cadastrada da loja.

No método de assinatura, a loja deve ter uma chave pública de criptografia RSA cadastrada no e-SiTef e deverá montar uma assinatura JWT (JSON Web Tokens) a ser enviada no cabeçalho Authorization. Neste caso, as informações da transação de recarga serão retornadas diretamente na resposta do serviço. Saiba mais.

Detalhes da chamada

  • Recurso: /v3/recharge
  • Método HTTP: POST
  • Formato da requisição: JSON
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
Content-TypeDeve ser enviado com o valor application/json.= 15 ANSIM
AuthorizationDeve ser enviada a assinatura de autenticação da loja no formato Bearer {assinatura}. Exemplo: Bearer JHVGytfdgauygdauiw78264284527852897hagdg.< 2000 ANNÃO

Exemplos

Abaixo estão alguns exemplos de chamada do serviço de criação de recarga utilizando a ferramenta cURL.

Criação de recarga com envio de todos os parâmetros

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/v3/recharge"
--header "Content-Type: application/json"
--data-binary
{
   "begin_recharge_request":{
      "merchant_key":"XXXXXXXX",
      "merchant_usn":"2398",
      "order_id":"023748",
      "general_hash":"0000000000000000",
      "recharge_type":"normal"
   }
}
--verbose

Resposta:

{
   "begin_recharge_response":{
      "esitef":{
         "message":"OK. Transaction successful.",
         "code":"0"
      }
   }
}

Criação de recarga com envio mínimo de parâmetros

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/v3/recharge"
--header "Content-Type: application/json"
--data-binary
{
   "begin_recharge_request":{
      "merchant_key":"XXXXXXXX"
   }
}
--verbose

Resposta:

{
   "begin_recharge_response":{
      "esitef":{
         "message":"OK. Transaction successful.",
         "code":"0"
      }
   }
}

Criação de recarga com envio de assinatura

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/v3/recharge"
--header "Content-Type: application/json"
--header "Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJtZXJjaGFudF9pZCI6IkxPFGFURVNURSIsIm1lcmNoYW50X2tleSI6IkYxOURFMDAxNzdDMzAxREYyNEE4NjVGMTFBQTlCMjU2N0Y2MDQ4OTFGMEY0NEREQUVGRDY5RTMzOTlFMEI3RTEiLCJvcmRlcl9pZCI6IjEzMDE0ODU4NjYzIiwibWVyY2hhbnRfdXNuIjoiMTQ0NjY4MTAxNiIsInRpbWVzdGFtcCI6IjE2MDUzMDM1ODA5MzEifQ.JoYz8mQ8PZ8MCr5QXygbivAy2x9fvdUEGu_jSeOYF-BtSGm7ZSYWFVokyowabk1FM2NCklubb5eEB_-g9lCi1ntRQ9iqKhdldm-U8pl0V98u7Mv_hR-pcp6MHfqql0T-mhkOv1WkfYO1igck4N6EfsNu9iO126BwgvJQC456WjAUW5jgjRHboc6htvaak9NBs6yRVLNZY03cR9gKtQXMoHeXiCGeNU55_2W1SOeRJPk-OsyBzvVlZBX5RdfUjB2BOdRI7H2TDBBS-GZaMV3b2eS5_84JTySFnriCTXJ-Y1FzBnH60e4fTfAiYy1P_J-j9hyXjLYgtRu8jQd8ITfiFG3h4ZIysb4CA_lJNg_d4YuCqhBiZcpculcbfXlcrcfPV-CpDytfiLz34FDWH0Q7Vlna1YuSNOKPzDIUx1MOMZO9bpwaE6Q3kClkqri92-42yeLoUKH6PUrlMpE3JrfuBelALE4ce7QzCrNjcvoqR_KVmCm6ozBjPn9qY0s7x7qe6ZLur7hNUoX79JdWGZy1-bx8dSqqpLrU0SXbMBqtvch5FvdUkktbkJpZAr7q6e0nR13_mK3RTV7adOEw03E_ocUk__rEmjGDAHMSWGmiPowu14jD1-VZ2Yf8FeoKzHYcXmIbEReTVHshk9faBICMQzMS3SXaqow4WXqULZiLTwc"
--data-binary
{
   "begin_recharge_request":{
      "merchant_key":"XXXXXXXX",
      "merchant_usn":"1446681016",
      "order_id":"13014858663",
      "general_hash":"0000000000000000"
   }
}
--verbose

Resposta:

{
   "begin_recharge_response":{
      "esitef":{
         "message":"OK. Transaction successful.",
         "code":"0"
      },
      "nit": "jhadafsafhjhasdfghiyuw43u8785345jksjknsmnnsjkfkiu34u98ynksnn3535",
      "merchant_id": "XXXXXXXX",
      "order_id": "13014858663",
      "merchant_usn": "1446681016",
      "general_hash": "AF32810AAF32810A"
   }
}

Parâmetros de requisição

Na tabela abaixo está a descrição dos parâmetros de requisição do serviço de criação de recarga:

ParâmetroDescriçãoFormatoObrigatório
merchant_keyChave da loja cadastrada no e-SiTef< 80 ASIM
merchant_usnNúmero sequencial único gerado pela loja< 12 NNÃO
order_idCódigo de identificação do pedido gerado pela loja< 20 ANNÃO
general_hashCódigo de identificação da versão da tabela com os dados relativos às recargas (operadoras, filiais, faixas de valores, validades dos créditos, dentre outros).

Caso a loja não tenha feito uma recarga anteriormente ou não tenha guardado um valor de general_hash previamente recebido do e-SiTef, o valor: 0000000000000000 pode ser passado ao e-SiTef.

Este campo permite ao lojista saber se ocorreu alteração nos dados da recarga. Isso porque se ocorreu alguma alteração na tabela, o general_hash retornado será diferente do general_hash que o lojista possui. Neste caso, é aconselhável que o lojista efetue as consultas e atualize os valores das operadoras de recarga em sua aplicação.
= 16 ANÃO
recharge_typeTipo da recarga a ser realizada.

Valores:
  • normal – Recarga de celulares
  • others – Recarga para outros tipos de produtos, como PIN de jogos, doações, seguros ou até mesmo recarga de celular por outras modalidades.
  • invoice – Pagamento de fatura por assinatura
Valor padrão: normal
= 6 ANÃO

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 200. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de criação de recarga:

ParâmetroDescriçãoFormato
nitIdentificação da transação de recarga no e-SiTef= 64 AN
merchant_idCódigo de identificação da loja no e-SiTef< 15 AN
order_idCódigo de identificação do pedido gerado pela loja< 20 AN
merchant_usnNúmero sequencial único gerado pela loja< 12 N
general_hashCódigo de identificação da tabela com os dados relativos às recargas (operadoras, filiais, faixas de valores, validades dos créditos, dentre outros).= 16 AN
esitef Elemento que descreve a resposta do e-SiTef.
codeCódigo de resposta do e-SiTef. Qualquer código diferente de 0(zero) significa falha. Saiba mais.< 4 N
messageMensagem de resposta do e-SiTef.< 500 AN

Parâmetros enviados pelo e-SiTef no POST HTTPS

Importante:

O e-SiTef utiliza o tipo de mídia x-www-form-urlencoded, para envio do POST HTTPS. Sendo assim, o servidor tem que aceitar este tipo de mídia na URL que for cadastrada para recebimento do POST HTTPS.

ParâmetroDescriçãoFormato
nitIdentificação da transação de recarga no e-SiTef= 64 AN
merchantIdCódigo de identificação da loja no e-SiTef< 15 AN
orderIdCódigo de identificação do pedido gerado pela loja< 20 AN
merchantUSNNúmero sequencial único gerado pela loja< 12 N
generalHashCódigo de identificação da tabela com os dados relativos às recargas (operadoras, filiais, faixas de valores, validades dos créditos, dentre outros).= 16 AN

Serviço de listagem de concessionárias

Detalhes da chamada

  • Recurso: /v3/rechargedealers
  • Método HTTP: GET
  • Formato da requisição: query string
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
AuthorizationAssinatura de autenticidade no formato Bearer {assinatura}. Saiba mais.

Exemplo: Bearer hh39458f73hf45324765ft349h5f73t4h95f34.

Este campo é obrigatório caso a transação tenha sido criada pelo processo de assinatura.
< 2000 ANCOND.

Exemplos

Abaixo estão exemplos de chamada do serviço de listagem de concessionárias utilizando a ferramenta cURL.

Listagem de concessionárias de recarga normal

Requisição:

curl
--request GET "https://esitef-homologacao.softwareexpress.com.br/e-sitef/v3/rechargedealers?nit=asdfghjk12345678asdfghjk12345678asdfghjk12345678asdfghjk12345678&generalhash=0000000000000000"
--verbose

Resposta:

{
   "list_dealers_response":{
      "status":"NOV",
      "esitef":{
         "message":"OK. Transaction successful.",
         "code":"0"
      },
      "authorizer":{
         "message":"",
         "code":"000"
      },
      "hashes":{
         "general":"09A9681D09A9681D"
      },
      "dealers":[
         {
            "name":"Vivo",
            "code":"001"
         },
         {
            "name":"Claro",
            "code":"002"
         },
         {
            "name":"Oi",
            "code":"003"
         },
         {
            "name":"Tim",
            "code":"004"
         }
      ]
   }
}

Listagem de concessionárias de recarga de outros produtos (others)

Requisição:

curl
--request GET "https://esitef-homologacao.softwareexpress.com.br/e-sitef/v3/rechargedealers?nit=asdfghjk12345678asdfghjk12345678asdfghjk12345678asdfghjk12345678"
--verbose

Resposta:

{
   "list_dealers_response":{
      "status":"NOV",
      "esitef":{
         "message":"OK. Transaction successful.",
         "code":"0"
      },
      "authorizer":{
         "message":"",
         "code":"000"
      },
      "hashes":{
         "general":"09A9681D09A9681D"
      },
      "dealers":[
         {
            "name":"Vex-PIN",
            "code":"905",
            "branches":[
               {
                  "name":"Vex-PIN",
                  "code":"97200000000"
               }
            ],
            "type_name":"PIN TELEFONE",
            "type_code":"02"
         },
         {
            "name":"TIM-Leste-PIN",
            "code":"902",
            "branches":[
               {
                  "name":"TIM-Leste-PIN",
                  "code":"97001000000"
               }
            ],
            "type_name":"PIN TELEFONE",
            "type_code":"02"
         },
         {
            "name":"E-Prepag",
            "code":"901",
            "branches":[
               {
                  "name":"Brancaleone-Migux",
                  "code":"98000000000"
               },
               {
                  "name":"HABBO HOTEL-Habbo Hotel",
                  "code":"98001000000"
               },
               {
                  "name":"ONGAME-Metin2",
                  "code":"98006000000"
               }
            ],
            "type_name":"PIN GAMES",
            "type_code":"03"
         },
         {
            "name":"Prepag",
            "code":"900",
            "branches":[
               {
                  "name":"Level Up!",
                  "code":"99000000000"
               },
               {
                  "name":"OnGame",
                  "code":"99100000000"
               },
               {
                  "name":"Acclaim",
                  "code":"99300000000"
               }
            ],
            "type_name":"PIN GAMES",
            "type_code":"03"
         },
         {
            "name":"Crianca Esperanca",
            "code":"908",
            "branches":[
               {
                  "name":"Crianca Esperanca",
                  "code":"97299000000"
               }
            ],
            "type_name":"DOACAO",
            "type_code":"04"
         },
         {
            "name":"Sorte Mania",
            "code":"909",
            "branches":[
               {
                  "name":"Sorte Mania",
                  "code":"97298000000"
               }
            ],
            "type_name":"SEGURO",
            "type_code":"05"
         }
      ]
   }
}

Listagem de concessionárias de pagamento de fatura por assinatura (invoice)

Requisição:

curl
--request GET "https://esitef-homologacao.softwareexpress.com.br/e-sitef/v3/rechargedealers?nit=asdfghjk12345678asdfghjk12345678asdfghjk12345678asdfghjk12345678"
--verbose

Resposta:

{
    "list_dealers_response": {
        "status": "NOV",
        "esitef": {
            "message": "OK. Transaction successful.",
            "code": "0"
        },
        "authorizer": {
            "message": "",
            "code": "000"
        },
        "hashes": {
            "general": "85E791AD85E791AD"
        },
        "dealers": [
            {
                "name": "Vivo SP Pos",
                "code": "800",
                "branches": [
                    {
                        "name": "Vivo SP Pos",
                        "code": "80019000000"
                    }
                ]
            }
        ],
        "questions": [
            {
                "id": "LPERG:126",
                "display": "Identificação do cliente ou Número de contrato",
                "rule": "0",
                "min": "1",
                "max": "11",
                "type": "N"
            }
        ]
    }
}

Listagem de concessionárias com envio de assinatura

Requisição:

curl
--request GET "https://esitef-homologacao.softwareexpress.com.br/e-sitef/v3/rechargedealers?nit=asdfghjk12345678asdfghjk12345678asdfghjk12345678asdfghjk12345678&generalhash=0000000000000000"
--header "Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJtZXJjaGFudF9pZCI6IkxPFGFURVNURSIsIm1lcmNoYW50X2tleSI6IkYxOURFMDAxNzdDMzAxREYyNEE4NjVGMTFBQTlCMjU2N0Y2MDQ4OTFGMEY0NEREQUVGRDY5RTMzOTlFMEI3RTEiLCJvcmRlcl9pZCI6IjEzMDE0ODU4NjYzIiwibWVyY2hhbnRfdXNuIjoiMTQ0NjY4MTAxNiIsInRpbWVzdGFtcCI6IjE2MDUzMDM1ODA5MzEifQ.JoYz8mQ8PZ8MCr5QXygbivAy2x9fvdUEGu_jSeOYF-BtSGm7ZSYWFVokyowabk1FM2NCklubb5eEB_-g9lCi1ntRQ9iqKhdldm-U8pl0V98u7Mv_hR-pcp6MHfqql0T-mhkOv1WkfYO1igck4N6EfsNu9iO126BwgvJQC456WjAUW5jgjRHboc6htvaak9NBs6yRVLNZY03cR9gKtQXMoHeXiCGeNU55_2W1SOeRJPk-OsyBzvVlZBX5RdfUjB2BOdRI7H2TDBBS-GZaMV3b2eS5_84JTySFnriCTXJ-Y1FzBnH60e4fTfAiYy1P_J-j9hyXjLYgtRu8jQd8ITfiFG3h4ZIysb4CA_lJNg_d4YuCqhBiZcpculcbfXlcrcfPV-CpDytfiLz34FDWH0Q7Vlna1YuSNOKPzDIUx1MOMZO9bpwaE6Q3kClkqri92-42yeLoUKH6PUrlMpE3JrfuBelALE4ce7QzCrNjcvoqR_KVmCm6ozBjPn9qY0s7x7qe6ZLur7hNUoX79JdWGZy1-bx8dSqqpLrU0SXbMBqtvch5FvdUkktbkJpZAr7q6e0nR13_mK3RTV7adOEw03E_ocUk__rEmjGDAHMSWGmiPowu14jD1-VZ2Yf8FeoKzHYcXmIbEReTVHshk9faBICMQzMS3SXaqow4WXqULZiLTwc"
--verbose

Resposta:

{
   "list_dealers_response":{
      "status":"NOV",
      "esitef":{
         "message":"OK. Transaction successful.",
         "code":"0"
      },
      "authorizer":{
         "message":"",
         "code":"000"
      },
      "hashes":{
         "general":"09A9681D09A9681D"
      },
      "dealers":[
         {
            "name":"Vivo",
            "code":"001"
         },
         {
            "name":"Claro",
            "code":"002"
         },
         {
            "name":"Oi",
            "code":"003"
         },
         {
            "name":"Tim",
            "code":"004"
         }
      ]
   }
}

Parâmetros de requisição

Na tabela abaixo está a descrição dos parâmetros de requisição do serviço de listagem de concessionárias:

ParâmetroDescriçãoFormatoObrigatório
nitIdentificação da transação de recarga no e-SiTef= 64 ASIM
generalhashCódigo de identificação da versão da tabela com os dados relativos às recargas (operadoras, filiais, faixas de valores, validades dos créditos, dentre outros).

Caso a loja não tenha feito uma recarga anteriormente ou não tenha guardado um valor de generalhash previamente recebido do e-SiTef, o valor: 0000000000000000 pode ser passado ao e-SiTef.

Este campo permite ao lojista saber se ocorreu alteração nos dados da recarga. Isso porque se ocorreu alguma alteração na tabela, o generalhash retornado será diferente do generalhash que o lojista possui. Neste caso, é aconselhável que o lojista efetue as consultas e atualize os valores das operadoras de recarga em sua aplicação.
= 16 ANÃO

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 200. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de listagem de concessionárias:

ParâmetroDescriçãoFormato
statusStatus da transação de recarga no e-SiTef. Saiba mais.= 3 AN
esitef
codeCódigo de resposta do e-SiTef. Qualquer código diferente de 0(zero) significa falha. Saiba mais.< 4 N
messageMensagem de resposta do e-SiTef.< 500 AN
authorizer
codeCódigo de resposta retornado pela autorizadora< 4 AN
messageMensagem retornada pela autorizadora< 64 AN
hashes
generalCódigo de identificação da tabela com os dados relativos às recargas (operadoras, filiais, faixas de valores, validades dos créditos, dentre outros).= 16 AN
dealers[]
codeCódigo da concessionária/operadora= 3 N
nameNome da concessionária/operadora< 100 AN
dealers[].branches[]
codeCódigo da filial= 11 N
nameNome da filial< 100 AN
questions[]
Este campo agrega uma lista de perguntas para confirmação positiva. As perguntas retornadas devem, obrigatoriamente, ser respondidas pelo usuário e ter suas respostas enviadas ao e-SiTef no passo seguinte (listar dados da filial).
idCódigo de identificação da pergunta< 20 AN
displayTexto da pergunta a ser apresentada< 180 AN
ruleIndica onde os dados devem ser coletados. Saiba mais.< 2 AN
minIndica o tamanho mínimo da resposta< 4 N
maxIndica o tamanho máximo da resposta< 5 N
typeIndica o tipo de dados da resposta a ser coletada. Saiba mais.< 3 AN
min_valueIndica o valor mínimo da resposta< 3 N
max_valueIndica o valor máximo da resposta< 3 N

Retorno do campo questions.rule

RegraDescrição
0Teclado do operador
1PinPad (Não se aplica)
2Leitura de trilha magnética no PIN PAD (Não se aplica)
3Automação (A pergunta não deve ser apresentada ao operador/cliente para a coleta da resposta. Neste caso, a própria automação deve responder à pergunta sem intervenção do operador/cliente).
4Senha supervisor (não PINPAD)
5Teclado do operador com dupla digitação.
O <Display> deve conter dois textos, sendo que o primeiro se refere à requisição para a entrada do dado e o segundo, se refere à confirmação da entrada do dado, que deve ser a mesma da primeira.
Os textos devem estar separados por ; como informado a seguir.

<Display> = Texto para 1ª coleta;Texto para 2ª coleta (confirmação)
6Leitora de código de barras
7Digitação com confirmação (Neste caso, deve ser apresentado uma tela para a confirmação dos dados coletados).

Retorno do campo questions.type

TipoDescrição
AAlfabético.
ANAlfanumérico especial (ans).
LNLetras (não acentuadas) e números.
NxNumérico onde x é o número de casa decimais suportados.
VxValor com x casas decimais.
SMenu tipo Sim/Não.
ScMenu tipo Sim/Não condicional. Caso a entrada seja "Não", deve-se abortar a transação.
MMenu livre.
Neste caso, o campo <Display> terá o seguinte formato: o texto do menu deve estar separado por um caractere | das opções. As opções, por sua vez, devem constituir de índice e texto separados por :, enquanto uma opção é separada pela outra por ^. Ou seja:
<Display> = <Texto Menu>|<opção 1>^<opção 2>^...^<opção N>
Onde,
<Texto Menu> = Texto de cabeçalho do menu (Ex: Escolha a bandeira do cartão)
<Opção N> = <Índice>:<Texto da opção> (Ex: 1:Visa)
McMenu livre com confirmação.
Segue a regra do Menu Livre, onde:
<Display> = <Texto Menu>|<Texto para confirmação>|<opção 1>^<opção 2>^...^<opção N>
M0Menu livre tipo 0 (zero). (Não se aplica)
Segue a regra do Menu Livre com confirmação, porém deve ser suprimida os índices de seleção do menu na exibição e selecionar apenas com as setas do POS.
Exemplo de exibição de Menu Livre:
1 – Sim
2 – Não
Exemplo de exibição de Menu Livre tipo 0:
Sim
Não

Serviço de listagem de dados da filial

Detalhes da chamada para recarga tipo normal

  • Recurso: /v3/rechargebranches
  • Método HTTP: GET
  • Formato da requisição: query string
  • Formato da resposta: JSON

Detalhes da chamada para recarga tipo others

  • Recurso: /v3/rechargebranches/{nit}
  • Método HTTP: PUT
  • Formato da requisição: JSON
  • Formato da resposta: JSON

Detalhes da chamada para recarga tipo invoice

  • Recurso: /v3/rechargebranches/{nit}
  • Método HTTP: PUT
  • Formato da requisição: JSON
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
Content-TypeDeve ser enviado com o valor application/json.= 15 ANSIM
AuthorizationAssinatura de autenticidade no formato Bearer {assinatura}. Saiba mais.

Exemplo: Bearer hh39458f73hf45324765ft349h5f73t4h95f34.

Este campo é obrigatório caso a transação tenha sido criada pelo processo de assinatura.
< 2000 ANCOND.

Exemplos

Abaixo estão exemplos de chamada do serviço de listagem de dados da filial utilizando a ferramenta cURL.

Listagem de dados da filial de recarga tipo normal

Requisição:

curl
--request GET "https://esitef-homologacao.softwareexpress.com.br/e-sitef/v3/rechargebranches?nit=asdfghjk12345678asdfghjk12345678asdfghjk12345678asdfghjk12345678&ddd=00&dealercode=1&generalhash=0000000000000000"
--verbose

Resposta:

{
   "list_branch_data_response":{
      "status":"NOV",
      "esitef":{
         "message":"OK. Transaction successful.",
         "code":"0"
      },
      "sitef":{
         "code":"000"
      },
      "hashes":{
         "general":"09A9681D09A9681D"
      },
      "questions":[
         {
            "id":"5",
            "display":"Qual o nome do seu pai?",
            "rule":"3",
            "min":"5",
            "max":"30",
            "type":"i"
         }
      ],
      "general":[
         {
            "message":"MENSAGEM DE TESTE"
         }
      ],
      "categories":[
         {
            "code":"01",
            "description":"RECARGA",
            "amount_ranges":[
               {
                  "message":"MSG_FAIXA_1",
                  "amount_key":"7",
                  "bonus_in_percentage":"100",
                  "bonus":"50",
                  "payment_amount":"700",
                  "bonus_category":"1",
                  "expiry_date":"30",
                  "bonus_expiry_date":"15",
                  "min_amount":"500",
                  "max_amount":"10000"
               },
               {
                  "message":"MSG_FAIXA_2",
                  "amount_key":"8",
                  "bonus_in_percentage":"500",
                  "bonus_category":"2",
                  "min_amount":"1000",
                  "max_amount":"50000"
               }
            ],
            "fixed_amounts":[
               {
                  "bonus":"50",
                  "message":"MSG_FIXO_1",
                  "amount":"300",
                  "amount_key":"1",
                  "bonus_category":"2",
                  "bonus_in_percentage":"200",
                  "payment_amount":"10",
                  "expiry_date":"60",
                  "bonus_expiry_date":"15"
               },
               {
                  "message":"MSG_FIXO_2",
                  "amount":"1500",
                  "amount_key":"2",
                  "payment_amount":"30"
               },
               {
                  "message":"MSG_FIXO_3",
                  "amount":"2000",
                  "amount_key":"3"
               },
               {
                  "amount":"2200",
                  "amount_key":"4",
                  "expiry_date":"90"
               },
               {
                  "message":"MSG_FIXO_4",
                  "amount":"5000",
                  "amount_key":"6",
                  "expiry_date":"120"
               }
            ]
         },
         {
            "code":"02",
            "description":"SMS",
            "amount_ranges":[

            ],
            "fixed_amounts":[

            ]
         },
         {
            "code":"03",
            "description":"PRIMEIRA_RECARGA",
            "amount_ranges":[

            ],
            "fixed_amounts":[

            ]
         }
      ],
      "payment_methods":{
         "max":"4",
         "available":[
            "00",
            "01",
            "02:10",
            "03:10",
            "04:10",
            "05:10",
            "06:10"
         ]
      }
   }
}

Listagem de dados da filial de recarga tipo others

Requisição:

curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/v3/rechargebranches/asdfghjk12345678asdfghjk12345678asdfghjk12345678asdfghjk12345678"
--header "Content-Type: application/json"
--data-binary
{
   "list_branch_data_request":{
      "general_hash":"0000000000000000",
      "dealer":{
         "code":"901",
         "type_code":"03",
         "branch":{
            "code":"98006000000"
         }
      }
   }
}
--verbose

Resposta:

{
   "list_branch_data_response":{
      "status":"NOV",
      "esitef":{
         "message":"OK. Transaction successful.",
         "code":"0"
      },
      "sitef":{
         "code":"000"
      },
      "hashes":{
         "general":"09A9681D09A9681D"
      },
      "questions":[

      ],
      "general":[

      ],
      "categories":[
         {
            "amount_ranges":[

            ],
            "fixed_amounts":[
               {
                  "amount":"50"
               },
               {
                  "amount":"300"
               },
               {
                  "amount":"400"
               },
               {
                  "amount":"500"
               },
               {
                  "amount":"600"
               },
               {
                  "amount":"700"
               },
               {
                  "amount":"800"
               },
               {
                  "amount":"900"
               },
               {
                  "amount":"1000"
               }
            ]
         }
      ],
      "payment_methods":{
         "max":"4",
         "available":[
            "00",
            "01",
            "02:10",
            "03:10",
            "04:10",
            "05:10",
            "06:10"
         ]
      }
   }
}

Listagem de dados da filial de recarga tipo invoice

Requisição:

curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/v3/rechargebranches/asdfghjk12345678asdfghjk12345678asdfghjk12345678asdfghjk12345678"
--header "Content-Type: application/json"
--data-binary
{
   "list_branch_data_request":{
      
      "dealer":{
         "code":"800",
         "branch":{
            "code":"80019000000"
         }
      },
      "answers": [
        {
        "code":"126",
        "description": "12340000000"
        }
      ]
     
   }
}

Resposta:

{
    "list_branch_data_response": {
        "status": "NOV",
        "esitef": {
            "message": "OK. Transaction successful.",
            "code": "0"
        },
        "sitef": {
            "message": "Transacao Aprovada",
            "code": "000"
        },
        "host": {
            "message": "Vivo SP Pos",
            "code": "00"
        },
        "acquirer": {
            "merchant_code": "302800000000000"
        },
        "authorization": {
            "authorizer_date": "0831",
            "authorizer_time": "153738",
            "host_usn": "000310003",
            "sitef_usn": "310003",
            "number": "000000"
        },
        "hashes": {
            "general": ""
        },
        "questions": [],
        "payment_methods": {
            "max": "4",
            "available": [
                "00",
                "01",
                "02:03-07-08-09-10-14",
                "03:03-07-08-09-10-14",
                "04:10",
                "05:10",
                "06:10"
            ]
        },
        "general": [],
        "categories": [
            {
                "amount_ranges": [],
                "fixed_amounts": []
            }
        ],
        "invoices": [
            {
                "expiry_date": "21082007                                                                                                                                                                                                                                                      ",
                "consumption_reference": "082007                                                                                                                                                                                                                                                        ",
                "bar_code": "84600000000633900800011200241676508075070821                                                                                                                                                                                                                  ",
                "amount": "6339                                                                                                                                                                                                                                                          ",
                "message": "Boleto Parcial Credito Manual                                                                                                                                                                                                                                 "
            },
            {
                "expiry_date": "25072007                                                                                                                                                                                                                                                      ",
                "consumption_reference": "072007                                                                                                                                                                                                                                                        ",
                "bar_code": "84660000001866000800011200243533509074070925                                                                                                                                                                                                                  ",
                "amount": "18660                                                                                                                                                                                                                                                         ",
                "message": "Boleto Parcial Credito Manual                                                                                                                                                                                                                                 "
            },
            {
                "expiry_date": "25092007                                                                                                                                                                                                                                                      ",
                "consumption_reference": "092007                                                                                                                                                                                                                                                        ",
                "bar_code": "84650000000442500800011000217664609076070925                                                                                                                                                                                                                  ",
                "amount": "4425                                                                                                                                                                                                                                                          ",
                "message": "Boleto Parcial Credito Manual                                                                                                                                                                                                                                 "
            },
            {
                "expiry_date": "10092007                                                                                                                                                                                                                                                      ",
                "consumption_reference": "082007                                                                                                                                                                                                                                                        ",
                "bar_code": "84610000001385700800011200474416708073070910                                                                                                                                                                                                                  ",
                "amount": "13857                                                                                                                                                                                                                                                         ",
                "message": "Boleto Parcial Credito Manual                                                                                                                                                                                                                                 "
            },
            {
                "expiry_date": "25082007                                                                                                                                                                                                                                                      ",
                "consumption_reference": "082007                                                                                                                                                                                                                                                        ",
                "bar_code": "84650000001165200800011200243533508078070825                                                                                                                                                                                                                  ",
                "amount": "11652                                                                                                                                                                                                                                                         ",
                "message": "Boleto Parcial Credito Manual                                                                                                                                                                                                                                 "
            },
            {
                "expiry_date": "21092007                                                                                                                                                                                                                                                      ",
                "consumption_reference": "092007                                                                                                                                                                                                                                                        ",
                "bar_code": "84690000019276900800011200245374209078070921                                                                                                                                                                                                                  ",
                "amount": "192769                                                                                                                                                                                                                                                        ",
                "message": "Boleto Parcial Credito Manual                                                                                                                                                                                                                                 "
            }
        ],
        "tv_package_subscription_codes": [],
        "invoice_holder_name": "",
        "echo": "12340000000"
    }
}

Parâmetros de requisição para recarga tipo normal

Na tabela abaixo está a descrição dos parâmetros de requisição do serviço de listagem de dados da filial para recarga tipo normal:

ParâmetroDescriçãoFormatoObrigatório
nitIdentificação da transação de recarga no e-SiTef= 64 ANSIM
dddCódigo DDD do telefone= 2 NSIM
dealercodeCódigo da concessionária/operadora< 3 NSIM
generalhashCódigo de identificação da versão da tabela com os dados relativos às recargas (operadoras, filiais, faixas de valores, validades dos créditos, dentre outros).

Caso a loja não tenha feito uma recarga anteriormente ou não tenha guardado um valor de generalhash previamente recebido do e-SiTef, o valor: 0000000000000000 pode ser passado ao e-SiTef.

Este campo permite ao lojista saber se ocorreu alteração nos dados da recarga. Isso porque se ocorreu alguma alteração na tabela, o generalhash retornado será diferente do generalhash que o lojista possui. Neste caso, é aconselhável que o lojista efetue as consultas e atualize os valores das operadoras de recarga em sua aplicação.
= 16 ANNÃO

Parâmetros de requisição para recarga tipo others

Na tabela abaixo está a descrição dos parâmetros de requisição do serviço de listagem de dados da filial para recarga tipo others:

ParâmetroDescriçãoFormatoObrigatório
nitIdentificação da transação de recarga no e-SiTef. Atenção: Este campo vai na URL da requisição e não no corpo.= 64 ANSIM
dddCódigo DDD do telefone= 2 NNÃO
general_hashCódigo de identificação da tabela com os dados relativos às recargas (operadoras, filiais, faixas de valores, validades dos créditos, dentre outros).= 16 ANNÃO
dealer
Informações da concessionária/operadora. Estas informações são retornadas na chamada de listagem de concessionárias.
codeCódigo da concessionária/operadora< 3 NSIM
type_codeCódigo do tipo da concessionária/operadora< 3 NSIM
dealer.branch
Informações sobre a filial da concessionária
codeCódigo da filial da concessionária/operadora< 11 NSIM
answers[]
Este campo agrega uma lista de respostas. Envio obrigatório caso perguntas tenham sido recebidas na listagem de concessionárias.
codeCódigo da pergunta a ser respondida (questions.id da resposta da listagem de concessionárias)< 20 ANCOND.
descriptionResposta da pergunta< 200 ANCOND.

Parâmetros de requisição para recarga tipo invoice

Na tabela abaixo está a descrição dos parâmetros de requisição do serviço de listagem de dados da filial para recarga tipo invoice:

ParâmetroDescriçãoFormatoObrigatório
nitIdentificação da transação de recarga no e-SiTef. Atenção: Este campo vai na URL da requisição e não no corpo.= 64 ANSIM
general_hashCódigo de identificação da tabela com os dados relativos às recargas (operadoras, filiais, faixas de valores, validades dos créditos, dentre outros).= 16 ANNÃO
dealer
Informações da concessionária/operadora. Estas informações são retornadas na chamada de listagem de concessionárias.
codeCódigo da concessionária/operadora< 3 NSIM
dealer.branch
Informações sobre a filial da concessionária
codeCódigo da filial da concessionária/operadora< 11 NSIM
answers[]
Este campo agrega uma lista de respostas. Envio obrigatório caso perguntas tenham sido recebidas na listagem de concessionárias.
codeCódigo da pergunta a ser respondida (questions.id da resposta da listagem de concessionárias)< 20 ANCOND.
descriptionResposta da pergunta< 200 ANCOND.

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 200. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de listagem de dados da filial:

ParâmetroDescriçãoFormato
statusStatus da transação de recarga no e-SiTef. Saiba mais.= 3 AN
invoice_holder_nameNome do titular da fatura< 70 AN
echoCampo a ser reenviado para recargas do tipo invoice< 128 AN
resubmit_transactionIndica que esta transação deve ser reenviada com o código de assinatura de TV selecionada.< 5 AN
esitef
codeCódigo de resposta do e-SiTef. Qualquer código diferente de 0(zero) significa falha. Saiba mais.< 4 N
messageMensagem de resposta do e-SiTef.< 500 AN
sitef
codeCódigo de resposta retornado pela autorizadora< 4 AN
hashes
generalCódigo de identificação da tabela com os dados relativos às recargas (operadoras, filiais, faixas de valores, validades dos créditos, dentre outros).= 16 AN
questions[]
Este campo agrega uma lista de perguntas para confirmação positiva. As perguntas retornadas devem, obrigatoriamente, ser respondidas pelo usuário e ter suas respostas enviadas ao e-SiTef no passo seguinte (listar dados da filial).
idCódigo de identificação da pergunta< 20 AN
displayTexto da pergunta a ser apresentada< 180 AN
ruleIndica onde os dados devem ser coletados. Saiba mais.< 2 AN
minIndica o tamanho mínimo da resposta< 4 N
maxIndica o tamanho máximo da resposta< 5 N
typeIndica o tipo de dados da resposta a ser coletada. Saiba mais.< 3 AN
min_valueIndica o valor mínimo da resposta< 3 N
max_valueIndica o valor máximo da resposta< 3 N
general
Este campo agrega uma lista de características gerais dentre as filiais.
messageMensagem geral.< 101 AN
categories
Este campo agrega uma lista de categorias.
codeCódigo da categoria< 5 AN
descriptionTexto descritivo da categoria< 100 AN
categories.amount_ranges
Este campo agrega uma lista de faixas de valores.
messageMensagem informativa da recarga< 100 AN
amount_keyChave do valor da recarga (a ser enviada ao efetuar recarga).< 5 AN
bonus_in_percentageBônus de recarga em percentual do valor de face (com 2 casas decimais: ex.: 1% = 100).< 5 N
bonusBônus de recarga.< 12 N
payment_amountCusto da recarga.< 12 N
bonus_categoryCategoria do bônus (deve ser um dos valores de categories.code).< 5 AN
expiry_datePeríodo de validade (em dias).< 4 N
bonus_expiry_datePeríodo de validade do bônus (em dias).< 4 N
min_amountValor mínimo da faixa, em centavos de real.< 12 N
max_amountValor máximo da faixa, em centavos de real.< 12 N
categories.fixed_amounts
Este campo agrega uma lista de valores fixos.
messageMensagem informativa da recarga< 100 AN
amount_keyChave do valor da recarga (a ser enviada ao efetuar recarga).< 5 AN
bonus_in_percentageBônus de recarga em percentual do valor de face (com 2 casas decimais: ex.: 1% = 100).< 5 N
bonusBônus de recarga.< 12 N
payment_amountCusto da recarga.< 12 N
bonus_categoryCategoria do bônus (deve ser um dos valores de categories.code).< 5 AN
expiry_datePeríodo de validade (em dias).< 4 N
bonus_expiry_datePeríodo de validade do bônus (em dias).< 4 N
amountValor de face da recarga, em centavos de real.< 12 N
payment_methods
maxNúmero máximo de formas de pagamento< 2 N
availableEste campo agrega uma lista de formas de pagamento disponíveis e seus detalhes. Saiba mais.< 200 AN
host
messageNome da instituição< 16 AN
codeCódigo de resposta da instituição< 12 AN
acquirer
merchant_codeCódigo do estabelecimento< 15 N
authorization
numberNúmero autorização< 6 AN
sitef_usnNsu do Sitef< 6 N
host_usnNsu do host< 12 N
authorizer_timeHora da resposta do autorizador HHMMSS= 6 N
authorizer_dateData da resposta do autorizador MMDD= 4 N
invoices
Este objeto contém campos retornados para pagamento sem fatura (recarga tipo invoice).
expiry_dateData de vencimento da fatura escolhida em formato AAAAMMDD= 8 N
consumption_referenceData de referência na fatura escolhida em formato MMAAAA= 6 N
bar_codeCódigo de barras da fatura escolhida= 48 N
amountValor da fatura escolhida< 12 N
messageMensagem geral< 64 AN

Retorno do campo payment_methods.available

O campo payment_methods.available pode conter um ou mais dados para leitura. Cada dado lido possui o seguinte formato:

TipoN:IDColetaN1-IDColetaN2-IDColetaN3-...-IDColetaNn

Onde:

TipoN: indica a forma de pagamento permitida.

TipoDescrição
00Dinheiro
01Cheque
02TEF Débito
03TEF Crédito
10Ticket Eletrônico
11Ticket Papel
12Carteira Digital
13PIX
50TEF Cartão
99Outras Formas

Observações:

  • Caso não existam campos a serem coletados, será retornado apenas o campo TipoN.
  • Futuramente, novas formas de pagamento podem ser acrescentadas a esta tabela. Caso o PDV desconheça uma destas novas formas, deve estar preparado para "pular" apenas esta forma, sem afetar seu processamento.
  • A forma de pagamento "TEF Cartão" (tipo 50) é utilizada para agrupar, em um único tipo, todas as formas de pagamento que envolva cartões (tipos 02 e 03).

IDColetaNn: indica o ID do campo que o PDV deve coletar e enviar ao SiTef.

IDDescriçãoSignificado e Formato
01Tipo de Entrada do Cheque0: leitura de CMC-7
1: digitação da primeira linha do cheque
2: digitação do CMC-7
02Dados do Cheque- CMC-7 lido ou digitado, ou
- digitação da primeira linha do cheque, com o seguinte formato: Compensação (3), Banco (3), Agência (4), C1 (1), Conta Corrente (10), C2 (1), Número do Cheque (6) e C3 (1), nesta ordem.
03Rede DestinoIdentificação do autorizador da transação de TEF (conforme tabela de Rede Destino da especificação do SiTef).
04NSU do SiTef da transação de TEFIdentificação da transação de TEF no SiTef.
05Data do SiTef da transação de TEF
(No momento, ainda não utilizado)
Data da transação de TEF no SiTef, no formato DDMMAAAA.
06Código da Empresa da transação de TEFCódigo do SiTef para a Empresa utilizada na transação de TEF.
07NSU do Host da transação de TEFIdentificação da transação de TEF no Host.
08Data do Host da transação de TEFData da transação de TEF no Host, no formato DDMMAAAA.
09Código de Origem da transação de TEFCódigo de Estabelecimento da transação de TEF.
10Dados de confirmação da transação de TEF.Campo 9 retornado na realização da transação de TEF.
11Código de Autorização da transação de TEFCódigo de Autorização do Host para a transação de TEF.
12Valor do ChequeValor Total do Cheque. Um mesmo cheque pode ser usado para pagar mais de uma conta.
13Rede Destino – ComplementoComplemento do ID 03
14Bandeira do CartãoBandeira do cartão utilizado na transação de TEF.
15Tipo Pagamento00 – a vista
01 – Pré-datado
02 – Parcelado pelo estabelecimento
03 - Parcelado pela administradora

Observações:

O campo de ID 13, diferente dos demais, não indica um campo que deve ser coletado. Este campo funciona apenas como um complemento ao campo de ID 03, enviando a lista de redes destino permitido, no seguinte formato:

13(Rede1,Rede2,...,RedeN)

Ou seja, caso apenas o campo de ID 03 esteja presente, deve ser coletada a rede destino, sem nenhuma restrição quanto às redes que podem pagar uma determinada transação (Exemplo: recarga). No entanto, caso estejam presentes os campos de ID 03 e 13, o primeiro indica que deve ser coletada a rede destino, enquanto o segundo indica quais as redes destino são permitidas para efetuar o pagamento da recarga.

Além disso, como a coleta foi indicada pelo ID 03, o PDV deve enviar a rede destino ao SiTef também por meio deste ID (e não pelo ID 13).

Futuramente, novos campos podem ser acrescentados a esta tabela. Caso o PDV desconheça um destes novos campos, deve estar preparado para "pular" apenas este campo, sem afetar seu processamento.

Serviço de efetivação de recarga

Detalhes da chamada

  • Recurso: /v3/recharge/{nit}
  • Método HTTP: PUT
  • Formato da requisição: JSON
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
Content-TypeDeve ser enviado com o valor application/json.= 15 ANSIM
AuthorizationAssinatura de autenticidade no formato Bearer {assinatura}. Saiba mais.

Exemplo: Bearer hh39458f73hf45324765ft349h5f73t4h95f34.

Este campo é obrigatório caso a transação tenha sido criada pelo processo de assinatura.
< 2000 ANCOND.

Exemplos

Abaixo estão exemplos de chamada do serviço de efetivação de recarga utilizando a ferramenta cURL.

Recarga tipo normal com pagamento

Requisição:

curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/v3/recharge/asdfghjk12345678asdfghjk12345678asdfghjk12345678asdfghjk12345678"
--header "Content-Type: application/json"
--data-binary
{
   "do_recharge_request":{
      "hashes":{
         "general":"0000000000000000"
      },
      "dealer":{
         "code":"1",
         "type_code":"03",
         "branch":{
            "code":"98006000000"
         }
      },
      "phone":{
         "ddd":"11",
         "number":"123456789"
      },
      "amount":"3000",
      "amount_key":"3",
      "used_payment_methods":[
         "11",
         "12"
      ],
      "answers":[
         {
            "code":"1",
            "description":"resposta"
         },
         {
            "code":"2",
            "description":"resposta2"
         }
      ],
      "terminal_type":"03",
      "cpf":"8298374982374",
      "cnpj":"123121333000123",
      "zip_code":"01310100",
      "payment":{
         "amount":"12",
         "authorizer_id":"1",
         "customer_id":"12341234",
         "merchant_key":"OIAUSWHFN012375901J23047FNN00UYWHN0R871Y2ND87",
         "installment":{
            "number":"2",
            "type":"4"
         },
         "card":{
            "number":"1111111111111111",
            "token":"",
            "security_code":"123",
            "expiry_date":"1222"
         },
         "extra_param":[
            {
               "key":"CRIPTO",
               "value":"1"
            }
         ]
      }
   }
}
--verbose

Resposta:

{
   "do_recharge_response":{
      "status":"PPC",
      "order_id":"12344231",
      "merchant_usn":"5123",
      "esitef":{
         "message":"OK",
         "code":"0",
         "usn":"123456789012345"
      },
      "sitef":{
         "message":"OK",
         "code":"0"
      },
      "host":{
         "message":"OK",
         "code":"0"
      },
      "acquirer":{
         "branch_code":"cod filial",
         "merchant_code":"codigoEstab"
      },
      "authorization":{
         "confirmation_data":"000033333",
         "authorizer_date":"20150514",
         "authorizer_time":"1100",
         "host_usn":"11122",
         "sitef_usn":"333",
         "number":"332234"
      },
      "customer":{
         "total_copies":3,
         "receipt":"COMPROVANTE DE RECARGA via do cliente"
      },
      "merchant":{
         "total_copies":3,
         "receipt":"COMPROVANTE DE RECARGA via do estabelecimento"
      },
      "payment_methods":{
         "max":4,
         "available":[
            {
               "name":"dinheiro"
            },
            {
               "name":"cheque"
            }
         ]
      },
      "payment":{
         "status":"PPC",
         "amount":"12",
         "type":"C",
         "esitef":{
            "usn":"098765432109876",
            "date":"12/12/2012 12:12"
         },
         "customer":{
            "receipt":"nwiugrnboinb APROVADO via do cliente"
         },
         "merchant":{
            "receipt":"nwiugrnboinb APROVADO via do estabelecimento "
         },
         "authorizer_id":"1",
         "acquirer":"CIELO",
         "authorization":{
            "number":"163457212",
            "sitef_usn":"456456",
            "host_usn":"654654",
            "tid":"7334312a2",
            "eci":"fr3u214wf71",
            "sitef_date":"12122012"
         },
         "analysis":{
            "status":"PEN",
            "code":"0",
            "message":"aprovado"
         },
         "extra_param":[
            {
               "key":"CRIPTO",
               "value":"1"
            }
         ],
         "sitef":{
            "code":"000"
         }
      }
   }
}

Recarga tipo normal sem pagamento

Requisição:

curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/v3/recharge/asdfghjk12345678asdfghjk12345678asdfghjk12345678asdfghjk12345678"
--header "Content-Type: application/json"
--data-binary
{
   "do_recharge_request":{
      "dealer":{
         "code":"1"
      },
      "phone":{
         "ddd":"11",
         "number":"123456789"
      },
      "amount":"3000"
   }
}
--verbose

Resposta:

{
   "do_recharge_response":{
      "status":"PPC",
      "order_id":"12344231",
      "merchant_usn":"5123",
      "esitef":{
         "message":"OK",
         "code":"0",
         "usn":"123456789012345"
      },
      "sitef":{
         "message":"OK",
         "code":"0"
      },
      "host":{
         "message":"OK",
         "code":"0"
      },
      "acquirer":{
         "branch_code":"cod filial",
         "merchant_code":"codigoEstab"
      },
      "authorization":{
         "confirmation_data":"000033333",
         "authorizer_date":"20150514",
         "authorizer_time":"1100",
         "host_usn":"11122",
         "sitef_usn":"333",
         "number":"332234"
      },
      "customer":{
         "total_copies":3,
         "receipt":"COMPROVANTE DE RECARGA via do cliente"
      },
      "merchant":{
         "total_copies":3,
         "receipt":"COMPROVANTE DE RECARGA via do estabelecimento"
      },
      "payment_methods":{
         "max":4,
         "available":[
            {
               "name":"dinheiro"
            },
            {
               "name":"cheque"
            }
         ]
      }
   }
}

Recarga tipo others

Requisição:

curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/v3/recharge/asdfghjk12345678asdfghjk12345678asdfghjk12345678asdfghjk12345678"
--header "Content-Type: application/json"
--data-binary
{
   "do_recharge_request":{
      "dealer":{
         "code":"901",
         "type_code":"03",
         "branch":{
            "code":"98006000000"
         }
      },
      "amount":"3000"
   }
}
--verbose

Resposta:

{
   "do_recharge_response":{
      "status":"PPC",
      "order_id":"12344231",
      "merchant_usn":"5123",
      "esitef":{
         "message":"OK",
         "code":"0",
         "usn":"123456789012345"
      },
      "sitef":{
         "message":"OK",
         "code":"0"
      },
      "host":{
         "message":"OK",
         "code":"0"
      },
      "acquirer":{
         "branch_code":"cod filial",
         "merchant_code":"codigoEstab"
      },
      "authorization":{
         "confirmation_data":"000033333",
         "authorizer_date":"20150514",
         "authorizer_time":"1100",
         "host_usn":"11122",
         "sitef_usn":"333",
         "number":"332234"
      },
      "customer":{
         "total_copies":3,
         "receipt":"COMPROVANTE DE RECARGA via do cliente"
      },
      "merchant":{
         "total_copies":3,
         "receipt":"COMPROVANTE DE RECARGA via do estabelecimento"
      }
   }
}

Recarga tipo invoice

Requisição:

curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/v3/recharge/asdfghjk12345678asdfghjk12345678asdfghjk12345678asdfghjk12345678"
--header "Content-Type: application/json"
--data-binary
{
   "do_recharge_request":{
      "hashes":{
         "general":"85E791AD85E791AD"
      },
      "dealer":{
         "code":"800",
         "branch":{
            "code":"80019000000"
         }
      },
      "amount":"6339",
      "terminal_type":"04",
      "cpf":"12312312312",
      "cnpj":"11110110000101",
      "zip_code":"12345678",
      "invoice":{
         "bar_code":"88888888888888888888888888888888888888888888",
         "description":"Boleto Parcial Credito Manual",
         "expiry_date":"21082007",
         "reference_data":"082007",
         "echo":"12340000000"
      }
   }
}
--verbose

Resposta:

{
   "do_recharge_response":{
      "status":"PPC",
      "order_id":"31045431771",
      "merchant_usn":"2047986911",
      "esitef":{
         "message":"OK. Transaction successful.",
         "code":"0",
         "usn":"200831056294572"
      },
      "sitef":{
         "message":"Transacao Aprovada",
         "code":"000"
      },
      "acquirer":{
         "merchant_code":"302800000000000"
      },
      "authorization":{
         "confirmation_data":"0831310011A6",
         "authorizer_date":"0831",
         "authorizer_time":"165459",
         "host_usn":"000310011",
         "sitef_usn":"310011",
         "number":"000000"
      },
      "customer":{
         "receipt":"----- COMPROVANTE -----"
      },
      "merchant":{
         "receipt":"----- COMPROVANTE -----"
      },
      "payment_methods":{
         "max":"4",
         "available":[
            {
               "name":"00"
            },
            {
               "name":"01"
            },
            {
               "name":"02:03-07-08-09-10-14"
            },
            {
               "name":"03:03-07-08-09-10-14"
            },
            {
               "name":"04:10"
            },
            {
               "name":"05:10"
            },
            {
               "name":"06:10"
            }
         ]
      },
      "hashes":{
         "general":"85E791AD85E791AD",
         "wallet":""
      },
      "send_payment_methods":"true"
   }
}

Parâmetros de requisição

Na tabela abaixo está a descrição dos parâmetros de requisição do serviço de efetivação de recarga:

ParâmetroDescriçãoFormatoObrigatório
nitIdentificação da transação de recarga no e-SiTef= 64 ANSIM
amountValor da recarga, em centavos< 12 NSIM
amount_keyCódigo do valor da recarga< 10 ANNÃO
terminal_type01 - PDV
02 - TU
03 - TAS
04 - Internet
05 - POS-Sitef/POS
= 2 NNÃO
cpfCPF do cliente< 20 ANNÃO
cnpjCNPJ do cliente< 20 ANNÃO
zip_codeCEP do cliente< 9 ANNÃO
hashes
generalCódigo de identificação da tabela com os dados relativos às recargas (operadoras, filiais, faixas de valores, validades dos créditos, dentre outros).= 16 ANNÃO
dealer
codeCódigo da concessionária/operadora< 3 NSIM
type_codeCódigo do tipo concessionária/operadora< 2 NSIM
dealer.branch
codeCódigo da filial da concessionária/operadora. Obrigatório apenas para recarga tipo others.11 NCOND.
phone
phone.dddCódigo DDD do telefone. Obrigatório apenas para recarga tipo normal.= 2 NCOND.
phone.numberNúmero do telefone. Obrigatório apenas para recarga tipo normal.< 9 NCOND.
answers[]
Este campo agrega uma lista de respostas. Obrigatório caso perguntas tenham sido recebidas na listagem de dados da filial.
codeCódigo da pergunta a ser respondida< 20 ANCOND.
descriptionResposta da pergunta< 200 ANCOND.
invoice
Este objeto contém campos obrigatórios para pagamento sem fatura (recarga tipo invoice).
bar_codeCódigo de barras da fatura escolhida.= 48 NSIM para tipo invoice
descriptionDescrição da fatura escolhida.< 64 ANSIM para tipo invoice
expiry_dateData de validade da fatura escolhida em formato DDMMAAAA.= 8 NSIM para tipo invoice
reference_dataDados de referência da fatura escolhida.< 32 ANSIM para tipo invoice
echoValor do campo echo recebido na listagem de dados da filial.< 11 NSIM para tipo invoice
payment
Este elemento somente deve ser enviado caso se deseje efetuar um pagamento atrelado à recarga.*

Atenção: O pagamento é permitido apenas no tipo de recarga normal. Para o tipo de recarga others a transação será invalidada.
amountValor do pagamento, em centavos< 12 NSIM*
authorizer_idCódigo da autorizadora no e-SiTef. Saiba mais.< 5 NSIM*
customer_idDocumento de identidade do comprador. Use apenas caracteres alfanuméricos< 20 ANNÃO
merchant_keyChave da loja cadastrada no e-SiTef. Deve ser a mesma loja utilizada para efetuar a recarga.< 80 ANSIM*
payment.installment
numberNúmero de parcelas< 2 NSIM*
typeTipo de financiamento do parcelamento:
3 - parcelamento com juros da administradora do cartão,
4 - parcelamento realizado pela loja e sem juros. (Adotar este valor como padrão/default para transações à vista)
6 - parcelamento com juros da administradora (IATA)
7 - parcelamento realizado pela loja e sem juros (IATA)
= 1 NSIM*
payment.card
numberNúmero do cartão.< 19 NSIM*
tokenToken do cartão armazenado no e-SiTef.= 88 ANSIM*
security_codeCódigo de segurança do cartão. Campo opcional, se enviado, será utilizado o código de empresa SiTef principal, não o de recorrência (que não pede código de segurança). Sua obrigatoriedade depende do contrato firmado com as Adm. de cartão.< 5 NCOND.
expiry_dateData de vencimento no formato MMAA= 4 NSIM*
payment.extra_param[]
Este campo agrega uma lista de parâmetros extras.
keyChave do parâmetro extraN/ANÃO
valueValor do parâmetro extraN/ANÃO
used_payment_methods[]
Formas de pagamento utilizadas. Este campo agrega uma lista de valores que devem ser enviados conforme descrito no capítulo abaixo.

Envio do campo used_payment_methods

A loja deve utilizar o próprio campo used_payment_methods para indicar ao e-SiTef quais formas de pagamento foram utilizadas para pagar uma determinada transação, como por exemplo uma recarga.

A quantidade de dados a serem gravadas no campo used_payment_methods é limitada pelo campo payment_methods.max. Se, por exemplo, foi recebido o valor 3 no campo payment_methods.max, então a loja só poderá gravar 3 informações no campo used_payment_methods.

Para cada forma de pagamento utilizada deve ser gravado um elemento (dado) no campo used_payment_methods. O dado a ser gravado no campo used_payment_methods possui o seguinte formato:

TipoN:ValorN:IDColetaN1:DadoColetaN1-IDColetaN2:DadoColetaN2-...-IDColetaNn:DadoColetaNn

Onde:

  • TipoN: indica a forma de pagamento utilizada (conforme tabela já apresentada acima).
  • ValorN: indica o valor utilizado com esta forma de pagamento, com duas casas decimais, sem a vírgula.
  • IDColetaNn: indica o ID do campo que foi coletado pela loja (conforme tabela já apresentada acima).
  • DadoColetaNn: indica o conteúdo coletado pela loja para este campo.

Observações:

Se para uma determinada forma de pagamento nenhum campo deva ser coletado pela loja, o campo used_payment_methods deve ser valorizado com os seguintes dados: TipoN:ValorN.

A consistência dos valores (soma das várias formas de pagamento utilizadas, totalizando o valor da transação realizada) deve ser feita pela loja, sendo que o e-SiTef só utilizará os valores da maneira como foram enviados.

Exemplo

Vamos supor que na execução de uma transação de recarga, a loja obteve o valor 2 na leitura do campo payment_methods.max e os seguintes valores do campo used_payment_methods:

00
02:03-07-10-13(5,125)
03:10

O valor 2 recebido no campo payment_methods.max, indica à loja que o mesmo só pode fazer o pagamento da recarga com no máximo 2 formas de pagamento diferentes.

Supondo que a loja realizou o pagamento da recarga da seguinte maneira: R$ 30,00 em dinheiro e R$ 20,00 com cartão de débito processados pela rede adquirente Rede (Rede Destino = 5; NSU do Host = 123456789; Dados de confirmação = 0520200001A6). Neste caso, o campo used_payment_methods deverá ser valorizado com os seguintes dados:

00:3000
02:2000:03:5-07:123456789-10:0520200001A6

Envio de dados do cartão para pagamento

Caso se deseje enviar o token de cartão armazenado no e-SiTef, os demais dados de cartão (card.number, card.expiry_date) não serão considerados.

Caso se deseje enviar os dados abertos do cartão, o token não deve ser enviado.

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 200. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de efetivação de recarga:

ParâmetroDescriçãoFormato
statusStatus da transação de recarga no e-SiTef. Saiba mais.= 3 AN
order_idCódigo do pedido gerado pela loja.< 20 AN
merchant_usnNSU da transação gerado pela loja.< 12 N
tv_package_subscription_codes[]Códigos de assinaturas de pacotes de TV.< 32 AN
resubmit_transactionSe este campo receber o valor true, a loja deve reenviar a requisição de efetivação de recarga com o campo answers preenchido da seguinte maneira:

"answers":[{"code":"126","description":"<um dos códigos recebidos no campo tv_package_subscription_codes>"}]

Neste caso, o status da transação será retornado como AGU.

Este fluxo só é possível na realização de Recarga TV.
T/F
send_payment_methodsFlag que indica que as formas de pagamento devem ser enviadas na próxima transação. Terá o valor true caso positivo.< 5 AN
esitef
codeCódigo de resposta do e-SiTef. Qualquer código diferente de 0(zero) significa falha. Saiba mais.< 4 N
messageMensagem de resposta do e-SiTef.< 500 AN
usnNSU da transação de recarga no e-SiTef= 15 N
sitef
codeCódigo de resposta do SiTef= 3 AN
messageMensagem de resposta do SiTef< 500 AN
host
codeCódigo de resposta retornado pela autorizadora< 4 AN
messageMensagem retornada pela autorizadora< 64 AN
acquirer
branch_codeCódigo da filial da recarga< 5 N
merchant_codeCódigo da loja cadastrada no adquirente< 15 N
authorization
confirmation_dataCódigo da confirmação< 128 AN
authorizer_dateData da autorização na autorizadora no formato MMDD= 4 N
authorizer_timeHorário da autorização na autorizadora no formato HHmmSS= 6 N
host_usnNSU do Host< 20 N
sitef_usnNSU do SiTef< 10 N
numberNúmero da autorização na autorizadora< 6 N
customer
total_copiesNúmero de vias do comprovante do cliente< 2 N
receiptComprovante do cliente< 4000 AN
merchant
total_copiesNúmero de vias do comprovante do estabelecimento< 2 N
receiptComprovante do estabelecimento< 4000 AN
hashes
generalCódigo de identificação da tabela com os dados relativos às recargas (operadoras, filiais, faixas de valores, validades dos créditos, dentre outros).= 16 AN
walletHash das carteiras digitais.< 32 AN
payment_methods
maxNúmero máximo de formas de pagamento< 2 N
payment_methods.available[]
Este campo agrega uma lista de formas de pagamento disponíveis.
nameNome da forma de pagamento disponível. Saiba mais.< 200 AN
payment
Este elemento somente é retornado caso um pagamento atrelado à recarga tenha sido enviado.
statusStatus da transação de pagamento no e-SiTef. Saiba mais.= 3 AN
amountValor do pagamento, o mesmo enviado na criação da transação de pagamento.< 12 AN
typeTipo do pagamento da autorizadora escolhida:
  • B = boleto
  • C = crédito
  • D = débito
  • P = cartão crédito Private Label
  • T = tranferência bancária
  • G = cartão gift
  • O = outros meios de pagamentos
= 1A
authorizer_idId da autorizadora no e-SiTef onde o pagamento foi feito< 5 N
acquirerTipo de pagamento< 50 AN
payment.esitef
usnNSU do e-SiTef< 15 AN
dateData do pagamento no formato DD/MM/AAAA hh:mm no e-SiTef.< 19A
payment.sitef
codeCódigo de resposta retornado pelo SiTef= 3 AN
payment.customer
receiptComprovante do pagamento (via cliente)< 4000 AN
payment.merchant
receiptComprovante do pagamento (via estabelecimento)< 4000 AN
payment.authorization
numberNúmero de autorização do pagamento< 6 AN
sitef_usnNSU do SiTef< 15 AN
host_usnNSU da autorizadora< 15 AN
tidID da transação na autorizadora, retornado por alguns tipos de pagamento.< 40 AN
eciEletronic commerce indicator retornado por alguns tipos de pagamento.< 3 AN
sitef_dateData do pagamento no formato DD/MM/AAAA hh:mm no SiTef.< 19 AN
payment.analysis
statusStatus da transação na instituição de análise.= 3 AN
codeCódigo de resposta da análise de risco.< 4 AN
messageMensagem de resposta da análise de risco.< 100 AN
payment.extra_param[]
keyChave do parâmetro extraN/A
valueValor do parâmetro extraN/A

Importante:

No caso de recargas de outros produtos (others) que envolvam pins (por exemplo, pins de jogos), o pin será retornado uma única vez, como parte do campo payment.customer.receipt. Por se tratar de um campo sensível, o e-SiTef não o armazena, de forma que consultas de status posteriores não devolverão o pin. Caso ocorra algum problema após o retorno do pin pelo e-SiTef, o pin não poderá ser recuperado e será necessário gerar outro.

Serviço de confirmação de recarga

Detalhes da chamada

  • Recurso: /v3/recharge/{nit}
  • Método HTTP: PUT
  • Formato da requisição: JSON
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
Content-TypeDeve ser enviado com o valor application/json.= 15 ANSIM
AuthorizationAssinatura de autenticidade no formato Bearer {assinatura}. Saiba mais.

Exemplo: Bearer hh39458f73hf45324765ft349h5f73t4h95f34.

Este campo é obrigatório caso a transação tenha sido criada pelo processo de assinatura.
< 2000 ANCOND.

Exemplos

Abaixo está um exemplo de chamada do serviço de confirmação de recarga utilizando a ferramenta cURL.

Requisição:

curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/v3/recharge/asdfghjk12345678asdfghjk12345678asdfghjk12345678asdfghjk12345678"
--header "Content-Type: application/json"
--data-binary
{
   "confirm_recharge_request":{
      "confirm":"true",
      "merchant_key":"AOSDJF210349H3R0374H874H3T7AHG90SF"
   }
}
--verbose

Resposta:

{
   "confirm_recharge_response":{
      "esitef":{
         "message":"OK",
         "code":"0"
      },
      "status":"CON",
      "payment":{
         "status":"CON"
      }
   }
}

Parâmetros de requisição

Na tabela abaixo está a descrição dos parâmetros de requisição do serviço de confirmação de recarga:

ParâmetroDescriçãoFormatoObrigatório
confirmDeve receber o valor true caso se deseje confirmar a recarga e o pagamento atrelado (caso exista).
Deve receber o valor false para o desfazimento da recarga e do pagamento atrelado (caso exista).
< 5 ANSIM
merchant_keyChave da loja no e-SiTef utilizada na recarga.< 80 ANSIM
used_payment_methods[]Formas de pagamento utilizadas. O envio deste campo deve seguir as mesmas regras descritas no capítulo correspondente da efetivação de recarga. No caso de recarga TIM, é obrigatório enviar esse campo caso não deseje que seja assumido o tipo de pagamento “Outras formas” (código 99).COND.

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 200. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de confirmação de recarga:

ParâmetroDescriçãoFormato
statusStatus da transação de recarga no e-SiTef. Saiba mais.= 3 AN
esitef
codeCódigo de resposta do e-SiTef. Qualquer código diferente de 0(zero) significa falha. Saiba mais.< 4 N
messageMensagem de resposta do e-SiTef.< 500 AN
payment
statusStatus da transação de pagamento no e-SiTef, caso exista. Saiba mais.= 3 AN

Serviço de consulta de recarga

Essa chamada permite que a loja consulte o status de uma transação de recarga e pagamento atrelado (caso exista) no e-SiTef, a qualquer momento dentro do fluxo, após criar uma recarga.

Atenção:

A consulta de status da transação no e-SiTef NÃO efetua uma consulta do status da transação no adquirente / autorizador. Este serviço retorna o status da transação na base de dados do e-SiTef.

Exemplo: Caso uma transação de pagamento seja confirmada no e-SiTef, mas seja estornada via telefone diretamente no adquirente / autorizador, este estorno não será necessariamente refletido no serviço de consulta de status da transação do e-SiTef.

Detalhes da chamada

  • Recurso: /v3/recharge/{nit}
  • Método HTTP: GET
  • Formato da requisição: query string
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
AuthorizationAssinatura de autenticidade no formato Bearer {assinatura}. Saiba mais.

Exemplo: Bearer hh39458f73hf45324765ft349h5f73t4h95f34.

Este campo é obrigatório caso a transação tenha sido criada pelo processo de assinatura.
< 2000 ANCOND.

Exemplos

Abaixo está um exemplo de chamada do serviço de consulta de recarga utilizando a ferramenta cURL.

Requisição:

curl
--request GET "https://esitef-homologacao.softwareexpress.com.br/e-sitef/v3/recharge/asdfghjk12345678asdfghjk12345678asdfghjk12345678asdfghjk12345678/?merchantkey=ASDFGHJK12345678ASDFGHJK12345678"
--verbose

Resposta:

{
   "get_status_recharge_response":{
      "status":"CON",
      "esitef":{
         "message":"OK",
         "code":"0"
      },
      "authorizers":[
         {
            "name":"sitef",
            "message":"textoExibicao",
            "code":"codigoRespSitef"
         },
         {
            "name":"nome operadora (186)",
            "message":"OK",
            "code":"196"
         }
      ],
      "acquirer":{
         "branch_code":"cod filial",
         "merchant_code":"codigoEstab"
      },
      "authorization":{
         "confirmation_data":"000033333",
         "authorizer_date":"20150514",
         "authorizer_time":"1100",
         "host_usn":"11122",
         "sitef_usn":"333",
         "number":"332234"
      },
      "customer":{
         "total_copies":3,
         "receipt":"COMPROVANTE DE RECARGA mimimim cliente whiskas sache"
      },
      "merchant":{
         "total_copies":3,
         "receipt":"COMPROVANTE DE RECARGA mimimim estabelecimento lorem ipsum"
      },
      "payment_methods":{
         "max":2,
         "available":[
            {
               "name":"dinheiro"
            },
            {
               "name":"cheque"
            }
         ]
      },
      "payment":{
         "status":"PPC",
         "amount":"12",
         "type":"C",
         "esitef":{
            "usn":"098765432109876",
            "date":"12/12/2012 12:12"
         },
         "customer":{
            "receipt":"nwiugrnboinbAPROVADOaoisuerhn"
         },
         "merchant":{
            "receipt":"nwiugrnboinbAPROVADOaoisuerhn"
         },
         "authorizer_id":"1",
         "acquirer":"CIELO",
         "authorization":{
            "number":"163457212",
            "sitef_usn":"456456",
            "host_usn":"654654",
            "tid":"7334312a2",
            "eci":"fr3u214wf71",
            "sitef_date":"12122012"
         },
         "analysis":{
            "status":"PEN",
            "code":"0",
            "message":"hahaha"
         },
         "extra_param":[
            {
               "key":"CRIPTO",
               "value":"1"
            }
         ],
         "sitef":{
            "code":"000"
         }
      }
   }
}

Parâmetros de requisição

Na tabela abaixo está a descrição dos parâmetros de requisição do serviço de consulta de recarga:

ParâmetroDescriçãoFormatoObrigatório
nitIdentificação da transação de recarga no e-SiTef= 64 ANSIM
merchantkeyChave da loja no e-SiTef utilizada na recarga.< 80 ANSIM

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 200. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de consulta de recarga:

ParâmetroDescriçãoFormato
statusStatus da transação de recarga no e-SiTef. Saiba mais.= 3 AN
order_idCódigo do pedido gerado pela loja.< 20 AN
merchant_usnNSU da transação gerado pela loja.< 12 N
send_payment_methodsFlag que indica que as formas de pagamento utilizadas podem ser enviadas na próxima transação.Terá o valor true caso positivo.< 5 N
esitef
codeCódigo de resposta do e-SiTef. Qualquer código diferente de 0(zero) significa falha. Saiba mais.< 4 N
messageMensagem de resposta do e-SiTef.< 500 AN
usnNSU da transação de recarga no e-SiTef= 15 N
authorizers[]
Este campo agrega uma lista de elementos.
nameNome do autorizador< 16 AN
codeCódigo de resposta retornado pela autorizadora< 4 AN
messageMensagem retornada pela autorizadora< 64 AN
acquirer
branch_codeCódigo da filial da recarga, responsável pela recarga do conjunto DDD + operadora.< 5 N
merchant_codeCódigo da loja cadastrada no adquirente< 15 N
authorization
confirmation_dataCódigo da confirmação< 128 AN
authorizer_dateData da autorização na autorizadora no formato MMDD= 4 N
authorizer_timeHorário da autorização na autorizadora no formato HHmmSS= 6 N
host_usnNSU do Host< 20 N
sitef_usnNSU do SiTef< 10 N
numberNúmero da autorização na autorizadora< 6 N
customer
total_copiesNúmero de vias do comprovante do cliente< 2 N
receiptComprovante do cliente< 4000 AN
merchant
total_copiesNúmero de vias do comprovante do estabelecimento< 2 N
receiptComprovante do estabelecimento< 4000 AN
payment_methods
maxNúmero máximo de formas de pagamento< 2 N
payment_methods.available[]
Este campo agrega uma lista de formas de pagamento disponíveis.
nameNome da forma de pagamento disponível. Saiba mais.< 200 AN
payment
Este elemento somente é retornado caso um pagamento atrelado à recarga tenha sido enviado.
statusStatus da transação de pagamento no e-SiTef. Saiba mais.= 3 AN
amountValor do pagamento, o mesmo enviado na criação da transação de pagamento.< 12 AN
typeTipo do pagamento da autorizadora escolhida:
  • B = boleto
  • C = crédito
  • D = débito
  • P = cartão crédito Private Label
  • T = tranferência bancária
  • G = cartão gift
  • O = outros meios de pagamentos
= 1A
authorizer_idId da autorizadora no e-SiTef onde o pagamento foi feito< 5 N
acquirerTipo de pagamento< 50 AN
payment.esitef
usnNSU do e-Sitef< 15 AN
dateData do pagamento no formato DD/MM/AAAA hh:mm no e-SiTef.< 19A
payment.sitef
codeCódigo de resposta retornado pelo SiTef= 3 AN
payment.customer
receiptComprovante do pagamento (via cliente)< 4000 AN
payment.merchant
receiptComprovante do pagamento (via estabelecimento)< 4000 AN
payment.authorization
numberNúmero de autorização do pagamento< 6 AN
sitef_usnNSU do SiTef< 15 AN
host_usnNSU da autorizadora< 15 AN
tidID da transação na autorizadora, retornado por alguns tipos de pagamento.< 40 AN
eciEletronic commerce indicator retornado por alguns tipos de pagamento.< 3 AN
sitef_dateData do pagamento no formato DD/MM/AAAA hh:mm no SiTef.< 19 AN
payment.analysis
statusStatus da transação na instituição de análise.= 3 AN
codeCódigo de resposta da análise de risco.< 4 AN
messageMensagem de resposta da análise de risco.< 100 AN
payment.extra_param[]
keyChave do parâmetro extraN/A
valueValor do parâmetro extraN/A
hashes
Hashes que indicam o status das mudanças nas tabelas de recarga
generalHash geral das tabelas de recarga. Este hash será alterado se algum dos hashes de uma rede específica for alterado.= 16 AN
walletHash das tabelas de recarga de uma rede específica. Se as tabelas da rede de recarga sofrer alguma alteração, o hash retornado neste campo também será alterado. O dado retornado neste campo possui o seguinte formato:
<Rede>:<Hash>:<Serviço 1>,< Serviço 2>, <Serviço N> Onde:
  • Rede = Código da rede de recarga
  • Hash = Hash referente às tabelas de recarga da Rede.
  • Serviço n = Tipo de serviço disponibilizado pela Rede, os quais podem ser:
    • F1-1 = Recarga Telefone Nacional
    • F1-3 = Recarga Outros Produtos
  • Os separadores são dois-pontos e vírgula.

Exemplo de dado retornado neste campo: 106:0D0C4FCB0D0C4FCB:F1-1,F1-3
< 100 AN

Consulta de transações em um grupo de lojas

O e-SiTef exige que as credenciais (merchantkey) sejam as mesmas utilizadas na transação a ser consultada. No entanto, caso o lojista precise, o e-SiTef pode permitir consultas com credenciais de outras lojas de um mesmo grupo. Para isso, basta solicitar às nossas equipes de suporte e produção para que façam essa liberação.

Autenticação com assinatura

Para garantir maior comodidade e segurança aos seus clientes, o e-SiTef oferece, além da autenticação através da chamada POST à URL cadastrada (saiba mais), a opção de assinatura de mensagens, em que conteúdo e remetente passam a ter garantias de integridade e autenticidade, respectivamente. Dessa forma, a loja recebe as informações da transação recém-criada diretamente na resposta de sua chamada REST e não mais através do POST de autenticidade.

O que você precisará

  • Cadastro ativo no ambiente de homologação do e-SiTef (obtido com nossa equipe de suporte);
  • A criação de uma chave pública e o gerenciamento da sua respectiva chave privada;
  • Cadastro da chave pública no e-SiTef (feito através da nossa equipe de suporte).

Criando as chaves pública e privada

Exemplos de como criar as chaves privada e pública:

  • No Linux (utilizando o terminal):
# criando a sua chave privada:
ssh-keygen -t rsa -b 4096 -m PEM -f jwtRS256.key

# criando uma chave pública a partir da chave privada criada:
openssl rsa -in jwtRS256.key -pubout -outform PEM -out jwtRS256.key.pub
  • No Windows:

Utilizar ssh-keygen no prompt de comando

# criando a sua chave privada:
ssh-keygen -t rsa -b 4096 -m PEM -f jwtRS256.key

Utilizar uma versão do openssl para windows, executar como administrador e executar o seguinte comando:

# criando uma chave pública a partir da chave privada criada:
rsa -in jwtRS256.key -pubout -outform PEM -out jwtRS256.key.pub

Atenção:

Esse arquivo de chave pública jwtRS256.key.pub é o único arquivo que você deverá enviar pra nossa equipe de suporte. Sempre mantenha seguros a sua chave privada e a sua senha, caso tenha cadastrado uma.

Algoritmo de assinatura

O algoritmo suportado pela aplicação é o RS256 em conjunto com o padrão JWT (RFC 7519).

Ao utilizar este padrão, uma assinatura é composta por três partes: cabeçalho, dados (payload) e a verificação de assinatura. A cada uma dessas partes, é aplicada uma codificação Base64.

Primeira parte (cabeçalho)

O cabeçalho deve conter o seguinte conteúdo fixo:

{
  "alg": "RS256",
  "typ": "JWT"
}

Cabeçalho Base64:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9

Segunda parte (payload)

A parte de dados (payload) varia de acordo com a operação a ser assinada. Exemplo:

{
  "merchant_id":"XXXXX",
  "merchant_key": "XXXXXXXXXXXXXXX",
  "order_id": "182367r12831t29b",
  "merchant_usn" : "92837429837",
  "timestamp": "1605034925174"
}

Payload Base64:

eyJtZXJjaGFudF9pZCI6IlhYWFhYIiwibWVyY2hhbnRfa2V5IjoiWFhYWFhYWFhYWFhYWFhYIiwib3JkZXJfaWQiOiIxODIzNjdyMTI4MzF0MjliIiwibWVyY2hhbnRfdXNuIjoiOTI4Mzc0Mjk4MzciLCJ0aW1lc3RhbXAiOiIxNjA1MDM0OTI1MTc0In0

Composição do payload

Dependendo do serviço chamado, os campos do payload serão diferentes. Abaixo estão descritos os campos necessários para cada serviço.

Serviços de criação e listagem de lojas

ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no e-SiTef.= 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef.< 80 ANSIM
timestampRepresentação em milissegundos do momento de geração da assinatura. Enfatizando que o campo timestamp possui um limite de validade de 10 minutos.< 13 NSIM
{
  "merchant_id":"XXXXX",
  "merchant_key": "XXXXXXXXXXXXXXX",
  "timestamp": "1605034925174"
}

Serviços de edição e consulta de loja

ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.= 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM
timestampRepresentação em milissegundos do momento de geração da assinatura. Enfatizando que o campo timestamp possui um limite de validade de 10 minutos.< 13 NSIM
registered_merchant_idCódigo da loja criada ou a ser criada no e-SiTef. Os códigos de produção e certificação serão diferentes.= 15 ANSIM
{
  "merchant_id":"XXXXX",
  "merchant_key": "XXXXXXXXXXXXXXX",
  "registered_merchant_id": "YYYYYYY",
  "timestamp": "1605034925174"
}

Serviços de criação de transação

ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.= 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM
order_idCódigo do pedido definido pelo lojista.< 40 ANSIM
merchant_usnNúmero sequencial único para cada pedido, criado pela loja.< 12 NSIM
timestampRepresentação em milissegundos do momento de geração da assinatura. Enfatizando que o campo timestamp possui um limite de validade de 10 minutos.< 13 NSIM

Exemplo:

{
  "merchant_id":"XXXXX",
  "merchant_key": "XXXXXXXXXXXXXXX",
  "order_id": "182367r12831t29b",
  "merchant_usn" : "92837429837",
  "timestamp": "1605034925174"
}

Demais serviços

ParâmetroDescriçãoFormatoObrigatório
nitIdentificador da transação no e-SiTef.= 64 ANSIM
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.= 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM
timestampRepresentação em milissegundos do momento de geração da assinatura. Enfatizando que o campo timestamp possui um limite de validade de 10 minutos.< 13 NSIM

Exemplo:

{
  "nit":"asdfghjk12345678asdfghjk12345678asdfghjk12345678asdfghjk12345678",
  "merchant_id":"XXXXX",
  "merchant_key": "XXXXXXXXXXXXXXX",
  "timestamp": "1605034925174"
}

Terceira parte (verificação)

A terceira e última parte é o resultado da criptografia RSA das duas partes anteriores codificadas separadamente em Base64 e concatenadas por um ponto (".").

Duas partes anteriores codificadas seperadamente em Base64 e concatenadas por um ponto ("."), onde o primeiro segmento do texto - anterior ao ponto - corresponde ao cabeçalho e o segundo corresponde ao payload:

eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJtZXJjaGFudF9pZCI6IlhYWFhYIiwibWVyY2hhbnRfa2V5IjoiWFhYWFhYWFhYWFhYWFhYIiwib3JkZXJfaWQiOiIxODIzNjdyMTI4MzF0MjliIiwibWVyY2hhbnRfdXNuIjoiOTI4Mzc0Mjk4MzciLCJ0aW1lc3RhbXAiOiIxNjA1MDM0OTI1MTc0In0

Por fim, uma criptografia RSA, usando a chave privada loja, deve ser feita neste conteúdo. Exemplo:

LLQ2kaC3dG0tsu78JyEIbvd8c1G05lo-1qLDBb0lBXsS2lrJ98-rcusEhuodhHDBE701a_RZwCfOH9ebPZXYdEtuLldqp_Q47y_AYOBYuz3eexuVC0sH3MvmljjHEiMYEIKtFyhsSFrBuQBFvBOT4tJCA779j_cP-JnW4MeDazDehsydEa6phsmkGg_0YfN2xdRzaaTrQqldYibUeI7_YEwLTYrZg0Ys7r45quT7veAzNFLEL4I3iJmMJUcBaCfIQl6NKvX7meoSBeFBaj_MRw8WwXnNTjCFXjU6w_iUiYPg0VVAAKGaEYKP7sHUcw1hn-BawMDMorLcvT9YwP4OxQ

Assinatura final

A assinatura final é a concatenação das 3 partes separadas por ("."):

eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJtZXJjaGFudF9pZCI6IlhYWFhYIiwibWVyY2hhbnRfa2V5IjoiWFhYWFhYWFhYWFhYWFhYIiwib3JkZXJfaWQiOiIxODIzNjdyMTI4MzF0MjliIiwibWVyY2hhbnRfdXNuIjoiOTI4Mzc0Mjk4MzciLCJ0aW1lc3RhbXAiOiIxNjA1MDM0OTI1MTc0In0.LLQ2kaC3dG0tsu78JyEIbvd8c1G05lo-1qLDBb0lBXsS2lrJ98-rcusEhuodhHDBE701a_RZwCfOH9ebPZXYdEtuLldqp_Q47y_AYOBYuz3eexuVC0sH3MvmljjHEiMYEIKtFyhsSFrBuQBFvBOT4tJCA779j_cP-JnW4MeDazDehsydEa6phsmkGg_0YfN2xdRzaaTrQqldYibUeI7_YEwLTYrZg0Ys7r45quT7veAzNFLEL4I3iJmMJUcBaCfIQl6NKvX7meoSBeFBaj_MRw8WwXnNTjCFXjU6w_iUiYPg0VVAAKGaEYKP7sHUcw1hn-BawMDMorLcvT9YwP4OxQ

Essas três partes da assinatura, representada pelo exemplo anterior, devem ser enviadas no header Authorization com valor Bearer <assinatura>. Com isso, o e-SiTef poderá validar a assinatura utilizando a chave pública da loja.

Utilizando site JWT para testes

É possível utilizar o site do JWT para criar uma assinatura válida para testes. Para isso é necessário selecionar o algoritmo RS256 e passar o respectivo payload e uma chave pública e privada. "Jwt"

Caso a chave pública não esteja válida a mensagem "Invalid Signature" será exibida. "Jwt"

Pagamento HTML

Visão Geral

O e-SiTef possui duas interfaces para integração com a loja virtual, POST/HTML e Web Services (REST ou SOAP), possibilitando a maneira adequada de interação da loja com o e-SiTef, conforme a linguagem e plataforma de execução da loja virtual.

A interface HTML foi definida para ser uma maneira simples e rápida de integração com os meios de pagamentos e serviços existentes no e-SiTef, no entanto sem perder a flexibilidade. A interface padrão possui apenas dois parâmetros obrigatórios, realizando a coleta dos demais no próprio portal ou através de configurações realizadas pelo administrador da loja na retaguarda do e-SiTef, no entanto se a aplicação da loja virtual quiser passar definições ou restrições para um determinado tipo de serviço, rede ou mesmo número de parcelas, isto poderá ser feito através do conjunto de parâmetros passados no início da transação, antes do redirecionamento do cliente.

Fluxo

O fluxo de pagamento é executado pela loja após o comprador finalizar a compra.

A loja deverá iniciar a transação com o e-SiTef enviando os dados da compra através do serviço de criação de transação.

O fluxo de pagamento sem redirecionamento consiste nos seguintes passos:

  1. Após o comprador finalizar a compra, a loja cria uma nova transação no e-SiTef, através de um POST na URL para iniciar uma transação, informando todos os parâmetros necessários. Saiba mais.
  2. Como resposta ao POST, a loja receberá uma URL do e-SiTef a qual o comprador deve ser redirecionado. Esta URL será diferente a cada transação de pagamento.
  3. O comprador seguirá com o fluxo de pagamento conforme a autorizadora informada, e finaliza o pagamento.
  4. Ao final do fluxo de pagamento, o e-SiTef irá redirecionar de volta o comprador para a loja, conforme configuração de URL's de retorno já informados no cadastro da loja, ou para as back_url's (saiba mais) enviadas na criação da transação de pagamento.

Para cada alteração de status da transação de pagamento no e-SiTef, a loja receberá um POST de aviso de status, informando a situação da mesma. Saiba mais.

Todas as chamadas realizadas serão respondidas de forma síncrona exceto o aviso de status que será realizado pelo e-SiTef de forma assíncrona.

O e-SiTef permite que a loja configure o meio de pagamento responsável por autorizar as transações de uma determinada bandeira. Por exemplo, uma loja pode preferir que as transações com cartões VISA sejam roteadas pela CIELO enquanto que transações com cartões Mastercard sejam roteadas pela REDE.

Esta flexibilidade para configuração do roteamento dá à loja a possibilidade de tratar promoções de acordo com a bandeira do cartão.

Pensando em como evitar que um usuário selecione a bandeira VISA, mas acabe informando o número de um cartão Mastercard, o e-SiTef disponibiliza um mecanismo de verificação e troca da autorizadora que responderá pela autorização da transação.

Saiba mais.

Pagamento sem redirecionar o comprador

A figura abaixo ilustra o fluxo de Pagamento HTML 2.0 sem redirecionar o comprador para um ambiente externo ao e-SiTef. Como exemplo temos pagamentos via SiTef, e-Rede, dentre outros.

Pagamento redirecionando o comprador para a Autorizadora

A figura abaixo ilustra o fluxo de Pagamento HTML 2.0 usando uma autorizadora que exige redirecionamento do comprador para o sistema deles (exemplo: PayPal, Banco do Brasil, MercadoPago, dentre outros).

Quick start

Este guia mostra o processo de efetivação de um pagamento, utilizando a interface HTML do e-SiTef.

O que você precisará

  • Cadastro ativo no ambiente de homologação do e-SiTef (obtido com nossa equipe de suporte)
  • Uma ferramenta capaz de realizar chamadas HTTP, como Postman, REST Client ou cURL
  • Uma aplicação capaz de receber chamadas POST HTTPS

Criando a transação de pagamento

Tipo de requisição: POST

URL: https://esitef-homologacao.softwareexpress.com.br/e-sitef/init/json.se

Headers:

  • Content-Type: application/x-www-form-urlencoded

Parâmetros do POST:

  • Key/chave: request;
  • Value/valor: objeto JSON;
  • [tipo_de_retorno]: json ou xml;

Objeto JSON request mínimo:

JSON
cURL
{
"merchant_id": "xxxxxxxxxx",
"amount": "1800"
}
curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/init/json.se"
--header "Content-Type: application/x-www-form-urlencoded"
-d 'request=%7B%22merchant_id%22%3A%22xxxxxxxxxx%22%2C%22amount%22%3A%221800%22%7D'
--verbose

Resposta:

{
  "responseCode" : 0,
  "description" : "OK. Transaction successful.",
  "url" : "https://esitef-homologacao.softwareexpress.com.br/e-sitef/do.se?input['nit']=12345678asdfghjk12345678asdfghjk12345678asdfghjk12345678asdfghjk",
  "nsuesitef" : "123451234512345",
  "nit" : "12345678asdfghjk12345678asdfghjk12345678asdfghjk12345678asdfghjk"
}

Saiba mais sobre esse serviço.

Redirecionando o usuário

A loja deve então redirecionar o usuário para a URL retornada pelo e-SiTef na etapa de criação da transação.

Recebendo um aviso de status

Assim que o status da transação mudar, o e-SiTef notificará a loja com um POST em sua URL de status cadastrada.

Java + Spring Framework
@RestController
public class MyStatusController {

@PostMapping(value = "/mystatus",
consumes = "application/x-www-form-urlencoded; charset=utf-8")
public ResponseEntity<String> myStatus(@RequestParam Map<String, String> request) {
Log.info("status = " + request.get("status"));
// ...
return new ResponseEntity<>("OK", HttpStatus.OK);
}

}

Abaixo segue um exemplo de requisição a ser feita pelo e-SiTef no domínio cadastrado pela loja:

cURL
curl -X POST \
https://dominiocadastrado.com.br \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H 'Postman-Token: fc3c1702-9771-4c6f-8411-d1204f572b7b' \
-H 'cache-control: no-cache' \
-d 'rede=xxxx&tipoFinanciamento=4&binCartao=xxxxxx&nsuesitef=191107123456780&tid=authorizerTransactionId12345678901234567&parcelas=2&nsu=merchantNsu&autorizadora=1&nit=nitWith64charsLike1234567890123456789012345678901234567890123457&pedido=orderId1234&tipoPagamento=C&finalCartao=2345&status=NEG'

Saiba mais sobre esse serviço.

Iniciando uma transação de pagamento

Processo de criação da transação

O processo de criação de transação deverá seguir os seguintes passos:

  • A transação é criada conforme os parâmetros enviados na chave request e representados por um objeto JSON via POST na requisição;
  • A loja recebe uma mensagem de sucesso ou erro, formatada como XML ou JSON, conforme o parâmetro "tipo de retorno" na URL enviada ao se iniciar uma transação.

URL para iniciar uma transação via POST HTTPS:

Ambiente de Homologação:
https://esitef-homologacao.softwareexpress.com.br/e-sitef-hml/init/[tipo_de_retorno].se
Ambiente de Produção
https://esitef-ec.softwareexpress.com.br/e-sitef/init/[tipo_de_retorno].se

Atenção: Nunca deve ser usado o IP ao invés do domínio esitef-ec.softwareexpress.com.br (ou esitef-homologacao.softwareexpress.com.br para ambiente de homologação). O IP pode mudar a qualquer instante e sem aviso prévio, logo é importante sempre utilizar o domínio para acessar o e-SiTef.

Parâmetros do POST:

  • Key/chave: request;
  • Value/valor: objeto JSON;
  • [tipo_de_retorno]: json ou xml;

Exemplo de requisição JSON (JavaScriptObjectNotation):

URL: https://esitef-homologacao.softwareexpress.com.br/e-sitef-hml/init/json.se

Objeto JSON request mínimo:

{
    "merchant_id": "codigoDaLoja",
    "amount": "1800"
}

Objeto JSON "request" com alguns parametros adicionais:

{
    "merchant_id": "codigoDaLoja",
    "order_id": "123456",
    "redirect": "A",
    "installments": "3",
    "installment_type": "4",
    "authorizer_id": "1",
    "amount": "1800",
    "transaction_type":"payment",
    "back_url": {
        "url_success": "",
        "url_failure": "",
        "url_cancel": ""
    },
    "additional_data": {
        "currency": "BRL",
        "method": "",
        "postpone_confirmation": "false",
        "payer": {
            "identification_number": "22222222222",
             "store_identification": "22222222222"
        }
    }
}

Ferramentas para testes

Para testes iniciais nesta interface, caso necessário, podem ser usadas algumas ferramentas a fim de um melhor entendimento da comunicação via REST:

  • Aplicação para Windows/Linux/Mac:
    • POSTMAN
  • Extensão para Firefox:
    • RESTClient

Abaixo seguem exemplos de tela destas ferramentas:

POSTMAN

RESTClient

Parâmetros de requisição

O objeto JSON additional_data possui campos que se alteram conforme a autorizadora utilizada para o pagamento, pelo campo authorizer_id. Para mais detalhes do campo additional_data, por favor consulte a documentação específica para cada autorizadora suportada pela Interface de Pagamento HTML 2.0.

Para iniciar uma transação na nova interface de pagamento HTML, inicialmente podem ser preenchidos os seguintes parâmetros no formato JSON.

{
  "amount": "120000",
  "authenticate": "false",
  "authorizer_id": "1",
  "installments": "1",
  "installment_type": "4",
  "merchant_id": "LOJATESTE",
  "merchant_usn": "999888",
  "order_id": "order123",
  "recharge_included": "false",
  "redirect": "M",
  "soft_descriptor": "softDescriptor",
  "store_card": "false",
  "style": "N",
  "transaction_type": "payment",
  "payment_link":"false",
  "additional_data": { },
  "back_url": { },
  "iata": { },
  "recharge": { }
}
ParâmetroDescriçãoFormatoObrigatório
amountValor total a ser pago pelo comprador.
Formato:
Deve ser enviado em centavos.
Ex.: 1000 (10 reais).
< 12 NSIM
authenticateParâmetro que deve ser enviado caso seja necessária a autenticação dos dados de pagamento do cliente.
Valores permitidos:
0, 1, 2, 3 e 4.
Valor default – 0
< 1 ANÃO
authorizer_idCódigo da Autorizadora (no e-SiTef)< 10 ANÃO
installmentsNúmero de parcelas do pagamento. As seguintes autorizadoras não permitem a definição prévia do número de parcelas, logo nesses casos este parâmetro não deve ser enviado:
  • PayPal
  • Mercado Pago
  • PagSeguro
Enviar o valor 1 para pagamentos à vista.
< 2 NNÃO
installment_typeTipo do financiamento escolhido pelo cliente.
Valores permitidos:
3 – parcelado administradora (com juros)
4 – parcelado loja (sem juros)
Valor default = 4
= 1 NNÃO
merchant_idCódigo da loja no e-SiTef< 15 ASIM
merchant_usnCódigo de identificação da transação pelo lojista.< 12 ANÃO
order_idCódigo do pedido (na loja)< 40 NNÃO
recharge_includedInforma se uma recarga será feita.
Valores permitidos:
true – caso se deseje fazer uma recarga
false – caso não se deseje fazer uma recarga
Valor default – false
= 5 ANÃO
redirectTipo de redirecionamento que será realizado ao finalizar o fluxo de transação no e-SiTef.

Valores permitidos:
A – (Automático) redirecionamento automático: não mostra a tela final do pagamento (incluindo o comprovante) e redireciona o cliente automaticamente para uma das URL's do parâmetro back_url. O parâmetro nit também é enviado na requisição via HTTP GET.
M – (Manual) redirecionamento manual: Mostra a tela final do pagamento incluindo o comprovante e apresenta um link para o cliente clicar caso deseje ser redirecionado para a loja. O parâmetro nit também é enviado na requisição via HTTP POST.
Valor default – M (Manual)
= 1 ANÃO
soft_descriptorNome do estabelecimento que será apresentado na fatura do cartão. Saiba mais< 30 ANÃO
store_cardIndicador de armazenamento de cartão utilizado no pagamento.

Valores permitidos:
true – indica que o cartão utilizado será armazenado.
false – indica que o cartão utilizado não será armazenado.
Valor default – false (não será realizado o armazenamento)

Caso a loja envie este campo igual a true, o campo additional_data.payer.store_identification passa a ser obrigatório.
< 5 ANÃO
styleCampo informativo para o estilo de redirecionamento para o e-SiTef.

Valores permitidos:
N – Redirecionamento no mesmo frame.
P – Um pop-up será aberto.
Valor default – N

A loja deve informar o valor correspondente à forma de redirecionamento escolhida na integração, para que o e-SiTef faça um tratamento adequado das janelas ao final da transação de pagamento.
= 1 ANÃO
transaction_typeTipo de transação que será realizada.

Valores permitidos:
payment – Caso seja realizado um Pagamento
preauthorization – Caso seja realizada uma Pré Autorização
Valor default – payment
< 32 ANÃO
payment_linkEste campo deve receber o valor true para ativar a funcionalidade de pagamento com link.< 5 ANÃO
additional_dataObjeto do tipo ADDITIONALDATANÃO
back_urlObjeto do tipo BACKURLNÃO
iataObjeto do tipo IATA. Contém informações sobre parcelamento IATA.NÃO
rechargeObjeto do tipo RECHARGE.
Contêm dados relacionados a uma transação de recarga.
NÃO

BACKURL (back_url)

{
    "url_cancel": "/cancel",
    "url_failure": "/failure",
    "url_success": "/success"
}
ParâmetroDescriçãoFormatoObrigatório
url_successURL de redirecionamento do cliente em caso de sucesso. Deve possuir apenas o caminho relativo ao domínio.< 200 ANÃO
url_failureURL de redirecionamento do cliente em caso de fracasso. Deve possuir apenas o caminho relativo ao domínio.< 200 ANÃO
url_cancelURL de redirecionamento do cliente em caso de cancelamento. Deve possuir apenas o caminho relativo ao domínio.< 200 ANÃO

IATA (iata)

{
    "departure_tax": "1000",
    "first_installment": "20000"
}
ParâmetroDescriçãoFormatoObrigatório
departure_taxValor de taxa de embarque< 200 ANÃO
first_installmentValor de entrada< 200 ANÃO

ADDITIONALDATA (additional_data)

{
    "currency": "BRL",
    "method": "",
    "postpone_confirmation": "false",
    "financing_plan": "",
    "payer": { }
}
ParâmetroDescriçãoFormatoObrigatório
currencyMoeda utilizada padrão para todos itens da compra.
Código da moeda segundo a ISO 4217.

Alguns valores permitidos:
BRL – Real
VEF – Venezuelan bolívar fuerte
USD – Dólar Americano
GBP – Libra Esterlina
Entre outros.

Caso esse parâmetro não seja enviado, o e-SiTef utilizará a configuração da loja, e se a loja não estiver configurada, será utilizado como padrão o valor BRL.
= 3 ANÃO
methodUsado para realizar uma transação diferenciada.

Valores permitidos:
split – Caso se deseje fazer uma transação SPLIT.
< 1024 ANNÃO
postpone_confirmationCampo que permite que loja mantenha a transação como Pendente de Confirmação, e posteriormente, confirmá-la ou desfazê-la.< 5 ANÃO
financing_planCódigo de plano de financiamento. Necessário apenas para pagamentos com parcelamento com juros efetuados com roteamento Via Certa Financiadora via SiTef. Deve ser enviado se e somente se forem definidos, nesta etapa, a autorizadora (campo authorizer_id) com roteamento Via Certa Financiadora, as parcelas e o parcelamento com juros.< 4 ANNÃO
max_installmentsMáximo de parcelas sem juros que será apresentado para o comprador no momento do checkout. Caso informado, sobrescreverá o valor configurado na loja do e-SiTef. Caso a adquirente também retorne um valor máximo de parcelas, o valor a ser utilizado será sempre o menor.< 3 NNÃO
submerchant_splitObjeto do tipo SUBMERCHANT_SPLIT
Consiste em um array para pagamentos split, exclusivos para roteamentos BIN e Sipag, ambos via SiTef. Permite a divisão de partes do valor total do pagamento entre outras empresas. Funcionalidade exclusiva para pagamentos (transaction_type:payment).
O máximo de itens permitido neste array é de 5 itens.

Este não deve ser usado juntamente com o campo method:split citado acima, e são funcionalidades diferentes.
NÃO
payerObjeto do tipo PAYERNÃO
mccO MCC (Merchant Category Code) é um código que classifica um negócio pelo tipo de bens ou produtos fornecidos. É usado na subadquirência para roteamentos via SiTef.4 NNÃO
subacquirer_merchant_idIdentificação da loja na subadquirente. É usado na subadquirência para roteamentos via SiTef.22 NNÃO
transaction_initiated_byIndica se a transação foi iniciada pelo Lojista ou pelo Comprador. Valores permitidos:
customer – Transação iniciada pelo Comprador.
merchant – Transação iniciada pelo Lojista.
< 8 ANNÃO
multiple_payment_methodsIndica se o lojista deseja permitir que o comprador visualize a opção de pagar usando dois meios de pagamento. Não enviar este campo com valor true quando prefixar autorizadora.< 5 T/FNÃO

SUBMERCHANT_SPLIT[] (submerchant_split)

[
   {
      "submerchant_code":"empresa01",
      "submerchant_amount":"120"
   },
   {
      "submerchant_code":"empresa02",
      "submerchant_amount":"420"
   },
   {
      "submerchant_code":"empresa03",
      "submerchant_amount":"300"
   },
   {
      "submerchant_code":"empresa04",
      "submerchant_amount":"400"
   },
   {
      "submerchant_code":"empresa05",
      "submerchant_amount":"250"
   }
]
ParâmetroDescriçãoFormatoObrigatório
submerchant_codecódigo de estabelecimento BIN/Sipag< 15 ANNÃO
submerchant_amountvalor de transação referente ao estabelecimento.< 12 NNÃO

PAYER (payer)

{
    "store_identification": "card_1",
    "identification_number": "123123123"
}
ParâmetroDescriçãoFormatoObrigatório
store_identificationIdentificação do comprador para armazenamento de cartão.
Esta identificação deve ser única para cada usuário da loja.
Mas atenção, essa garantia de unicidade é de total responsabilidade da loja, o e-SiTef não realizará nenhuma validação.
< 20NÃO
identification_numberNúmero de identificação do comprador.< 1024NÃO

Nota 1: A especificação dos parâmetros do objeto additional_data pode variar conforme autorizadora. Consulte a documentação específica para este detalhamento.

Nota 2: No caso de parcelamento pré-fixado pelos campos installments e installment_type, sem a definição do campo authorizer_id, as seguintes regras serão aplicadas em relação à apresentação de opções de autorizadoras para o comprador:

  • As opções de wallets (Visa Checkout, Masterpass, GooglePay), PayPal, PagSeguro e MercadoPago serão omitidas, pois as opções de parcelamento podem ser escolhidas pelo comprador no ambiente do próprio meio de pagamento.
  • No caso de pagamentos parcelados (installments > 1), serão apresentadas apenas as opções de crédito e, dentro destas, somente serão mostradas as que as configurações de parcelamento feitas no cadastro da loja no e-SiTef correspondam ao valor fixado.

Sugestão: Ajuste estas configurações no e-SiTef conforme o acordado com as adquirentes / meios de pagamento. Para mais detalhes, entre em contato com a equipe de atendimento e-SiTef ou acesse o Portal do Lojista.

Atenção: No caso de pagamentos roteados por iCards via SiTef, os campos authorizer_id, installments e installment_type devem ser pré-fixados na criação da transação, não sendo possível para o usuário comprador efetuar esta escolha (autorizadora, parcelas e tipo de parcelamento) durante a navegação.

Parâmetros de resposta

O retorno da operação de criação de transação se dá na forma solicitada no [tipo de retorno].

Abaixo segue um exemplo de retorno JSON:

{
  "responseCode": 0,
  "description": "OK. Transaction successful.",
  "url": "https:// esitef-homologacao.softwareexpress.com.br/e-sitef/do.se?input['nit']= 1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
  "nsuesitef": "123456789012345",
  "nit": "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
}

Os campos retornados são descritos na tabela abaixo:

ParâmetroDescriçãoFormato
responseCodeCódigo de resposta do e-SiTef. Qualquer código diferente de 0(zero) significa falha. Saiba mais.< 5 N
descriptionDescrição da resposta< 1024 A
urlURL de redirecionamento para iniciar o pagamento.< 256 A
nitIdentificador da transação no e-SiTef= 64 A
nsuesitefNSU (Número Sequencial Único) da transação no e-SiTef= 15 A

Aviso de Status

A cada mudança de status da transação, o e-SiTef avisará à loja sobre tais mudanças conforme a figura abaixo:

No cadastro da loja deve ser informada uma URL de Status, onde o e-SiTef irá enviar um POST contendo o status da transação com os seguintes parâmetros:

ParâmetroDescriçãoFormato
nitNIT da transação= 64 A
pedidoCódigo do Pedido (na loja)< 20 A
nsuNúmero sequencial enviado pela loja< 12 N
nsuSitefNúmero sequencial único do SiTef< 10 A
nsuHostNúmero sequencial único da Autorizadora< 20 A
nsuesitefNSU do e-SiTef= 15 A
statusStatus do pedido. Saiba mais.= 3 A
cupomCupom do pagamento (via do cliente) em caso de pagamento efetuado. Não contém quebras de linha, cada linha é separada por @ ao invés de quebra de linha.< 4000 A
cupomEstabelecimentoCupom do estabelecimento em caso de pagamento efetuado. Não contém quebras de linha, cada linha é separada por um @.< 4000 A
autorizadoraCódigo da Autorizadora (no e-SiTef). Saiba mais.< 10 A
tipoPagamentoTipo do pagamento: C=Crédito, D=Débito, B=Boleto= 1 A
dataSitefData do pagamento no formato DD/MM/AAAA hh:mm:SS.
Atenção: este parâmetro só é enviado para transações confirmadas que foram roteadas pelo SiTef.
= 19 A
dataEfetivacaoData do pagamento no formato DD/MM/AAAA hh:mm:SS no caso de pagamentos que não forem via SiTef.
Atenção: este parâmetro só é enviado para transações confirmadas que não foram roteadas pelo SiTef.
= 19 A
parcelasNúmero de parcelas< 2 N
tipoFinanciamentoTipo do financiamento escolhido pelo cliente. 3 = parcelado administradora (com juros), 4 = parcelado loja (sem juros).= 1 N
mensagemMensagem da autorizadora< 1024 A
codigoRespostaAutorizadoraCódigo de Resposta da autorizadora< 1024 A
redeNome da rede pela qual o pagamento está sendo efetuado< 500 A
numeroAutorizacaoNúmero da autorização (gerado pela autorizadora)= 6 A
tidTID da transação, presente somente quando efetuada via, Cielo eCommerce, e-Rede e e.Rede REST= 40 A
eciEletronic Comerce Indicator (ECI) da transação presente somente quando efetuada via Verified By Visa ou Secure Code Mastercard.= 3 A
bandeiraCódigo da bandeira utilizada na transação. OBS.: Este campo normalmente é enviado em transações via SiTef.< 5 N
analise.statusStatus da transação de análise de risco. (NOV = nova, EXP = expirada, ACC = aceita, REJ = negada, REV = em análise)=3 A
analise.codigoCódigo numérico de retorno.< 3N
analise.mensagemMensagem de retorno da instituição de análise<30 A
NITTransacaoSecundariaNIT’s das transações secundárias (separadas por &#124; pipe), para transações split.< 1040 A
binCartaoBIN (6 primeiros dígitos) do cartão usado para pagamento.= 6 N
finalCartaoÚltimos 4 dígitos do cartão usado para pagamento.= 4 N

Em adição aos campos descritos acima, caso uma transação de recarga for vinculada os seguintes campos serão retornados:

ParâmetroDescriçãoFormato
recarga.nitIdentificador NIT da transação.= 64 A
recarga.nsusitefNúmero sequencial único do SiTef.< 10 A
recarga.nsuhostNúmero sequencial único da Autorizadora.< 20 A
recarga.nsuesitefNSU do e-SiTef.= 15 A
recarga.statusStatus do pedido= 3 A
recarga.cupomCupom de recarga (via do cliente) em caso de recarga efetuada. Não contém quebras de linha, cada linha é separada por “@” ao invés de quebra de linha.< 4000 A
recarga.cupomestabelecimentoCupom do estabelecimento em caso de recarga efetuada. Não contém quebras de linha, cada linha é separada por um “@”.< 4000 A
recarga.codigoconcessionariaCódigo da Concessionária (no GwCel).< 10 A
recarga.redeCódigo da Adquirente.< 4 N
recarga.dataefetivacaoData do pagamento no formato DD/MM/AAAA hh:mm:SS no caso de pagamentos que não forem via SiTef.

ATENÇÃO: este parâmetro só é enviado para transações confirmadas que não foram roteadas pelo SiTef.
= 19 A
recarga.dataefetivacaositefData do pagamento no formato DD/MM/AAAA hh:mm:SS.

ATENÇÃO: este parâmetro só é enviado para transações confirmadas que foram roteadas pelo SiTef.
= 19 A
recarga.dadosconfirmacaoDados de confirmaçãoda recarga (sequência alfanumérica).= 12 A
recarga.telefoneNúmero de telefone da recarga.< 20 N
recarga.dddCódigo de área do telefone descrito na recarga.< 4 N
recarga.valorValor da recarga.< 12 N
recarga.codigorespostahostCódigo de resposta enviado pela concessionária.< 4 N
recarga.codigorespostasitefCódigo de resposta enviado pelo SiTef.< 4 N
recarga.mensagemrespostahostMensagem de resposta enviada pela concessionária.< 64 A
recarga.mensagemrespostasitefMensagem de resposta enviada pelo SiTef.< 64 A

Importante:

Além dos parâmetros acima o e-SiTef pode devolver outros sem aviso prévio. Por favor, esteja preparado para receber parâmetros extras além dos da tabela acima, que podem ser ignorados. Porém, em alguns casos parâmetros adicionais retornados por determinadas autorizadoras serão enviados juntamente.

Não é necessário devolver nada no POST, porém se o POST não for bem-sucedido (HTTP Status-Code 200: OK), o e-SiTef tentará de novo até o número de vezes configurado no sistema, antes de desistir e deixar a transação como pendente de aviso, conforme as figuras abaixo.

O POST/HTTPS do e-SiTef pode não ser imediato, mas sim, será assíncrono, com o tempo podendo variar conforme carga do servidor e da Internet. Caso haja algum problema no envio, o e-SiTef tentará reenviar a mensagem após um determinado período de tempo, sendo 3 (três) tentativas.

Nem todos os parâmetros podem estar presentes em todas as transações, alguns parâmetros podem não ser enviados dependendo da forma de pagamento ou se a transação não for concluída, por exemplo.

Tentativas de aviso de mudança de status:

Tentativas sem sucesso de aviso de mudança de status:

Serviço de consulta de transação HTML

A aplicação da loja deverá efetuar a consulta de status, quando ocorrer problemas no recebimento do status da transação.

Fluxo

Para realizar a consulta, a loja deverá fazer um POST no seguinte endereço:

https://esitef-homologacao.softwareexpress.com.br/e-sitef-hml/consultarTransacao.se?nit=XXXXX

Onde XXXXX é o NIT recebido pelo site do e-SiTef no pedido de consulta. A resposta será "OK" caso o NIT da transação esteja correto e a comunicação é encerrada.

A seguir o e-SiTef irá enviar um POST/HTTPS na URL de aviso de status cadastrada no servidor e-SiTef, enviando como parâmetro o código do status da transação. A loja deve estar preparada para lidar com estes status, e com a chamada HTTPS (SSL/TLS) na URL de aviso de status cadastrada.

O POST/HTTPS do e-SiTef pode não ser imediato, mas sim, será assíncrono, com o tempo podendo variar conforme carga do servidor e da Internet. Caso haja algum problema no envio, o e-SiTef tentará reenviar amensagem após um determinado período de tempo.

Oportuno lembrar que a loja deve aceitar o POST via HTTPS via SSL/TLS com certificado válido, e mesmo sendo válido pode ser necessária a importação do mesmo no e-SiTef.

Outro ponto importante é que o e-SiTef espera sempre a resposta 200 ("OK") na URL de aviso de status, não aceitando em hipótese alguma um redirecionamento (302) para outra URL e muito menos outro site.

Atenção:

A consulta de status da transação no e-SiTef NÃO efetua uma consulta do status da transação no adquirente / autorizador. Este serviço retorna o status da transação na base de dados do e- SiTef.

Exemplo: Caso uma transação de pagamento seja confirmada no e-SiTef, mas seja estornada via telefone diretamente no adquirente / autorizador, este estorno não será necessariamente refletido no serviço de consulta de status da transação do e-SiTef.

Quando utilizar a Consulta de Status?

Se por algum motivo o aplicativo do lojista atingir o timeout de espera e não receber o aviso de status do e-SiTef, devido a algum problema de infraestrutura ou até mesmo problema no servidor que impediu o recebimento da resposta, nesse caso o aplicativo do lojista deverá realizar a Consulta de Status. Nessa consulta o aplicativo do lojista recebe todos os parâmetros da transação, que ele teria recebido caso o aviso de status tivesse sido recebido normalmente. Dessa forma, evita-se que um mesmo pagamento seja enviado duas vezes ou que ocorra o abandono de um pagamento que já foi enviado e depois vir a debitar o valor na fatura do cartão.

É extremamente importante que o aplicativo do lojista tenha conhecimento do status da transação no e-SiTef antes de realizar qualquer tratamento da transação, assim impede-se que o cliente realize uma nova tentativa de pagamento de um mesmo pedido, sem saber o resultado do pagamento enviado anteriormente.

Exemplo:

Caso a URL de aviso de Status da loja cadastrada seja:

https://www.lojateste.com.br/status.php

A loja receberá um POST em:

https://www.lojateste.com.br/status.php

Com os parâmetros:

  pedido = 1234
  nsu = 123
  status = CON

Atenção:

Não abuse da chamada de aviso de status, chamando-o constantemente, sob pena de o e-SiTef passar a ignorar as chamadas.

Pagamento com armazenamento de cartão

O e-SiTef oferece à loja a opção de armazenar, de forma segura, o número do cartão do comprador para uso futuro em transações de compras ou até para efetuar estorno de um pagamento.

O fluxo seguido para o pagamento com armazenamento do cartão é exatamente o mesmo seguido pelo pagamento descrito anteriormente.

No caso de um pagamento com armazenamento o cartão do comprador é criptografado e depois armazenado em uma base de dados usada pelo e-SiTef. Esse armazenamento se dá seguindo as rígidas normas do PCI (Payment Card Industry).

Algumas observações:

  • 1. É importante saber que apenas o número do cartão e a data de validade são armazenados, pois é terminantemente proibido guardar de qualquer maneira o código de segurança (CVV, CVC2, CAV2 ou CID) do cartão;
  • 2. Este recurso é permitido para cartões de crédito e;
  • 3. Para os seguintes cartões voucher:
    • a. Alelo Cultura
    • b. Alelo Refeição
    • c. Alelo Alimentação
    • d. Sodexo Cultura
    • e. Sodexo Refeição
    • f. Sodexo Alimentação
    • g. Coopercard Cultura
  • 4. Outro dado a ser observado é que o cartão só é armazenado no e-SiTef caso a transação de pagamento seja confirmada.

Para efetuar o armazenamento do cartão, a loja deve enviar alguns parâmetros extras ao efetuar uma transação de pagamento no e-SiTef. Segue um exemplo de JSON com armazenamento de cartão:

{
   "merchant_id":"codigoDaLoja",
   "amount":"100",
   "order_id":"12345",
   "store_card":"true",
   "additional_data":{
      "payer":{
         "store_identification":"PAYER_ID"
      }
   }
}

Neste caso, além do nit da transação de pagamento, é criado uma transação com nita, isto é, um nit de armazenamento, que é apresentado no retorno da operação de criação de transação de pagamento. Segue abaixo um exemplo de retorno JSON:

{
   "responseCode":0,
   "description":"OK. Transaction successful.",
   "url":"https://esitef-homologacao.softwareexpress.com.br/e-sitef/do.se?input['nit']=1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
   "nsuesitef":"123456789012345",
   "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
   "nita":"12345678901234a",
   "nsua":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqs"
}

Na tabela abaixo são apresentados os campos adicionais retornados:

ParâmetroDescriçãoFormato
nitaIdentificador da transação de armazenamento no e-SiTef.= 65 A
nsuaNúmero sequencial único da transação de armazenamento no e-SiTef.= 15 N

Aviso de Armazenamento

No processamento do pagamento com armazenamento do cartão, o e-SiTef envia dois POSTS HTTPS para o servidor da loja.

O e-SiTef enviará um POST na URL de Aviso de Status com os parâmetros de resposta da transação de pagamento e outro POST na URL de Aviso de Armazenamento com os parâmetros de resposta da transação de armazenamento do cartão, juntamente com o identificador do cartão armazenando.

Os campos enviados no aviso de armazenamento são descritos na seguinte tabela:

ParâmetroDescriçãoFormato
nitaCódigo NITA, que identificará a transação de armazenamento do cartão no e-SiTef em caso de sucesso.= 65 A
nsuaNSU do e-SiTef para esta transação de armazenamento, que servirá para acompanhamento nos relatórios do back-office.= 15 N
nsuNúmero sequencial único para cada pedido, criado pela loja. O nsu será usado em toda comunicação com a loja, de forma a identificar o pedido. Como trata de uma possível chave para acesso do lado da loja, é exigido que o campo seja formatado e enviado pela aplicação da loja.< 12 N
statusStatus da transação de armazenamento. Saiba mais.= 3 A
hashCódigo identificador do cartão armazenado no e-SiTef.= 88 C
bin6 primeiros dígitos do cartão armazenado.= 6 N
finalÚltimos quatro dígitos do cartão armazenado.= 4 N
autorizadoraCódigo da Autorizadora (no e-SiTef) utilizado pelo cliente ao efetuar o pagamento. Saiba mais.< 10 N

Importante:

Além dos parâmetros acima o e-SiTef pode devolver outros sem aviso prévio. Por favor, esteja preparado para receber parâmetros extras (que podem ser ignorados) além dos contidos na tabela acima.

Não é necessário devolver nenhum conteúdo como resposta ao POST, porém se não for bem sucedido (HTTP Status-Code 200: OK), o e-SiTef tentará de novo até o número de vezes configurado no sistema, antes de desistir e deixar a transação de armazenamento como pendente de aviso.

Pagamento recorrente

O pagamento recorrente decorre da necessidade da loja manter débitos programados no cartão de determinado cliente, podendo ser com valor fixo ou variável, com quantidade de ocorrências programadas ou de maneira perene até que o cliente determine o encerramento dos débitos.

Recorrência é a capacidade do e-SiTef em processar novos pagamentos sem que o cliente necessite entrar com os dados novamente, usando os dados do cartão já previamente armazenados. A necessidade surge em casos de renovação de assinatura, mensalidades, etc.

Importante:

Para as Transações Recorrentes serão armazenados somente: Número e Data de validade do cartão, já o código de segurança (CVV, CVC2, CAV2 ou CID) não poderá ser armazenado e nem enviado no pagamento recorrente. O armazenamento do código de segurança, seja criptografado ou não, é terminantemente proibido pelas normas do PCI SSC (Payment Card Industry Security Standards Council). Caberá ao lojista efetuar negociação com as redes adquirentes (Acquirers) para realização dos pagamentos sem a obrigatoriedade do código de segurança; caso contrário, este parâmetro será solicitado durante o fluxo transacional.

Porém, mesmo que as Redes adquirentes permitam transações sem este código (CVV2), não há garantias que o Emissor (Instituição Bancária) aceite uma transação desta forma (sem o código de segurança).

Para realizar o pagamento recorrente, utilize a nossa interface de pagamento REST.

Consulta dos dados do armazenamento

A consulta dos dados do armazenamento de cartão seguirá o seguinte fluxo:

  1. A loja envia uma consulta do armazenamento fornecendo o nita
  2. O e-SiTef irá enviar os dados do armazenamento na URL de aviso de armazenamento cadastrada pela loja no e-SiTef.

A loja poderá consultar os dados do armazenamento, conforme a figura abaixo:

Para realizar a consulta, a loja deverá fazer um POST no seguinte endereço:

Ambiente de Homologação
https://esitef-homologacao.softwareexpress.com.br/e-sitef-hml/armazenamento/consultarArmazenamento.se?nita=XXXX
Ambiente de Produção
https://esitef-ec.softwareexpress.com.br/e-sitef/armazenamento/consultarArmazenamento.se?nita=XXXX

Atenção:

Nunca utilize o IP ao invés do domínio esitef-ec.softwareexpress.com.br! O IP pode mudar a qualquer instante e sem aviso prévio, por isso é importante a utilização do domínio para acessar o e-SiTef.

Onde XXXX é o NITA criptografado com 65 caracteres alfa numéricos recebido pelo site do e-SiTef no pedido de consulta.

A resposta será OK caso o NITA do armazenamento esteja correto e a comunicação é encerrada.

A seguir o e-SiTef irá enviar um POST HTTPS na URL para aviso de armazenamento cadastrada na loja.

A loja deve estar preparada para lidar com estes parâmetros e com eventuais novos parâmetros que podem passar a serem enviados sem prévio aviso (tais novos parâmetros após recebidos, podem ser ignorados pela loja) e preparada também para a chamada HTTPS (SSL) na URL para envio de HASH cadastrada.

O POST HTTPS do e-SiTef pode não ser imediato, será assíncrono com o tempo podendo variar conforme carga do servidor e da Internet. Caso haja algum problema no envio, o e-SiTef tentará reenviar a mensagem após um determinado período de tempo.

Os parâmetros devolvidos são os mesmos descritos na seção de Aviso de Armazenamento.

Customização de Páginas

Visão Geral

Atenção: como as customizações envolvem tanto arquivos CSS quanto arquivos JavaScript, dependendo do nível da customização recomenda-se que, além de um designer/especialista em UX (user experience), esteja envolvido também um desenvolvedor front-end ou similar com conhecimentos de JavaScript. Ambos trabalharão em conjunto para gerar os artefatos necessários à customização.

Importante: quaisquer conteúdos utilizados nas customizações (sejam imagens, scripts JavaScript, folhas de estilo CSS, arquivos, etc) são de responsabilidade única e exclusiva do cliente efetuando a customização. A Software Express não se responsabiliza por eventuais irregularidades existentes nesses conteúdos, cabendo ao cliente efetuando a customização garantir que tais conteúdos estejam sendo utilizados de acordo com suas respectivas licenças, quando as houver.

Atualmente é possível customizar as páginas de duas formas, utilizando um arquivo CSS de folha de estilo ou um arquivo JS de código JavaScript. É possível utilizar ambas as formas em conjunto.

A personalização via folha de estilo é feita pelo arquivo customV2.css (nome genérico dado à folha de estilo), seguindo alguns padrões que sobrescrevem o style.css (folha estilo padrão da Software Express) atual.

Embora style.css seja o principal arquivo CSS da interface de pagamento HTML, há outros arquivos CSS que podem ser referenciados. Esses arquivos são citados na próxima seção.

A personalização via JavaScript é feita pelos arquivos main.js e end.js (nomes genéricos), que serão inseridos nas páginas.

A folha de estilo customV2.css e os códigos fontes main.js e end.js são únicos para cada cliente e a "instalação" é aplicada pela Software Express.

Quando a loja virtual (assumindo como exemplo o ambiente de Homologação do e-SiTef) redireciona o cliente para a página https://esitef-homologacao.softwareexpress.com.br/e-sitef-hml/do.se?input['nit']=XX, o e-SiTef carrega os arquivos .css e .js conforme o cadastro da loja em um diretório, por exemplo:

https://esitef-homologacao.softwareexpress.com.br/custom/xxx/

Onde xxx é o diretório configurado no e-SiTef admin (utiliza-se o código da loja no e-SiTef), que possui a seguinte estrutura:

/custom/xxx/css/customV2.css
/custom/xxx/images
/custom/xxx/js/main.js
/custom/xxx/js/end.js

Portanto, o caminho das imagens para a loja é https://esitef-homologacao.softwareexpress.com.br/custom/xxx/images, e as imagens devem apontar para algo como background-image:url('/custom/xxx/images/botao.gif') no arquivo customV2.css.

O arquivo customV2.css pode sobrescrever as propriedades contidas em style.css, mas não substituirá o arquivo style.css. Portanto a página irá apontar também para um novo arquivo /custom/xxx/css/customV2.css, conforme trecho de HTML abaixo:

<link rel="stylesheet" href="/css/v2/style.css">
<link rel="stylesheet" href="/css/v2/payment.css">
<link rel="stylesheet" href="/css/v2/error.css">
<link rel="stylesheet" href="/custom/xxx/css/customV2.css" />

O arquivo main.js é inserido nas páginas logo antes da tag de fechamento </body>, da forma:

<script type="text/javascript" src="/custom/xxx/js/main.js"> </script>

Assim, ele será executado após o carregamento dos elementos da página e terá referência a todos eles.

O arquivo end.js é inserido apenas na última página, sendo útil para executar algum código no redirecionamento de retorno para a loja. A inserção é feita da forma:

<script type="text/javascript" src="/custom/xxx/js/end.js"> </script>

Vale lembrar que nem tudo no estilo é customizável, somente as cores e imagens de fundo e botões.

Eventuais imagens também podem ser enviadas, mas sujeitas a nossa aprovação quanto a tamanho (bytes) e formato.

Não é permitido remover o logotipo do e-SiTef tanto superior (cabeçalho) quanto inferior (rodapé, se existir). A loja poderá colocar o seu logo em outra posição da página, desde que não remova ou sobrescreva os logotipos do e-SiTef.

O cliente pode tomar como exemplo o css em:

https://esitef-homologacao.softwareexpress.com.br/custom/exemplo/css/customV2.css

Atenção: Nunca utilize o IP ao invés dos domínios esitef-homologacao.softwareexpress.com.br (Homologação) e esitef-ec.softwareexpress.com.br (Produção). O IP pode mudar a qualquer instante e sem aviso prévio, por isso, é importante a utilização do domínio para acesso ao e-SiTef.

Procedimentos para envio de arquivos de customização

Os arquivos de customização, sendo eles customV2.css e as imagens, e/ou os arquivos main.js e end.js, deverão ser entregues à Software Express formatados da seguinte maneira: xxx.zip, onde: xxx é o código da loja no e-SiTef, respeitando a seguinte estrutura:

xxx/
    |- css/customV2.css
    |- images/ 
    |- js/main.js
    |- js/end.js

Os arquivos CSS de referência para a interface HTML 2.0 estão disponíveis no ambiente de homologação em:

  • https://esitef-homologacao.softwareexpress.com.br/css/v2/authentication.css
  • https://esitef-homologacao.softwareexpress.com.br/css/v2/bootstrap.min.css
  • https://esitef-homologacao.softwareexpress.com.br/css/v2/error.css
  • https://esitef-homologacao.softwareexpress.com.br/css/v2/fonts.css
  • https://esitef-homologacao.softwareexpress.com.br/css/v2/payment-credit.css
  • https://esitef-homologacao.softwareexpress.com.br/css/v2/payment.css
  • https://esitef-homologacao.softwareexpress.com.br/css/v2/recharge.css
  • https://esitef-homologacao.softwareexpress.com.br/css/v2/style.css
  • https://esitef-homologacao.softwareexpress.com.br/css/v2/success.css

Envie somente os arquivos referentes à personalização que será utilizada! Se apenas a personalização de estilo for desejada, envie apenas os arquivos customV2.css e as imagens.

Os arquivos de imagens deverão estar preferencialmente no formato JPG e PNG. O layout final estará sempre sujeito a aprovação da Software Express.

Caso a empresa tenha mais de um merchantId

Para as empresas que tenham mais de um merchantId (identificação da loja no e-SiTef) e desejam utilizar a mesma customização, entre em contato com o nosso suporte.

Customização de logotipo

É possível também inserir um logotipo personalizado da loja na tela de início pagamento. Caso o logotipo seja inserido, ele aparecerá na parte superior da página, à esquerda do logotipo do e-SiTef. A seguir, uma ilustração de exemplo:

Caso o logotipo não seja inserido, apenas o logotipo do e-SiTef aparecerá na parte superior direita e o restante da parte superior será de uma mesma cor. A seguir, uma ilustração de exemplo:

Para que o logotipo customizado seja exibido, o cliente deve criar uma figura com resolução de 320 x 160 pixels quadrados, no formato PNG, com fundo transparente. A imagem deve ser passada às equipes de Produção ou Suporte do e-SiTef.

A seguir, a opção de exibição de logo personalizado deve ser habilitada no cadastro da loja pela equipe de Produção ou de Suporte do e-SiTef.

Exemplo de customização

De forma a praticar os conceitos apresentados, um exemplo de customização será apresentado a seguir.

A figura abaixo mostra a página de pagamento padrão, sem nenhuma customização:

Quatro elementos da página serão customizados:

  1. Cor de fundo da barra de passos do pagamento, no topo da página (CSS): de verde escuro para azul.
  2. Cor de fundo do quadro "RESUMO DA COMPRA" (CSS): de verde para azul.
  3. Fonte das caixas de texto "Número do Cartão", "Data de Validade [?]", "Código de segurança [?]" e "Como deseja pagar?" (CSS): de Source Sans Pro para Courier New.
  4. Ícone "$" ao lado esquerdo do texto "Escolha a forma de pagamento" (JavaScript): substituição do ícone por outro.

O primeiro passo da customização é montar a estrutura de diretórios mencionada anteriormente. Assumindo que a loja deste exemplo possui o código ecommerce, devemos ter a seguinte estrutura:

ecommerce
   css
       customV2.css
   images
       cifrao.png
   js
       main.js

Inicialmente, os arquivos customV2.css e main.js deverão estar vazios. O arquivo cifrao.png pode ser visto na figura abaixo:

O arquivo customV2.css conterá as customizações dos itens 1, 2 e 3. Os arquivos cifrao.png e main.js serão utilizados na customização do item 4.

Para customizar o item 1, adicione o seguinte conteúdo ao arquivo customV2.css:

.steps {
    background: #0000ff;
}

Nele, alteramos a cor de fundo de elementos com o estilo steps (caso do item 1) para a cor azul (código 0000ff).

Para customizar o item 2, adicione o seguinte conteúdo ao arquivo customV2.css:

.summary {
    background-color: #0000ff;
}

Nele, alteramos a cor de fundo de elementos com o estilo summary (caso do item 2) para a cor azul (código 0000ff).

Para customizar o item 3, adicione o seguinte conteúdo ao arquivo customV2.css:

.form-control {
    font-family: "Courier New";
}

Nele, alteramos a fonte de elementos com o estilo form-control (caso do item 3) para Courier New.

Todas essas customizações obedecem às convenções da linguagem CSS (Cascading Style Sheets). O arquivo customV2.css completo pode ser visto a seguir:

.steps {
    background: #0000ff;
}

.summary {
    background-color: #0000ff;
}

.form-control {
    font-family: "Courier New";
}

A customização do item 4, ao contrário dos outros três itens, não pode ser efetuada por meio de CSS, sendo necessário o uso da linguagem JavaScript.

Para customizar o item 4, adicione o seguinte conteúdo ao arquivo main.js:

$("div.pagament-content > div.payment-title img.img-responsive").attr("src", "/custom/ecommerce/images/cifrao.png");

Nele, alteramos a imagem de elementos que atendem o critério acima (caso do item 4) para a imagem contida no arquivo cifrao.png.

É importante mencionar que o código JavaScript acima está utilizando o framework jQuery (https://jquery.com), mas qualquer código-fonte JavaScript válido pode ser usado.

Com a customização completada, a estrutura de diretórios deve ser comprimida num arquivo chamado ecommerce.zip e enviado à Software Express, conforme as instruções mencionadas anteriormente. Após a Software Express validar a customização, se nenhum problema for encontrado ela estará disponível para visualização.

A figura abaixo mostra a página de pagamento após a customização:

Pagamento com Link

O pagamento com link é uma modalidade que permite ao lojista efetuar uma requisição ao e-SiTef para obtenção de um link / URL, o qual poderá ser enviado diretamente ao comprador na plataforma desejada (exemplo: e-mail, redes sociais, etc.).

Para utilizar esta funcionalidade, basta enviar o parâmetro payment_link com valor true na etapa de criação da transação. A URL retornada terá um tempo de expiração maior, por padrão, de 48 horas. Quando o comprador for encaminhado ao link, ele seguirá o fluxo de pagamento HTML convencional.

A loja também pode ter um tempo de expiração customizado, com um valor entre 5 minutos e 48 horas. Para isso, basta solicitar essa configuração para as nossas equipes de suporte e produção.

Os pagamentos com link gerado por este método podem utilizar a integração com a antifraude CyberSource e Konduto. Veja Serviço de análise de risco na Interface HTML para ter mais detalhes, além da documentação mais específica de cada instituição de análise de risco.

Pagamento Split

O pagamento Split é uma funcionalidade voltada para estabelecimentos que vendem um produto / serviço de terceiros. Possibilitando, através de uma única requisição, a separação do valor principal e do produto / serviço, de tal forma que o montante é diretamente destinado aos estabelecimentos envolvidos.

O valor total de uma venda qualquer é dividido em N partes e enviado (via POST/HTML) para N empresas distintas (N merchantId's distintos) definidas pela aplicação web e devidamente cadastradas no e-SiTef.

Exemplo: Tomando como exemplo uma venda de R$ 100,00 podemos efetuar uma única requisição para enviar a quantia de R$ 60,00 para a fabricante do produto principal, R$20 para a fabricante de um acessório e R$ 20,00 para a prestadora do serviço.

Interfaces e-SiTef suportadas para integração com pagamento SPLIT

A interface utilizada é POST HTML com JSON.

É possível utilizar as seguintes interfaces para a integração com o pagamento Split:

  • Interface de Pagamento HTML 2.0 (documento "Pagamento HTML")
  • Interface WS de Cancelamento versão 2 (documento "Cancelamento REST").

Observação: Caso a loja esteja iniciando a primeira integração com o e-SiTef, recomenda-se a integração via Pagamento HTML, por oferecer uma melhor experiência ao usuário e uma interface mais moderna para a integração com o sistema da loja.

Funcionalidades e-SiTef NÃO permitidas para integração com pagamento SPLIT

O e-SiTef não permite integração (na mesma transação) entre um pagamento SPLIT e as seguintes funcionalidades do e-SiTef:

  • Transação de análise de risco manual (onde o pagamento HTML fica pendente de confirmação posterior pela loja enquanto esta faz a análise de risco separada do e-SiTef);
  • Transação de Recarga de crédito de celulares pré-pagos associada ao pagamento;
  • Armazenamento de cartão durante o pagamento.

Configurações necessárias no e-SiTef

O lojista que deseja efetuar pagamentos Split deve solicitar à equipe de cadastro para que a permissão para este tipo de pagamento seja ativada.

Parâmetros utilizados para efetuar um pagamento Split

Na realização de pagamentos Split, os parâmetros POST abaixo possuem os seguintes conceitos:

Nome do parâmetroDescriçãoTamanhoObrigatório
amount*Deve ser enviado o valor total do pagamento, ou seja, o valor da transação principal somado com as demais.<= 1024 NSIM
installments**Será utilizado para todas as transações secundárias. A transação principal será sempre à vista.<= 1024 NSIM

(*) O e-SiTef realizará a validação dos valores com o total enviado (amount). Caso ocorra alguma diferença, a transação será invalidada.

(**) Em caso de pagamento parcelado, a transação principal sempre será a vista e as transações secundárias serão parceladas, com o mesmo número de parcelas entre elas.

As transações secundárias são todas as transações vinculadas à transação principal. Para requisição, é possível ter um máximo de 16 (dezesseis) transações secundárias. Quanto maior o número de transações enviadas, maior será a demora na resposta devido ao aumento no processamento de várias transações.

Caso ocorra algum problema durante o fluxo completo do Pagamento Split, o e-SiTef irá desfazer todas as transações já aprovadas daquele fluxo de pagamento. Ex.: A aplicação realizou um fluxo de pagamento contendo 3 merchantId’s, a transação do 1° merchantId foi aprovada, porém a transação do 2° merchantId foi negada. Como no fluxo de pagamento ocorreu um erro na segunda transação (status=NEG), o e-SiTef irá desfazer a primeira (status=PPN) e negará o fluxo por completo, retornando NEG também para a terceira transação, mesmo que nenhuma tentativa de pagamento tenha sido realizada. Em casos em que o e-SiTef nega umas das transações, além do comportamento descrito acima (negar todas as transações), é apresentado no relatório de transações (Portal do Lojista) a mensagem “Negada Split” no campo “Mensagem”.

Os parâmetros JSON abaixo possuem os seguintes conceitos:

ADDITIONAL_DATA (additional_data)

Nome do parâmetroDescriçãoTamanhoObrigatório
methodUsado para realizar uma transação diferenciada. Caso se deseje fazer uma transação SPLIT, este campo deve receber o texto "SPLIT".<= 1024 ASIM
extra_amountSerá utilizado para receber o valor da transação principal<= 1024 NSIM

INNER_TRANSACTIONS (inner_transactions)

Nome do parâmetroDescriçãoTamanhoObrigatório
merchant_idCódigo da loja no e-SiTef a ser utilizado em cada transação secundária.<= 1024 ASIM
amountDeve ser enviado o valor total do pagamento de cada transação secundária, sempre respeitando o limite do valor total do pagamento.<= 1024 NSIM
order_idCódigo do pedido na loja a ser utilizado em cada transação secundária.<= 1024 ANÃO
merchant_usnNúmero sequencial da loja a ser utilizado em cada transação secundária.<= 1024 ANÃO

IMPORTANTE 1: As autorizadoras configuradas de uma loja secundária devem ser as mesmas configuradas na loja enviada na transação principal. Entretanto, não há impedimentos para que os roteamentos sejam diferentes entre as lojas. Exemplo: loja 1 configurado com Visa e rede adquirente Cielo, loja 2 configurada com Visa e rede adquirente Rede é um cenário válido.

IMPORTANTE 2: Caso qualquer uma das transações seja negada, seja qual for o motivo (falha de comunicação, saldo insuficiente, etc.), o comportamento padrão será de desfazer / negar todas as transações envolvidas. A funcionalidade foi desenvolvida com a premissa de confirmar todas ou negar todas as transações.

Aviso de status

O aviso de status enviado pelo e-SiTef para a URL de aviso de status da loja possui um campo adicional no caso de transações Split.

Nome do parâmetroDescriçãoTamanho
NITTransacaoSecundariaCampo composto de merchantIds e NIT’s das transações secundárias, no formato (merchantId1:nit1|merchantId2:nit2)<= 1296 A

O campo NITTransacaoSecundaria é enviado no aviso de status da transação principal, indicando os NIT’s das transações secundárias e permitindo, assim, a consulta de status de todas elas.

Exemplo de campo NITTransacaoSecundaria para 2 transações secundárias:

NITTransacaoSecundaria=LOJATESTE:95f386518449f6be6b4d25449989b5cee7736eb93ce96901ea2338a76fd01ad8|LOJATESTE2:95f386518449f6bea6fed3e03f7326fbe7736eb93ce96901dc1d6fba16d8f011

Exemplos de chamada

Exemplo de chamada com os parâmetros da transação do e-SiTef + dados do pagamento Split em formato JSON para Pagamento HTML:

JSON
{
"merchant_id": "CODIGO_LOJA1",
"amount": "15000",
"order_id": "654321",
"additional_data": {
"method": "split",
"extra_amount": "1000",
"inner_transactions": [
{
"merchant_id": "CODIGO_LOJA2",
"merchant_usn": "12341234",
"order_id": "654321",
"amount": "10000"
},
{
"merchant_id": "CODIGO_LOJA3",
"merchant_usn": "3456789",
"order_id": "654321",
"amount": "4000"
}
]
}
}

Pagamento com múltiplos meios de pagamento

O pagamento com múltiplos meios de pagamento é uma modalidade que permite ao comprador efetuar um pagamento usando mais de um meio de pagamento.

Para utilizar esta funcionalidade, basta enviar o parâmetro multiple_payment_methods dentro do additional_data com valor true na etapa de criação da transação. Também é necessário que o lojista habilite a permissão de múltiplos pagamentos no cadastro da loja.

Essa modalidade não permite pagamentos split nem autorizadora pré-fixada.

Falaremos mais sobre as diferenças em relação ao pagamento simples a seguir.

Fluxo e telas

Quando o lojista indica que quer permitir o pagamento com múltiplos meios de pagamento, a tela de checkout apresenta as opções "Pagar com um cartão" e "Pagar com 2 cartões" logo acima das opções de autorizadoras conforme exemplificado na figura abaixo.

Note também que os passos do checkout são alteradas quando a opção de 2 cartões é selecionada, e são mostradas apenas autorizadoras do tipo crédito.

A inserção dos dados do primeiro cartão segue um fluxo semelhante ao do pagamento simples, com a diferença de que, ao invés de aparecer o botão de confirmação após o preenchimento dos dados do cartão e do pagamento, é mostrado o botão "Próxima forma de pagamento".

Caso o comprador preencha o primeiro meio de pagamento com o valor total da compra, será apresentada uma mensagem de confirmação para prosseguir como um pagamento simples.

Caso contrário, o comprador segue para o preenchimento do segundo meio de pagamento.

Note que, na tela inicial do segundo pagamento, são apresentados os dados do primeiro pagamento, mas estes só poderão ser modificados se o comprador clicar em "Corrigir dados anteriores" depois de escolher uma autorizadora.

O fluxo segue da mesma forma: o usuário seleciona uma autorizadora, preenche os dados do cartão e confirma o pagamento.

Quando a compra for confirmada, serão apresentados um recibo para cada cartão.

Caso haja falha no pagamento com algum dos meios de pagamento, será lançada uma ocorrência no e-SiTef e a loja será notificada. Tendo a posse dos dados enviados na notificação, a loja pode consultar e cancelar o pagamento problemático no Portal do Lojista ou entrar em contato com a equipe de Suporte do e-SiTef.

Aviso de status

O aviso de status enviado pelo e-SiTef para a URL de aviso de status da loja possui um campo adicional no caso de transações de múltiplos cartões nas quais ocorreram falhas.

Nome do parâmetroDescriçãoTamanho
NITTransacaoAssociadaCampo composto do NIT do outro meio de pagamento selecionado.= 64 AN

O campo NITTransacaoAssociada é enviado no aviso de status da transação principal, indicando o NIT da transação com o outro cartão.

Exemplo de campo NITTransacaoAssociada:

NITTransacaoAssociada=95f386518449f6be6b4d25449989b5cee7736eb93ce96901ea2338a76fd01ad8

Integração 3DS 2.0

O pagamento HTML do e-SiTef está integrado com o 3DS Server, que é responsável pela realização de autenticações 3DS 2.0. Esta funcionalidade autentica o portador do cartão, conduzindo o processo com o mínimo de fricção possível ao comprador.

Autorizadoras disponíveis

Esta integração é suportada pelas seguintes autorizadoras:

IDNome
1Visa Crédito
2Mastercard Crédito
41Elo Crédito
221Visa Débito
286Mastercard Débito
288Elo Débito

Credenciais necessárias

As seguintes informações devem ser fornecidas às nossas equipes de suporte e produção:

NomeDescrição
Acquirer Merchant IDPara cada roteamento utilizado, é necessário obter com o adquirente o seu Acquirer Merchant ID. Este valor pode ser o mesmo utilizado como código de estabelecimento para o processo de autorização, e deve seguir a formatação especificada na ISO 8583.
Acquirer BINIdentificador de cada meio de pagamento atribuído pelo adquirente.

Com isso, o cadastro será feito de modo que a loja fique preparada para transacionar com 3DS.

Parâmetros específicos da integração

O serviço de criação de transação HTML possui os seguintes campos específicos da integração 3DS 2.0:

ParâmetroDescriçãoFormatoObrigatório
authenticateEnviar o valor 1 para habilitar o uso de 3DS 2.0.SIM= 1 N
additional_data Dados gerais da transação.
exponentNúmero de casas decimais da moeda conforme definido na ISO 4217.= 1 NSIM
extra_infoInformações adicionais sobre a conta fornecidas opcionalmente pelo 3DS Requestor.< 64 ANNÃO
additional_data
.authentication
Dados gerais de autenticação.
transaction_typeIdentifica o tipo de transação sendo autenticada.
  • 01 = Compra de bens/serviços
  • 03 = Check Acceptance
  • 10 = Financiamento de Conta
  • 11 = Transação Quasi-Cash
  • 28 = Ativação e carga de pré-pago
= 2 NSIM
indicatorIndica o tipo da requisição de autenticação.
  • 01 = Transação de pagamento
  • 02 = Transação recorrente
  • 03 = Transação parcelada
  • 04 = Adição de cartão
  • 05 = Manter cartão
  • 06 = Verificação do portador como parte de EMV token ID&V
= 2 NSIM
challenge_indicatorIndica se um desafio é requerido para essa transação.
  • 01 = Sem preferência
  • 02 = Desafio não pedido
  • 03 = Desafio pedido (preferência do 3DS Requestor)
  • 04 = Desafio pedido (mandato)
  • 05 = Desafio não pedido (análise de fraude já realizada)
  • 06 = Desafio não pedido (apenas compartilhamento de dados)
  • 07 = Desafio não pedido (forte autenticação de consumidor já é feita)
  • 08 = Desafio não pedido (usar isenção de lista branca caso o desafio não seja requerido)
  • 09 = Desafio pedido (uso de lista branca caso desafio seja requerido)
= 2 NNÃO
address_matchIndica se o endereço de entrega e de cobrança do portador são iguais.
  • Y = Endereços são iguais
  • N = Endereços não são iguais
= 1 ANNÃO
additional_data
.authentication
.info
Informações sobre como o 3DS Requestor autenticou o portador do cartão antes ou durante a transação.
methodMecanismo usado pelo portador do cartão para se autenticar no 3DS Requestor.
  • 01 = Nenhuma autenticação do 3DS Requestor ocorreu (ou seja, portador fez "login" como visitante)
  • 02 = Login para a conta do portador no sistema do 3DS Requestor usando as credenciais do próprio 3DS Requestor
  • 03 = Login para a conta do portador no sistema do 3DS Requestor usando ID federado
  • 04 = Login para a conta do portador no sistema do 3DS Requestor usando credenciais do emissor
  • 05 = Login para a conta do portador no sistema do 3DS Requestor usando autenticação terceirizada
  • 06 = Login para a conta do portador no sistema do 3DS Requestor usando FIDO Authenticator
  • 07 = Login para a conta do portador no sistema do 3DS Requestor usando FIDO Authenticator (garantia de dados FIDO assinada)
  • 08 = Seguro de Dados SRC
= 2 NNÃO
timestampData e hora UTC da autenticação do portador em formato AAAAMMDDHHMM.= 12 NNÃO
additional_data
.authentication
.prior_info
Informações sobre como o 3DS Requestor autenticou o portador do cartão como parte de uma transação 3DS prévia.
methodMecanismo usado anteriormente pelo portador para se autenticar no 3DS Requestor.
  • 01 = Autenticação frictionless ocorrida pelo ACS
  • 02 = Desafio do portador ocorrida pelo ACS
  • 03 = AVS verificada
  • 04 = Outras formas do emissor
= 2 NNÃO
timestampData e hora UTC da autenticação prévia do portador em formato AAAAMMDDHHMM.= 12 NNÃO
referenceEste elemento fornece informações adicionais para que o ACS determine a melhor forma de tratar uma requisição.< 36 ANNÃO
additional_data
.authentication
.account
Informações sobre a conta do comprador no 3DS Requestor.
age_indicatorPeríodo de tempo que o portador teve conta no 3DS Requestor.
  • 01 = Sem conta (visitante)
  • 02 = Criado durante esta transação
  • 03 = Menos de 30 dias
  • 04 = 30−60 dias
  • 05 = Mais de 60 dias
= 2 NNÃO
change_dateData da última alteração da conta do comprador em formato AAAAMMDD.= 8 NNÃO
change_indicatorPeríodo de tempo desde a última alteração na conta do portador.
  • 01 = Alterada durante esta transação
  • 02 = Menos de 30 dias
  • 03 = 30−60 dias
  • 04 = Mais de 60 dias
= 2 NNÃO
dateData em que o portador abriu a conta no 3DS Requestor no formato AAAAMMDD.= 8 NNÃO
password_changeData em que o comprador alterou sua senha no formato AAAAMMDD.= 8 NNÃO
password_change_indicatorIndica o período de tempo desde a última alteração de senha do portador.
  • 01 = Sem alteração
  • 02 = Alterada durante esta transação
  • 03 = Menos de 30 dias
  • 04 = 30−60 dias
  • 05 = Mais de 60 dias
= 2 NNÃO
number_purchasesNúmero de compras com esta conta durante os últimos 6 meses.< 4 NNÃO
provision_attempts_dayNúmero de tentativas de adição de cartão nas últimas 24 horas.< 3 NNÃO
txn_activity_dayNúmero de transações (confirmadas e abandonadas) para este portador com o 3DS Requestor nas últimas 24 horas.< 3 NNÃO
txn_activity_yearNúmero de transações (confirmadas e abandonadas) para este portador com o 3DS Requestor no último ano.< 3 NNÃO
payment_account_ageData em que a conta de pagamento foi registrada na conta do portador com o 3DS Requestor no formato AAAAMMDD.= 8 NNÃO
payment_account_indicatorIndica o período de tempo que a conta de pagamento foi registrada no 3DS Requestor.
  • 01 = Sem conta (visitante)
  • 02 = Durante esta transação
  • 03 = Menos de 30 dias
  • 04 = 30−60 dias
  • 05 = Mais de 60 dias
= 2 NNÃO
ship_address_usageData do primeiro uso do endereço de entrega no formato AAAAMMDD.= 8 NNÃO
ship_address_usage_indicatorIndica quando foi primeiramente utilizado o endereço de entrega.
  • 01 = Nesta transação
  • 02 = Menos de 30 dias
  • 03 = 30−60 dias
  • 04 = Mais de 60 dias
= 2 NNÃO
ship_name_indicatorIndica se nome do portador do cartão é idêntico ao nome de entrega utilizada para esta transação.
  • 01 = Nome da conta idêntico ao nome de entrega
  • 02 = Nome de conta diferente de nome de entrega
= 2 NNÃO
suspicious_activityIndica se o 3DS Requestor teve experiências suspeitas (incluindo fraude prévia) com a conta do comprador.
  • 01 = Nenhuma atividade suspeita foi observada
  • 02 = Atividade suspeita foi observada
= 2 NNÃO
additional_data
.authentication
.merchant_risk
Avaliação da loja sobre o nível de risco de fraude para a autenticação específica para o portador e a autenticação sendo conduzida.
delivery_email_addressPara entrega eletrônica, o endereço de e-mail para qual a mercadoria foi entregue.< 254 ANNÃO
delivery_timeframeIndica o período de tempo de entrega da mercadoria.
  • 01 = Entrega eletrônica
  • 02 = Entrega no mesmo dia
  • 03 = Entrega no dia seguinte
  • 04 = Entrega em dois ou mais dias
= 2 NNÃO
gift_card_amountPara compra com cartão presente ou pré-pago, o valor total da compra em números inteiros (por exemplo, 123.45 é 123).< 15 NNÃO
gift_card_countPara compra com cartão presente ou pré-pago, contagem de cartões pré-pagos/presentes comprados.< 2 NNÃO
gift_card_currencyPara compra com cartão presente ou pré-pago, código de moeda ISO 4217 de três dígitos do cartão presente.= 3 NNÃO
pre_order_datePara uma pré-venda, a data esperada de disponibilidade da mercadoria no formato AAAAMMDD.= 8 NNÃO
pre_order_purchase_indicatorIndica se o portador está fazendo um pedido para uma mercadoria com disponibilidade futura.
  • 01 = Mercadoria disponível
  • 02 = Disponibilidade futura
= 2 NNÃO
reorder_items_indicatorIndica se o portador está pedindo uma mercadoria comprada anteriormente.
  • 01 = Pedida pela primeira vez
  • 02 = Pedida novamente
= 2 NNÃO
shipping_indicatorIndica a forma de entrega escolhida para a transação.
  • 01 = Entregar no endereço de cobrança
  • 02 = Entregar em outro endereço verificado no arquivo com a loja
  • 03 = Entregar no endereço que é diferente do endereço de cobrança
  • 04 = Entregar na própria loja
  • 05 = Bens digitais
  • 06 = Bilhetes de viagem ou evento, não entregues fisicamente
  • 07 = Outros
= 2 NNÃO
additional_data
.authentication
.message
Particularidades sobre a mensageria 3DS.
categoryIdentifica a categoria da mensagem para um caso de uso específico.
  • 01 - Autenticação de pagamento
  • 02 - Autenticação de não-pagamento
  • 80 - Mastercard Data Only
Valor padrão: 01.
= 2 NNÃO
additional_data
.authentication
.recurring
Dados de recorrência.
expiryData em que não serão feitas mais autorizações no formato AAAAMMDD. Obrigatório quando authentication.indicator = 02 ou 03.= 8 NCOND.
frequencyIndica o número mínimo de dias entre autorizações. Obrigatório quando authentication.indicator = 02 ou 03.< 4 NCOND.
additional_data
.purchase_information_data
Dados da compra.
dateData e hora UTC da compra no formato AAAAMMDDHHMMSS.= 12 NSIM
additional_data
.payer
Informações do portador do cartão.
emailEndereço de email do portador.< 256 ANSIM
nameNome do portador.< 45 ANSIM
additional_data
.payer
.phones[]
Informações do telefone do portador do cartão.
ddiDDI do telefone.< 3 NSIM
dddDDD do telefone.< 3 NSIM
numberNúmero do telefone.< 12 NSIM
typeTipo do telefone:
  • 1: residencial (fixo)
  • 2: comercial
  • 6: celular
< 12 NSIM
additional_data
.billing_data
.address
Endereço de cobrança.
cityCidade.< 50 ANSIM
countryCódigo numérico ISO 3166-1 de três dígitos do país.= 3 NSIM
street_nameNome da rua.< 50 ANSIM
street_numberNúmero da rua.< 50 ANSIM
complementComplemento do endereço.< 50 ANSIM
zip_codeCEP.< 16 ANSIM
stateSigla do estado.< 3 ANSIM
additional_data
.shipment
.address
Endereço de entrega.
cityCidade.< 50 ANSIM
countryCódigo numérico ISO 3166-1 de três dígitos do país.= 3 NSIM
street_nameNome da rua.< 50 ANSIM
street_numberNúmero da rua.< 50 ANSIM
complementComplemento do endereço.< 50 ANSIM
zip_codeCEP.< 16 ANSIM
stateSigla do estado.< 3 ANSIM

Exemplo de JSON:

{
   "merchant_id":"XXXXX",
   "authorizer_id":"2",
   "amount":"10004",
   "authenticate":"1",
   "additional_data":{
      "payer":{
         "name":"name"
      },
      "purchase_information_data":{
         "date":"20201023113749"
      },
      "exponent":"2",
      "authentication":{
         "transaction_type":"01",
         "indicator":"01"
      }
   }
}

Mastercard 3DS Identity Check Insights (Dataonly)

O Identity Check Insights é um modo de 3DS exclusivo da Mastercard que possui as seguintes características:

  • Sempre frictionless (não é pedido ao usuário para inserir informações extras).
  • O lojista será responsável por arcar com as fraudes (sem liability shift).
  • Maior taxa de aprovação.
  • É permitido somente para cartões com a bandeira Mastercard.

Mais detalhes na documentação oficial da Mastercard.

No e-SiTef é possível realizar uma transação de pagamento utilizando Identity Check Insights de duas maneiras:

  • Via parâmetro ao iniciar uma transação de pagamento
  • Via configuração de loja

Via parâmetro ao iniciar transação

O lojista pode indicar que deseja utilizar Identity Check Insights informando o valor 80 no parâmetro additional_data.authentication.message.category.

Exemplo:

{
   "merchant_id":"LOJAYYZ",
   "authorizer_id":"2",
   "amount":"10004",
   "authenticate":"1",
   "additional_data":{
      "payer":{
         "name":"name"
      },
      "purchase_information_data":{
         "date":"20201023113749"
      },
      "exponent":"2",
      "authentication":{
         "transaction_type":"01",
         "indicator":"01",
         "message":{
            "category":"80"
         }
      }
   }
}

Via configuração de loja

O lojista pode solicitar ao atendimento e-SiTef que habilite a opção Utiliza Mastercard 3DS Identity Check Insights.

Com esta configuração habilitada, todas as transações de pagamento utilizando cartões com bandeira Mastercard e Maestro, utilizarão como padrão o Mastercard 3DS Identity Check Insights.

Exemplo:

{
   "merchant_id":"DATAONLYON",
   "authorizer_id":"2",
   "amount":"10004",
   "authenticate":"1",
   "additional_data":{
      "payer":{
         "name":"name"
      },
      "purchase_information_data":{
         "date":"20201023113749"
      },
      "exponent":"2",
      "authentication":{
         "transaction_type":"01",
         "indicator":"01"
      }
   }
}

É possível sobrescrever este comportamento informando o valor 01 no parâmetro additional_data.authentication.message.category, ignorando assim a configuração da loja.

Exemplo:

{
   "merchant_id":"DATAONLYON",
   "authorizer_id":"2",
   "amount":"10004",
   "authenticate":"1",
   "additional_data":{
      "payer":{
         "name":"name"
      },
      "purchase_information_data":{
         "date":"20201023113749"
      },
      "exponent":"2",
      "authentication":{
         "transaction_type":"01",
         "indicator":"01",
         "message":{
            "category":"01"
         }
      }
   }
}

Pré-autorização HTML

Visão Geral

O fluxo para pré-autorização é exatamente o mesmo do pagamento. Para permitir que o comprador efetue a compra via pré-autorização, basta indicar o campo transaction_type com o valor "preauthorization". Saiba mais..

Atenção:

Quando comparada ao pagamento, a pré-autorização na interface HTML possui uma restrição. O envio da autorizadora, o número e o tipo de parcelas se tornam obrigatórios na criação da transação e devem ser pré-fixados pela loja, não permitindo a escolha/alteração pelo usuário comprador.

Estes campos são, respectivamente: authorizer_id, installments e installment_type, descritos nos parâmetros de requisição do serviço de criação de transação.

Exemplo de requisição de pré-autorização

{
    "merchant_id": "codigoDaLoja",
    "amount": "1800",
    "transaction_type":"preauthorization",
    "authorizer_id": "1",
    "installments": "3",
    "installment_type": "4"
}

Captura de pré-autorização

Uma vez que a pré-autorização foi confirmada com sucesso, o lojista pode capturá-la posteriormente via Web Services, efetivando assim a cobrança. Saiba mais.

Recarga HTML

Visão Geral

O e-SiTef possui duas interfaces para integração com a loja virtual, POST/HTML e Web Services (REST ou SOAP), possibilitando a maneira adequada de interação da loja com o e-SiTef, conforme a linguagem e plataforma de execução da loja virtual.

A interface HTML foi definida para ser uma maneira simples e rápida de integração com os meios de pagamentos e serviços existentes no e-SiTef, no entanto sem perder a flexibilidade. A interface padrão possui apenas dois parâmetros obrigatórios, realizando a coleta dos demais no próprio portal ou através de configurações realizadas pelo administrador da loja na retaguarda do e-SiTef, no entanto se a aplicação da loja virtual quiser passar definições ou restrições para um determinado tipo de serviço, rede ou mesmo número de parcelas, isto poderá ser feito através do conjunto de parâmetros passados no início da transação, antes do redirecionamento do cliente.

Fluxo

O fluxo padrão é iniciado pela loja após o comprador finalizar a compra:

Fluxo de recarga HTML

A loja deverá iniciar a transação com o e-SiTef enviando os dados da compra através do serviço de criação de transação.

O fluxo de recarga consiste nos seguintes passos:

  1. Após o comprador finalizar a compra, a loja cria uma nova transação no e-SiTef, através de um POST na URL para iniciar uma transação, informando todos os parâmetros necessários. Saiba mais.
  2. Como resposta ao POST, a loja receberá uma URL do e-SiTef a qual o comprador deve ser redirecionado. Esta URL será diferente a cada transação de recarga.
  3. O comprador selecionará os dados de recarga como concessionária/operadora, ddd, número de telefone e valor da recarga, e visualizará dados associados a este valor, como validade, bônus, etc.
  4. Após isto, o comprador seguirá com o fluxo de pagamento, selecionando a autorizadora de pagamento, dentre as disponíveis para a loja.
  5. Na etapa final do pagamento, as transações de pagamento e de recarga serão efetivadas, respectivamente na autorizadora e na concessionária/operadora, nesta ordem.
  6. Ao final do fluxo, o e-SiTef irá redirecionar de volta o comprador para a loja, conforme configuração de URL’s de retorno já cadastrados na loja, ou para as back_url’s (vide Tabela 1) enviadas na criação das transações.

Para cada alteração de status da transação de pagamento no e-SiTef, a loja receberá um POST de aviso de status, informando a situação da mesma. Saiba mais.

Todas as chamadas realizadas serão respondidas de forma síncrona exceto o aviso de status que será realizado pelo e-SiTef de forma assíncrona.

Iniciando uma transação de recarga

Para iniciar um recarga HTML, veja a documentação de quickstart.

Efetuando uma transação de recarga

Ao acessar a url retornada pelo serviço de criação de transação, a tela de seleção de valores de recarga será retornada, conforme a figura abaixo:

Fluxo de recarga HTML

Quick start

Este guia mostra o processo de efetivação de um recarga, utilizando a interface HTML do e-SiTef.

O que você precisará

  • Cadastro ativo no ambiente de homologação do e-SiTef (obtido com nossa equipe de suporte)
  • Uma ferramenta capaz de realizar chamadas HTTP, como Postman, REST Client ou cURL
  • Uma aplicação capaz de receber chamadas POST HTTPS

Criando a transação de recarga

Tipo de requisição: POST

URL: https://esitef-homologacao.softwareexpress.com.br/e-sitef/init/json.se

Headers:

  • Content-Type: application/x-www-form-urlencoded

Parâmetros do POST:

  • Key/chave: request;
  • Value/valor: objeto JSON;
  • [tipo_de_retorno]: json ou xml;

Objeto JSON request mínimo:

JSON
cURL
{
"recharge_included":"true",
"merchant_id":"xxxxxxxxxx"
}
curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/init/json.se"
--header "Content-Type: application/x-www-form-urlencoded"
-d 'request=%7B%22merchant_id%22%3A%22xxxxxxxxxx%22%2C%22recharge_included%22%3A%22true%22%7D'
--verbose

Resposta:

{
  "responseCode" : 0,
  "description" : "OK. Transaction successful.",
  "url" : "https://esitef-homologacao.softwareexpress.com.br/e-sitef/do.se?input['nit']=12345678asdfghjk12345678asdfghjk12345678asdfghjk12345678asdfghjk",
  "nsuesitef" : "123451234512345",
  "nit" : "12345678asdfghjk12345678asdfghjk12345678asdfghjk12345678asdfghjk"
}

Saiba mais sobre esse serviço.

Redirecionando o usuário

A loja deve então redirecionar o usuário para a URL retornada pelo e-SiTef na etapa de criação da transação.

Recebendo um aviso de status

Assim que o status da transação mudar, o e-SiTef notificará a loja com um POST em sua URL de status cadastrada.

Java + Spring Framework
@RestController
public class MyStatusController {

@PostMapping(value = "/mystatus",
consumes = "application/x-www-form-urlencoded; charset=utf-8")
public ResponseEntity<String> myStatus(@RequestParam Map<String, String> request) {
Log.info("status = " + request.get("status"));
// ...
return new ResponseEntity<>("OK", HttpStatus.OK);
}

}

Saiba mais sobre esse serviço.

Iniciando uma transação de recarga

Processo de criação da transação

O processo de criação de transação deverá seguir os seguintes passos:

  • A transação é criada conforme os parâmetros enviados na chave request e representados por um objeto JSON via POST na requisição;
  • A loja recebe uma mensagem de sucesso ou erro, formatada como XML ou JSON, conforme o parâmetro "tipo de retorno" na URL enviada ao se iniciar uma transação.

URL para iniciar uma transação via POST HTTPS:

Ambiente de Homologação:
https://esitef-homologacao.softwareexpress.com.br/e-sitef-hml/init/[tipo_de_retorno].se
Ambiente de Produção
https://esitef-ec.softwareexpress.com.br/e-sitef/init/[tipo_de_retorno].se

Atenção: Nunca deve ser usado o IP ao invés do domínio esitef-ec.softwareexpress.com.br (ou esitef-homologacao.softwareexpress.com.br para ambiente de homologação). O IP pode mudar a qualquer instante e sem aviso prévio, logo é importante sempre utilizar o domínio para acessar o e-SiTef.

Parâmetros do POST:

  • Key/chave: request;
  • Value/valor: objeto JSON;
  • [tipo_de_retorno]: json ou xml;

Exemplo de requisição JSON (JavaScriptObjectNotation):

URL: https://esitef-homologacao.softwareexpress.com.br/e-sitef-hml/init/json.se

Objeto JSON request mínimo:

{
    "merchant_id": "codigoDaLoja",
    "amount": "1800"
}

Objeto JSON "request" com alguns parametros adicionais:

{
    "merchant_id": "codigoDaLoja",
    "order_id": "123456",
    "installments": "4",
    "recharge_included":"true",
    "recharge":{
        "dealer_code":"2",
        "phone":{
            "number":"87654321",
            "ddd":"11"
        }
    }
}

Ferramentas para testes

Para testes iniciais nesta interface, caso necessário, podem ser usadas algumas ferramentas a fim de um melhor entendimento da comunicação via REST:

  • Aplicação para Windows/Linux/Mac:
    • POSTMAN
  • Extensão para Firefox:
    • RESTClient

Abaixo seguem exemplos de tela destas ferramentas:

POSTMAN

RESTClient

Parâmetros de requisição

O objeto JSON additional_data possui campos que se alteram conforme a autorizadora utilizada para o pagamento, pelo campo authorizer_id. Para mais detalhes do campo additional_data, por favor consulte a documentação específica para cada autorizadora suportada pela Interface de Pagamento HTML 2.0.

Para iniciar uma transação na nova interface de pagamento HTML, inicialmente podem ser preenchidos os seguintes parâmetros no formato JSON.

{
    "merchant_id": "codigoDaLoja",
    "recharge_included":"true",
    "recharge":{ }
}
ParâmetroDescriçãoFormatoObrigatório
amountValor total a ser pago pelo comprador.
Formato:
Deve ser enviado em centavos.
Ex.: 1000 (10 reais).
< 12 NSIM
recharge_includedInforma se uma recarga será feita.

Valores permitidos:
true – caso uma recarga for realizada.
false – caso uma recarga não for realizada.
Valor default - false
< 5 ASIM
rechargeObjeto do tipo RECHARGE.
Contêm dados relacionados a uma transação de recarga.
NÃO

RECHARGE (recharge)

{
    "dealer_code": "1",
    "phone": { },
}
ParâmetroDescriçãoFormatoObrigatório
dealer_codeCódigo da concessionária/operadora< 3 NNÃO
phoneObjeto do tipo PHONE.
Contêm dados relacionados ao telefone da recarga.
NÃO

PHONE (phone)

{
    "number": "123456789",
    "ddd": "11",
}
ParâmetroDescriçãoFormatoObrigatório
numbernúmero do telefone.< 20 NNÃO
dddddd (código de área) do telefone.< 4 NNÃO

Parâmetros de resposta

O retorno da operação de criação de transação se dá na forma solicitada no [tipo de retorno].

Abaixo segue um exemplo de retorno JSON:

{
  "responseCode": 0,
  "description": "OK. Transaction successful.",
  "url": "https:// esitef-homologacao.softwareexpress.com.br/e-sitef/do.se?input['nit']= 1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
  "nsuesitef": "123456789012345",
  "nit": "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
}

Os campos retornados são descritos na tabela abaixo:

ParâmetroDescriçãoFormato
responseCodeCódigo de resposta do e-SiTef. Qualquer código diferente de 0(zero) significa falha. Saiba mais.< 5 N
descriptionDescrição da resposta< 1024 A
urlURL de redirecionamento para iniciar o pagamento.< 256 A
nitIdentificador da transação no e-SiTef= 64 A
nsuesitefNSU (Número Sequencial Único) da transação no e-SiTef= 15 A

Visão geral

O e-SiTef possui uma interface REST para a realização de operações genéricas. Entenda que as "operações genéricas" são operações exclusivas de determinados autorizadoras e que não se adequam ao operações padronizadas anteriores.

Nesta interface REST considere que cada código de operação depende de dados adicionais para que funcione conforme o esperado. Algumas destas operações necessitam de um token de autenticidade, a qual deve ser gerada para cada chamada da operação genérica. Para maiores detalhes de cada operação genérica, veja as documentações do roteamento configurado para sua loja.

Comunicação

Para realizar uma requisição de web service REST de operações genéricas, utilize as seguintes URLs base do e-SiTef:

URL base de Produção:

https://esitef-ec.softwareexpress.com.br/e-sitef/api

URL base de Homologação:

https://esitef-homologacao.softwareexpress.com.br/e-sitef/api

O que você precisará

  • Uma aplicação capaz de receber chamadas POST HTTPS
  • Cadastro ativo no ambiente do e-SiTef com a URL para o POST de autenticidade (solicite o cadastro à nossa equipe de suporte)

Fluxo

As operações genéricas possuem dois fluxos que dependem da obrigatoriedade do token de autenticidade para a execução da operação.

Descrição do fluxo:

  1. Lojista solicita a geração de um token de autenticidade para as operações genéricas.
  2. O e-SiTef gera um token de autenticidade internamente
  3. O token de autenticidade gerado é enviado para a loja através de um POST na URL de autenticidade. A loja deve guardar este token.
  4. A loja usa o token de autenticidade gerado para realizar uma operação genérica.
  5. O e-SiTef valida e inativa o token de autenticidade antes de realizar a operação solicitada.
  6. O e-SiTef realiza a operação genérica e obtem os resultados da operação.
  7. O e-SiTef retorna o resultado da operação solicitada.

Obs: Existem operações genéricas que não necessitam do token de autenticidade, consulte o item correspondente à operação utilizada no roteamento de interesse para verificar esta necessidade.
No caso do token de autenticidade não ser necessário, os passos 1, 2 e 3 do fluxo acima não são necessários.

Serviço de geração de token

O consumo do serviço de geração de token é obrigatório em alguns fluxos de operações genéricas. Como resultado dessa operação, o lojista obterá um token pela URL de autenticidade que serão necessários para os próximos passos do fluxo.

Detalhes da chamada

  • Recurso: /v1/token
  • Método HTTP: GET
  • Formato da requisição: JSON
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoTipoTamanhoObrigatório
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.AN< 15Sim
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.AN< 80Sim

Em seguida, o e-SiTef irá enviar uma requisição POST HTTPS (x-www-form-urlencoded) para a URL cadastrada, este POST contém as informações necessárias para obter o token para ser utilizado nas operações genéricas.

Simulação de POST de autenticidade:

curl -X POST \
  https://urlDeAutenticidadeDaLoja.com.br \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'cache-control: no-cache' \
  -d 'token=1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr

Atenção: É essencial que o site hospedado na URL de Autenticidade da loja receba o token de autenticidade e responda HTTP 200, pois isto é condição para que o e-SiTef considere o sucesso deste POST.

Caso o POST de autenticidade tenha ocorrido com sucesso, o e-SiTef responderá um código "responseCode": "0" para a requisição da loja.

Serviço de operação genérica

O serviço de operação genérica depende da autorizadora / roteamento. Este capítulo irá se focar nas características em comum de cada operação. Para maiores detalhes de cada operação, veja a documentação elaborada para cada roteamento.

Detalhes da chamada

  • Recurso: /v1/genericoperation
  • Método HTTP: POST
  • Formato da requisição: JSON
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoTipo (Tamanho)Obrigatório
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.AN (≤ 15)Sim
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.AN (≤ 80)Sim
Content-TypeUtilizar valor "application/json".AN (= 15)Sim

Parâmetro de requisição

ParâmetroDescriçãoTipo (Tamanho)Obrigatório
operationNúmero identificador da operação que se deseja chamar.N (≤ 3)Sim
parametersConjunto de propriedades que devem ser enviadas para realizar a operação especificada no parâmetro operation.AN (≤ 20)Sim

Tabela descritiva dos parameters

Cada operação possui um conjunto de parâmetros. Abaixo segue os parâmetros com características em comum para todas as operações:

ParâmetroDescriçãoTipo (Tamanho)Obrigatório
tokenToken de autenticidade que foi gerado pelo e-SiTef (Saiba mais)AN (= 66)Condicional por operação
authorizer_idCódigo da autorizadora no e-SiTef (Saiba mais)AN (≤ 3)Sim
terminal_idValor numérico que representa um terminal lógico no SiTef. Um número de terminal lógico não pode ser usado ao mesmo tempo por duas requisições diferentes.AN (= 8)Sim
merchant_usnNSU da operação gerado pela lojaN (≤ 12)Sim
operator_codeCódigo do operadorN (= 2)Não
supervisor_codeCódigo do supervisorN (= 5)Não
subfunctionSubfunção da operação. O valor deste campo deve estar condizente com a operaçãoN (= 2)Sim

Resposta

A resposta depende de cada operação e será especificado na documentação de cada autorizadora/roteamento.

Pagamento JavaScript

Visão Geral

A interface de Pagamento JavaScript permite que a coleta dos dados do cartão do comprador seja realizada pelo e-SiTef na página do lojista, isentando a loja da manipulação destes dados sensíveis e deixando esta tarefa sob a responsabilidade do ambiente com certificação PCI DSS do e-SiTef.

Esta interface é recomendada a lojistas que desejam ter sua própria página de checkout, possuindo ao mesmo tempo um alto padrão de segurança.

Esta solução é integrada com a interface de pagamento REST. Saiba mais sobre Pagamento REST.

Fluxo

Descrição do fluxo:

  • 1. O cliente envia os dados de sua compra e prossegue para a tela de pagamento.
    • 1.1. A Loja Virtual cria uma transação de pagamento no e-SiTef, enviando adicionalmente o parâmetro payment_js com valor true. Saiba mais.
    • 1.2. O e-SiTef retorna para a loja um NIT e um Pay Token.
    • 1.3. Loja exibe para o comprador a sua página de pagamento contendo o script do e-SiTef e os campos de dados de cartão com as classes especificadas em Campos com dados de cartão.
  • 2. Cliente preenche os dados do seu cartão e clica em "pagar". Este clique deve chamar o script de pagamento do e-SiTef, passando como parâmetro o NIT, o Pay Token, o código da loja e as funções de callback (procedimentos do lojista que serão chamados após o pagamento do e-SiTef).
    • 2.1. O e-SiTef retorna o resultado do pagamento, incluindo código, mensagem e status da transação.
  • 3. Callback do lojista é chamado, que envia a resposta do e-SiTef para o servidor da loja.
    • 3.1. A Loja Virtual realiza uma consulta da transação no e-SiTef. Saiba mais.
    • 3.2. O e-SiTef retorna o status da transação, assim como informações de autorização.
    • 3.3. A Loja Virtual analisa as informações recebidas e redireciona o comprador para uma tela de sucesso ou fracasso.

Quick start

Criando a transação

Tipo de requisição: POST

URL: https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions

Headers:

  • Content-Type: application/json
  • merchant_id: {seu código de loja}
  • merchant_key: {chave da sua loja}

Requisição:

JSON
cURL
{
"merchant_usn":"12042142155",
"order_id":"12042142155",
"installments":"1",
"installment_type":"4",
"authorizer_id":"2",
"amount":"1000",
"payment_js":"true"
}
curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxx"
--data-binary
{
"merchant_usn":"12042142155",
"order_id":"12042142155",
"installments":"1",
"installment_type":"4",
"authorizer_id":"2",
"amount":"1000",
"payment_js":"true"
}
--verbose

Resposta:

{
    "code":"0",
    "message":"OK. Transaction successful.",
    "payment":{
        "status":"NOV",
        "nit":"1234567890123456789012345678901234567890123456789012345678901234",
        "order_id":"12042142155",
        "merchant_usn":"12042142155",
        "amount":"1000",
        "pay_token":"123456789012345678901234567890123456789012345678901234567890123456"
    }
}

Saiba mais sobre esse serviço.

Página de pagamento da loja virtual

A página de pagamento 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/esitefpayment-1.0.min.js

URL para ambiente de Homologação:

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

Exemplo:

Abaixo está um exemplo de uma página integrada com o pagamento JavaScript do e-SiTef:

HTML
<!DOCTYPE html>
<html>

<head>
<meta charset="utf-8" />
<script type="text/javascript" src="https://esitef-
homologacao.softwareexpress.com.br/js/esitefpayment-1.0.min.js"
>
</script>
<script>
function myPay() {
var request = {
onSuccess: function(response) {
console.log(response.code);
console.log(response.message);
console.log(response.payment.authorizer_code);
console.log(response.payment.authorizer_message);
console.log(response.payment.status);
console.log(response.payment.nit);
console.log(response.payment.order_id);
console.log(response.payment.customer_receipt);
console.log(response.payment.authorizer_id);
},
onFailure: function(response) {
console.log(response.code);
console.log(response.message);
console.log(response.payment.authorizer_code);
console.log(response.payment.authorizer_message);
console.log(response.payment.status);
console.log(response.payment.nit);
console.log(response.payment.order_id);
console.log(response.payment.authorizer_id);
},
onInvalid: function(errors) {
for (var i = 0; i < errors.length; i++) {
console.log(errors[i].field);
console.log(errors[i].cause);
}
},
nit: '1234567890123456789012345678901234567890123456789012345678901234',
payToken: '123456789012345678901234567890123456789012345678901234567890123456',
merchantId: 'xxxxxxxx',
locale: 'pt',
isCardSecurityCodeOptional: false
};
esitefDoPayment(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="text" class="esitef-cardsecuritycode" />
<input type="button" onclick="myPay()" />
</form>
</body>

</html>

Serviço de criação da transação

O consumo desse serviço é obrigatório no fluxo de pagamento JavaScript. Adicionalmente aos parâmetros de requisição de pagamento REST, também deve ser enviado o seguinte parâmetro:

ParâmetroDescriçãoFormatoObrigatório
payment_jsDeve ser enviado com o valor true para habilitar o fluxo de pagamento JavaScript.< 5 ASIM

Como resposta, o seguinte parâmetro será adicionalmente retornado:

ParâmetroDescriçãoFormato
payment
pay_tokenToken associado ao pagamento JavaScript.= 66 AN

Para mais detalhes sobre essa chamada, consulte Pagamento REST.

Exemplo

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxx"
--data-binary
{
    "merchant_usn":"12042142155",
    "order_id":"12042142155",
    "installments":"1",
    "installment_type":"4",
    "authorizer_id":"2",
    "amount":"1000",
    "payment_js":"true"
}
--verbose

Resposta:

{
    "code":"0",
    "message":"OK. Transaction successful.",
    "payment":{
        "status":"NOV",
        "nit":"1234567890123456789012345678901234567890123456789012345678901234",
        "order_id":"12042142155",
        "merchant_usn":"12042142155",
        "amount":"1000",
        "pay_token":"123456789012345678901234567890123456789012345678901234567890123456"
    }
}

Pagamento com Armazenamento

Caso se deseje armazenar o cartão utilizado, basta enviar os seguintes campos:

ParâmetroDescriçãoFormatoObrigatório
store_cardDeve ser enviado com o valor true para habilitar o fluxo de pagamento com armazenamento JavaScript.< 5 ANÃO
additional_data
.payer
.store_identification
Identificação do comprador para armazenamento de cartão. Este campo é obrigatório se for passado o campo store_card como true< 20 NCOND

Como resposta, o seguinte parâmetro será adicionalmente retornado:

ParâmetroDescriçãoFormato
store
nitaNúmero identificador de transação de armazenamento.= 65 AN

Após a efetivação do pagamento, as informações do cartão armazenado serão enviadas para loja através de um Aviso de Armazenamento.

Exemplo

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxx"
--data-binary

{
    "merchant_usn": "571335733160",
    "order_id": "1571335733160",
    "installments": "1",
    "installment_type": "4",
    "amount": "1000",
    "authorizer_id": "2",
    "payment_js": "true",
    "store_card": "true",
    "additional_data":{
       "payer":{
           "store_identification":"1222"
       }
    }
 }
--verbose

Resposta:

{
    "code": "0",
    "message": "OK. Transaction successful.",
    "payment": {
        "status": "NOV",
        "nit": "fa8d9a5b840cca22c467db6aaa22d61561cfcf299f5fba5b033ba43fb7bd35b2",
        "order_id": "1571335733160",
        "merchant_usn": "571335733160",
        "amount": "1000",
        "pay_token": "ef3d19cb2c0db0d8c54945da8130b9f47aeb14f3b2f884ef151ecf18d2683d3601"
    },
    "store": {
        "nita": "Z529ebaf6342d0ab680c51c4ec8409bdc0dd43a00bf9956c2f60f7e76f3476419"
    }
}

Página de pagamento da loja virtual

A página de pagamento 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/esitefpayment-1.0.min.js

URL para ambiente de Homologação:
https://esitef-homologacao.softwareexpress.com.br/js/esitefpayment-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
esitef-cardsecuritycodeCódigo de segurança do cartão.< 5 NSIM
esitef-cardholderNome do portador do cartão. Obrigatório apenas para pagamentos com e-Rede, GetNet WS e VR AN (SmartNet).< 30 ANCOND.

Chamando o script do e-SiTef

Quando 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âmetroDescriçãoFormatoObrigatório
nitIdentificador de transação no e-SiTef. Campo nit recebido na etapa de criação da transação.= 64 ANSIM
payTokenCampo pay_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 e-SiTef. 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
isCardSecurityCode
Optional
Define se o código de segurança do cartão será validado como campo obrigatório ou opcional. Enviar true caso seja um campo opcional. Caso esse campo não seja enviado, será considerado o valor false (código de segurança obrigatório).T/FNÃO
onSuccessFunction de callback que será chamada após um pagamento bem-sucedido no e-SiTef. Esta function recebe como argumento a resposta do pagamento descrita em - Resposta dos callbacks de sucesso e fracasso.FSIM
onFailureFunction de callback que será chamada após um pagamento mal sucedido no e-SiTef. Esta function recebe como argumento a resposta do pagamento 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 pagamento. Abaixo estão as descrições desses campos:

ParâmetroDescriçãoFormato
codeCó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
messageMensagem de resposta do e-SiTef.< 500 AN
payment
authorizer_codeCódigo de resposta do autorizador.< 10 AN
authorizer_messageMensagem de resposta do autorizador.< 500 AN
statusStatus da transação de pagamento no e-SiTef.= 3 AN
nitNúmero identificador da transação de pagamento no e-SiTef.= 64 AN
order_idCódigo de pedido enviado pela loja na criação da transação.< 40 AN
customer_receiptCupom (via cliente).< 4000 AN
authorizer_idCódigo da autorizadora utilizada na transação.< 4 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 pagamento JavaScript do e-SiTef:

HTML
<!DOCTYPE html>
<html>

<head>
<meta charset="utf-8" />
<script type="text/javascript" src="https://esitef-
homologacao.softwareexpress.com.br/js/esitefpayment-1.0.min.js"
>
</script>
<script>
function myPay() {
var request = {
onSuccess: function(response) {
console.log(response.code);
console.log(response.message);
console.log(response.payment.authorizer_code);
console.log(response.payment.authorizer_message);
console.log(response.payment.status);
console.log(response.payment.nit);
console.log(response.payment.order_id);
console.log(response.payment.customer_receipt);
console.log(response.payment.authorizer_id);
},
onFailure: function(response) {
console.log(response.code);
console.log(response.message);
console.log(response.payment.authorizer_code);
console.log(response.payment.authorizer_message);
console.log(response.payment.status);
console.log(response.payment.nit);
console.log(response.payment.order_id);
console.log(response.payment.authorizer_id);
},
onInvalid: function(errors) {
for (var i = 0; i < errors.length; i++) {
console.log(errors[i].field);
console.log(errors[i].cause);
}
},
nit: ‘1234567890123456789012345678901234567890123456789012345678901234’,
payToken: ‘123456789012345678901234567890123456789012345678901234567890123456’,
merchantId: 'xxxxxxxx',
locale: 'pt',
isCardSecurityCodeOptional: false
};
esitefDoPayment(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="text" class="esitef-cardsecuritycode" />
<input type="button" onclick="myPay()" />
</form>
</body>

</html>

Serviço de consulta de transação

Este serviço deve ser chamado após o recebimento dos callbacks de sucesso ou fracasso para assegurar o status da transação e obter mais informações referentes ao pagamento. Esta operação também deve ser utilizada para sondar a situação da transação, enquanto uma resposta por parte da página de pagamento não é recebida.

Para mais detalhes sobre essa chamada consulte Serviço de consulta de transação do Pagamento REST.

Armazenamento JavaScript

A interface de Armazenamento JavaScript permite que a coleta dos dados do cartão do comprador seja realizada pelo e-SiTef na página do lojista, isentando a loja da manipulação destes dados sensíveis e deixando esta tarefa sob a responsabilidade do ambiente com certificação PCI DSS do e-SiTef.

Esta interface é recomendada a lojistas que desejam ter sua própria página de checkout, possuindo ao mesmo tempo um alto padrão de segurança.

Fluxo

Descrição do fluxo:

  • 1. O cliente envia os dados de sua compra e prossegue para a tela de armazenamento.
    • 1.1. A Loja Virtual cria uma transação de armazenamento no e-SiTef, enviando os parâmetros customer_id e merchant_usn.
    • 1.2. O e-SiTef retorna para a loja um NITA e um Store Token.
    • 1.3. Loja exibe para o comprador a sua página contendo o script do e-SiTef e os campos de dados de cartão com as classes especificadas em Campos com dados de cartão.
  • 2. Cliente preenche os dados do seu cartão e realiza o submit dos dados do cartão. Chama o script de armazenamento do e-SiTef, passando como parâmetro o NITA, o Store Token, o código da loja, id da autorizadora e as funções de callback (procedimentos do lojista que serão chamados após o armazenamento do e-SiTef).
    • 2.1. De modo síncrono, o e-SiTef fará um POST HTTPS na URL de armazenamento informada pelo lojista e cadastrada no backoffice do e-SiTef. O POST enviado conterá o Hash do cartão armazenado. Saiba mais.
    • 2.2. A resposta da loja ao POST HTTPS obrigatoriamente deve ser "200 OK".
    • 2.3.O e-SiTef retorna o resultado do armazenamento, incluindo código, mensagem, status da transação, nsu da loja e nita.
    • 2.4. Callback do lojista é chamado.

Quick start

Criando a transação

Tipo de requisição: POST

URL: https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/store

Headers:

  • Content-Type: application/json
  • merchant_id: {seu código de loja}
  • merchant_key: {sua chave da loja}

Requisição:

JSON
cURL
{
"merchant_usn":"16013439434",
"customer_id":"11122211122"
}
curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/store"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"merchant_usn":"16013439434",
"customer_id":"11122211122"
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "store":{
      "status":"CON",
      "nsua":"18051600000560A",
      "merchant_usn":"16013439434",
      "customer_id":"11122211122",
      "nita":"Z123adsfrh342r72498r34920ur23r328r2038r023rh0h203rh032r082380rf43",
      "store_token": "123456789012345678901234567890123456789012345678901234567890123456"
   }
}

Saiba mais sobre esse serviço.

Página de pagamento 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

Exemplo:

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

HTML
<!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>

Recebendo um aviso de armazenamento

Assim que o armazenamento for concluído, o e-SiTef notificará a loja com um POST (x-www-form-urlencoded) em sua URL de armazenamento cadastrada, contendo o token do cartão armazenado.

Java + Spring Framework
@RestController
public class MyStoreController {

@PostMapping(value = "/mystore",
consumes = "application/x-www-form-urlencoded; charset=utf-8")
public ResponseEntity<String> myStore(@RequestParam Map<String, String> request) {
Log.info("token = " + request.get("hash"));
// ...
return new ResponseEntity<>("OK", HttpStatus.OK);
}

}
Abaixo segue um exemplo de requisição a ser feita pelo e-SiTef no domínio cadastrado pela loja:
cURL
curl -X POST \
https://urlDaLojaCadastrada.com.br \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H 'Postman-Token: 08e28c6b-77f6-437a-9bbe-de56bd614e0a' \
-H 'cache-control: no-cache' \
-d 'nsua=9055020677&nita=1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr&nsu=09055020677&status=CON&hash=67890afghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr&bin=498406&final=2268&autorizadora=1'

Saiba mais sobre esse serviço.

Serviço de criação da transação

Detalhes da chamada

  • Recurso: /v1/store
  • Método HTTP: POST
  • Formato da requisição: JSON
  • Formato da resposta: JSON
  • Headers:
    • Content-Type: application/json
    • merchant_id: {seu código de loja}
    • merchant_key: {sua chave da loja}

O consumo desse serviço é obrigatório no fluxo de armazenamento JavaScript.

Parâmetros de requisição

Os seguintes parâmetros de requisição devem ser enviados:

ParâmetroDescriçãoFormatoObrigatório
merchant_usnNúmero sequencial único para cada pedido, criado pela loja.< 12 NSIM
customer_idIdentificação do comprador para armazenamento de cartão. Esta identificação deve ser única para cada usuário da loja. Mas atenção, essa garantia de unicidade é de total responsabilidade da loja, o e-SiTef não realizará nenhuma validação.< 20 ANSIM

Parâmetros de resposta

Na tabela abaixo está a descrição dos parâmetros de resposta:

ParâmetroDescriçãoFormato
codeCódigo de resposta do e-SiTef. Qualquer código diferente de 0(zero) significa falha. Saiba mais.< 4 N
messageMensagem de resposta do e-SiTef.< 500 AN
store
statusStatus da transação de armazenamento no e-SiTef. Saiba mais.= 3 AN
nsuaNúmero sequencial único da transação de armazenamento no e-SiTef.= 15 AN
nitaNúmero identificador criptografado da transação de armazenamento devolvido à loja pelo e-SiTef.< 65 AN
merchant_usnNúmero sequencial único enviado pela loja.< 12 N
customer_idIdentificação do comprador para armazenamento de cartão.< 20 AN
store_tokenToken associado ao armazenamento JavaScript.= 66 AN

Exemplo

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/store"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "merchant_usn":"16013439434",
   "customer_id":"11122211122"
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "store":{
      "status":"CON",
      "nsua":"12345600000560A",
      "merchant_usn":"16013439434",
      "customer_id":"11122211122",
      "nita":"Z123adsfrh342r72498r34920ur23r328r2038r023rh0h203rh032r082380rf43",
      "store_token": "123456789012345678901234567890123456789012345678901234567890123456"
   }
}

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â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 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âmetroDescriçãoFormatoObrigatório
nitaNúmero identificador criptografado da transação de armazenamento devolvido à loja pelo e-SiTef.< 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 e-SiTef. 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 e-SiTef. Saiba mais.< 3 NSIM
onSuccessFunction 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.FSIM
onFailureFunction 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.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 e-SiTef. 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 e-SiTef.< 500 AN
store
statusStatus da transação de armazenamento no e-SiTef.= 3 AN
nitaNúmero identificador da transação de armazenamento no e-SiTef.= 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 e-SiTef:

HTML
<!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>

Introdução

Visão Geral

O Portal do Lojista do e-SiTef é uma ferramenta de gerência das lojas cadastradas para um usuário.

Por meio dele é possível ter controle sobre parâmetros da loja, bem como obter informações através de relatórios. Também é possível ter permissão para cancelar transações, dependendo do perfil configurado para o lojista.

Todas as chamadas realizadas serão respondidas de forma síncrona exceto o aviso de status que será realizado pelo e-SiTef de forma assíncrona.

Acesso ao Portal

Para usar o Portal do Lojista, acesse o link: https://esitef.softwareexpress.com.br/e-sitef-loja/.

Faça o login preenchendo os campos Usuário e Senha nos espaços correspondentes, tais como na figura abaixo:

"Campos de Login."

Caso algum dos campos seja inválido, será mostrada uma mensagem de erro logo acima dos campos, destacada na figura a seguir:

"Usuário ou senha inválidos."

Se os dados estiverem corretos você será encaminhado para a tela de página inicial do portal:

"Página inicial."

Note que os links no menu principal depende do perfil configurado ao usuário**.

Primeiro Acesso

A realização do primeiro acesso pode ocorrer com dados de usuário e senha fornecidos pela equipe de produção do e-SiTef ou por outro usuário que tenha acesso a criação de novos acessos.

Esses dados podem ser provisórios ou definidos através de um e-mail contendo um link para definição de senha.

Dados de acesso via e-mail

Um link para definição da senha de acesso é encaminhado para o e-mail fornecido no cadastro. Caso não localize o e-mail na sua caixa de entrada, verifique a caixa de spam.

Abaixo o conteúdo do e-mail de definição de senha:

Assunto: Definição de Senha | e-SiTef
Lojista,

Seu usuário do e-SiTef foi criado com nome: lojista

Por favor, clique no link abaixo para definir sua senha:

https://esitef.softwareexpress.com.br/e-sitef-loja/acesso/primeiraSenha.se?token=abcd12345_exemplodetoken==

Obrigado pela preferência,
Equipe e-SiTef

Ao acessar o link fornecido no e-mail você será direcionado para uma tela de definição de senha, na mesma será solicitado a senha que será utilizada no seu acesso ao portal.

"Campo de inserção de senha (primeiro acesso)."

Após a definição da senha, você será encaminhado para outra página confirmando o sucesso do procedimento.

Clique em “Ir para página inicial” e inicie o processo de login com o usuário informado no e-mail e a senha que definiu:

"Retornar para página inicial."

Dados de acesso provisórios

Logo ao efetuar o primeiro acesso com os dados provisórios, o usuário será prontificado a alterar sua senha. Será apresentada uma tela semelhante à da figura a seguir:

"Tela para mudança de senha."

Os campos Nova senha e Confirme a nova senha devem ser preenchidos de forma idêntica.

Só serão aceitas senhas de no mínimo oito caracteres e força pelo menos Mediana.

Os níveis são calculados de acordo com o tamanho da senha e tipos de caracteres utilizados nela.

A figura seguinte abaixo mostra os diferentes níveis de senha que podem ser obtidos.

"Força da senha."

Após mudar a senha, o usuário será direcionado para a página inicial do portal.

Redefinição de senha

Para iniciar o processo de redefinição de senha, clique em “Esqueci minha senha” na tela inicial de login do portal:

"Link de redefinição de senha."

Será solicitado que você preencha o seu login:

"Inserção de usuário para redefinição."

Após confirmar, será exibida a seguinte tela:

"Mensagem de requisição processada."

Será encaminhado um e-mail para o endereço de e-mail cadastrado com o seguinte conteúdo:

Assunto: Redefinição de Senha | e-SiTef
Lojista,

Recebemos uma solicitação de redefinição da senha do seu usuário no Portal e-SiTef, clique no link abaixo para prosseguir:

https://esitef.softwareexpress.com.br/e-sitef-loja/acesso/entradaReset.se?token=abcd12345_exemplodetoken==

Se você não efetuou a solicitação, pode ignorar este e-mail.

Obrigado pela preferência,
Equipe e-SiTef

Ao acessar o link fornecido no e-mail você será direcionado para uma tela de definição de senha. Defina a nova senha que será utilizada no seu acesso ao portal.

"Campo de inserção de senha (redefinição de senha)."

Após a definição da senha, você será encaminhado para outra página confirmando o sucesso do procedimento.

Clique em “Ir para página inicial” e inicie o processo de login com o usuário informado no e-mail e a senha que definiu:

"Retornar para página inicial."

Autenticação em duas etapas

Para garantir maior comodidade e segurança aos seus clientes, o e-SiTef oferece a autenticação em dois fatores, em que, além do login na plataforma, é necessário informar um código de verificação de uso único exibido num app previamente configurado. Para fins de simplificação, assumimos o Google Authenticator como o app utilizado na nossa documentação.

O que você precisará

  • Cadastro ativo no ambiente de homologação do e-SiTef (obtido com nossa equipe de suporte);
  • A funcionalidade de autenticação em duas etapas habilitada pelo supervisor;
  • Instalação do app Google Authenticator num dispositivo móvel seguro.

Habilitando a autenticação em duas etapas para outros usuários

Um usuário com perfil Lojista - Administrador possui acesso ao cadastro de usuários e pode também habilitar esta funcionalidade para seus demais usuários.

Para fazer essa habilitação, o administrador/supervisor deve ir ao Cadastro de Usuários e editar o cadastro do mesmo.

Na tela de edição, encontram-se os campos Status de geração de QR Code e Data limite para geração do QR Code, além do link para habilitar a autenticação em 2 etapas para o usuário selecionado.

Habilitar autenticação em duas etapas

Basta clicar no link que uma data padrão será preenchida no campo de data limite. Clicando em Salvar efetivará essa habilitação.

Cadastrando a autenticação em duas etapas

Com a funcionalidade de autenticação em duas etapas habilitada pela equipe de suporte e feito o login no Portal Lojista, acesse a opção Autenticação em duas etapas no menu de usuário, conforme imagem abaixo:

Menu de autenticação em duas etapas

Se todos os pré-requisitos estiverem corretos, você deverá receber uma tela parecida com a seguinte:

Página de instrução

Com o app devidamente configurado no dispositivo móvel, ao clicar em Visualizar QR Code, uma tela como a seguinte deverá ser exibida:

Página de QR Code

Dentro do app Google Authenticator, selecione a opção de Ler Código QR e aponte a câmera para o código QR exibido na tela. Um número de 6 dígitos será exibido em seguida no celular, o qual deve ser inserido no campo indicado na tela do Portal Lojista e, por fim, clicar em Prosseguir.

ATENÇÃO: NUNCA informe este código para terceiros. Ele é pessoal e intransferível. Caso tenha algum problema ou dúvida, entre em contato com a nossa equipe de suporte, a qual em nenhuma circunstância solicita sua senha ou este código de autenticação.

Se tudo correu bem, será exibida uma mensagem de sucesso ou a próxima tela da etapa da operação que você estava tentando fazer, e o seu usuário estará habilitado para a autenticação em duas etapas. Sempre que exigido, você deverá acessar o Google Authenticator e digitar no campo indicado na tela do Portal Lojista o número de 6 dígitos exibido no app.

Configurações do usuário

Alterar senha

Para alterar a senha cadastrada, basta clicar no nome do usuário na borda superior da página, indicado na figura abaixo:

"Alterar senha."

O usuário verá a tela apresentada no item Redefinição de senha do Acesso ao Portal. Basta seguir os mesmos procedimentos e a senha será alterada ao final do processo.

Alterar idioma

Para alterar o idioma do portal, basta clicar no ícone da bandeira correspondente ao idioma desejado, no canto superior direito da página, indicado na figura a seguir.

"Alterar idioma."

O idioma padrão é português PT-BR.

Configurar Autorizadoras

A opção Configurar Autorizadoras permite alterar os parâmetros referentes às autorizadoras cadastradas para uma determinada loja. Através dela, é possível modificar o status da autorizadora, tipo de roteamento, e propriedades referentes ao parcelamento.

IMPORTANTE: Para realizar configurações em autorizadoras que possuem parâmetros extras pelo Portal do Lojista, será exigido o código de autenticação em duas etapas para concluir a configuração. Caso esse método de autenticação não esteja habilitado, será exibida na tela instruções sobre qual procedimento deve ser tomado para continuar. Para mais informações sobre essa autenticação e como habilitá-la, clique aqui.

Para prosseguir com a configuração de autorizadoras, siga os procedimentos abaixo.

  1. Clique em Configurar Autorizadoras, no menu principal:

"Link Configurar Autorizadoras."

  1. Selecione a loja na qual deseja realizar a configuração:

Observação:

Caso o usuário só possua uma loja cadastrada, a tela abaixo não será mostrada, então pule para o próximo passo.

"Lojas cadastradas para configuração de autorizadoras."

Para selecionar uma loja, basta clicar em um dos respectivos dados: código da loja, nome fantasia, ou razão social. Todos redirecionam para a página mostrada no próximo passo.

O botão VOLTAR retorna para a página inicial do portal.

  1. Selecione a autorizadora que deseja configurar:

"Autorizadoras cadastradas para a loja."

Para selecionar uma autorizadora, basta clicar num dos respectivos dados: id da autorizadora, autorizadora, status da autorizadora, ou tipo de roteamento. Todos redirecionam para a página mostrada no próximo passo.

O botão VOLTAR retorna para a tela de lojas cadastradas para configuração de autorizadoras.


ATENÇÃO: Caso a autorizadora selecionada possua parâmetros extras e o método de autenticação em duas não esteja habilitado, será exibida uma tela de instruções para configurar a autenticação em duas etapas.

"Autorizadoras instruções para configuração de dois fatores."

Para mais informações sobre essa autenticação e como habilitá-la, clique aqui.

  1. Preencha os campos de acordo com o desejado:

"Configuração de Autorizadora."

Clique no botão Salvar para consolidar a configuração realizada. A mensagem de confirmação de sucesso está destacada na figura abaixo.

"Mensagem de sucesso na configuração de autorizadora."

O botão VOLTAR retorna para a tela de autorizadoras cadastradas para a loja.

Em alguns casos, a autorizadora possui parâmetros de configuração adicionais que precisam ser inseridos para a operação correta com a mesma, como no exemplo abaixo:

"Parâmetros da autorizadora."

ATENÇÃO:

Conforme as necessidades de cada autorizadora, um grupo de parâmetros diferentes serão solicitados.


Nesses casos ao clicar em salvar será exigido o token da Autenticação em Dois Fatores. "Token de autenticação em dois fatores"

Para mais informações, clique aqui.


Em alguns casos, é cadastrado um parâmetro do tipo senha:

"Parâmetro senha."

Neste caso deve-se inserir uma senha já cadastrada junto à autorizadora/rede roteadora. Para inserir uma senha ou atualizar com uma nova senha, deve-se preenchê-la repetidamente no campo Novo(a) e Confirmar Novo(a). Caso a senha inserida não seja a mesma em ambos os campos, uma mensagem de erro é apresentada, como na figura a seguir:

"Erro na confirmação de senha."

Caso a senha seja inserida ou alterada com sucesso, uma mensagem de sucesso será apresentada na tela:

"Confirmação de alteração de senha e demais parâmetros efetuada com sucesso."

Relatório de Transações

O Relatório de Transações permite visualizar todas as transações registradas em suas lojas num determinado período de tempo. Vários filtros são aplicáveis na listagem das transações, e funcionalidades como gráficos também estão disponíveis para o lojista.

Para acessar esse relatório, coloque o cursor do mouse sobre o link Relatórios do menu principal, e um sub-menu aparecerá. Depois, clique em Relatório de Transações conforme figura abaixo:

Link para o Relatório de Transações."

Assim uma tela semelhante a abaixo será apresentada:

"Filtros do Relatório de Transações."

Nesta tela, o lojista tem a opção de definir filtros que deseja aplicar antes de gerar a listagem das transações do período de tempo determinado. A tabela a seguir descreve os filtros possíveis para este relatório:

Tabela 1: Filtros do Relatório de Transações.

FiltroDescrição
Data Inicial *Data inicial de referência para listagem das transações
Data Final *Data final de referência para listagem das transações
NSU TransaçãoNúmero único correspondente à transação
NSU LojaNúmero sequencial da loja
Hora InicialHora inicial de referência para listagem das transações
Hora FinalHora final de referência para listagem das transações
Código PedidoIdentificação do pedido realizado à loja
DocumentoIdentificação do cliente
TipoTipo da transação (Pagamento, Estorno, Recarga, Consulta AVS, Pré-autorização ou Captura de pré-autorização).
Código LojaLoja cadastrada para o lojista
AutorizadoraAutorizadora cadastrada na loja
StatusStatus da transação (Nova, Aguardando usuário, Aguardando pagamento, Pagamento pendente de confirmação, Pagamento desfeito, Confirmada, Expirada, Cancelada, Negada, Inválida, Estornada, Bloqueada, Abandonada, Removida, Erro de comunicação).

Atenção:

Note que os campos de Data, com marcação *, são de preenchimento obrigatório e não deverão ultrapassar uma diferença de 3 (três) meses.

Vale ressaltar que os campos Hora Inicial e Hora Final só são aplicados caso o filtro de Data corresponda a um único dia (ou seja, apresente o mesmo dia tanto na Data Inicial quanto na Data Final). Caso o período de tempo seja maior que um dia, os campos de hora serão ignorados na listagem de transações.

Por fim, depois de definir os filtros desejados, basta clicar em Buscar. Você receberá uma lista com todas as transações que satisfazem os critérios determinados. A tela é semelhante à da figura a seguir:

"Listagem de transações."

Nesta lista, estão presentes várias funcionalidades úteis ao lojista. Por exemplo, é possível ordenar as transações por ordem numérica ou alfabética de algum dos parâmetros principais. Para isso, basta clicar em algum dos títulos de parâmetro – NSU TRANSAÇÃO, TIPO, STATUS, LOJA, PEDIDO, VALOR, DATA.

"Ordenação das transações."

Clicar uma vez ordena as transações em ordem ascendente. Clicar outra vez as ordena em ordem descendente. O padrão da listagem é organizar as transações em ordem da mais recente para a menos recente.

Também é possível ver mais detalhes sobre a transação. Para isso, basta clicar no ícone "icone detalhe", ao final da linha correspondente à transação:

"Ver mais detalhes da transação."

Isto abrirá um espaço com mais detalhes sobre a transação:

"Detalhes da transação."

É possível ocultar estes detalhes clicando no ícone "icone detalhe ocultar", ao final da linha correspondente à transação (no mesmo lugar onde foi clicado em no ícone "icone detalhe").

Também é possível exibir os detalhes de todas as transações da lista. Para isso, basta clicar no título de parâmetro DETALHES. Clicar uma vez exibe os detalhes de todas as transações da lista. Clicar de novo oculta todos os detalhes.

Gráficos de transações

Outra funcionalidade existente ao lojista é a possibilidade de visualizar gráficos correspondentes à listagem de transações exibida. Podem ser gerados gráficos por status da transação, ou por autorizadora. Para visualizar estes gráficos, basta clicar em GERAR GRÁFICO POR STATUS, ou GERAR GRÁFICO POR AUTORIZADORA, destacados na figura a seguir:

"Gerar gráfico de transações."

Após clicar em um desses links, seu navegador abrirá uma janela pop-up para exibir este gráfico. A figura abaixo é um exemplo do visual do gráfico gerado:

"Gráfico de transações."

Exportação em arquivo CSV

Mais uma funcionalidade presente neste relatório é a possibilidade de exportar a lista de transações em um arquivo CSV (lista de dados separados por ponto-e-vírgula), que pode ser trabalhado no Microsoft Excel ou um programa similar.

Para isso, basta clicar em EXPORTAR ARQUIVO CSV, destacado na figura a seguir:

"Exportar arquivo CSV."

Em seguida seu navegador efetuará o download do arquivo CSV.

A tabela seguinte apresenta os campos que compõe o arquivo:

Tabela 2: Campos exportados em CSV.

CampoDescrição
NSUNSU (número sequencial único) no e-SiTef
TIPOTipo da transação
STATUSStatus da transação no e-SiTef
CODIGOLOJACódigo da loja (merchant id)
NOMELOJANome fantasia da loja
PEDIDOCódigo do pedido
VALORValor da transação (centavos)
DATACRIACAOData de criação da transação no e-SiTef
DATAEFETIVACAOData de efetivação da transação no e-SiTef
DATAEFETIVACAOOSITEFData de efetivação no SiTef ou adquirente direto
IDAUTORIZADORACódigo da autorizadora (authorizer id) no e-SiTef
NOMEAUTORIZADORANome da autorizadora no e-SiTef
TIPOPAGAMENTORoteamento da transação
RESPOSTASITEFCódigo de Resposta do SiTef ou adquirente direto
MENSAGEMSITEFMensagem de Resposta do SiTef ou adquirente direto
NSUSITEFNSU no SiTef
NSUHOSTNSU no Host
NSULOJANSU da Loja
AUTORIZACAOCódigo de Autorização
PARCELASParcelas da transação
FINANCIAMENTOTipo de financiamento:
  • 3 - parcelado com juros
  • 4 - parcelado sem juros
TIDTID (Transaction ID) - identifica a transação na adquirente em integrações diretas
ECIECI (Electronic Commerce Indicator) - indica o nível de segurança da transação eletrônica em relação a autenticação de portador do cartão.
ESTILOEstilo da Transação:
  • V - POS Virtual
AVISOSTentativas de Aviso a Loja sobre status de transações HTML
FALHASTentativas com Falha de Aviso a Loja sobre status de transações HTML
IPCLIENTEIP do Usuário Final
DOCUMENTODocumento / customerID
USUARIOLogin do usuário que efetuou a transação no POS Virtual
MOEDAMoeda registrada na transação, seguindo a ISO 4217. Em muitos casos, tem apenas valor de apresentação em relatórios, dependendo da rede adquirente. Ex: Para o SiTef esta informação não é repassada.

Atenção:

Novos campos podem ser adicionados a estes sem aviso prévio. Caso este arquivo seja processado por algum sistema, este deve estar SEMPRE preparado para a inclusão de novos campos.

Marcação de fraude

Após uma transação com antifraude bem sucedida, a loja pode vir a identificar que, na realidade, se tratou de uma fraude. Nesse caso, caso o usuário tenha a permissão adequada (entre em contato com nossa equipe de suporte), ele pode localizar essa transação no relatório e clicar no botão "Marcar fraude" para avisar a instituição de análise de risco sobre essa ocorrência, conforme a figura abaixo:

"Marcar fraude"

Isso irá refinar o processo de análise dessa instituição, tornando-o mais preciso e evitando mais fraudes futuramente.

Atualmente, esta funcionalidade suporta as seguintes instituições de antifraude:

  • Konduto
  • Fraud Detect

Relatório de Resumo Diário

O Relatório de Resumo Diário consiste na visualização rápida e prática dos gráficos de Status e Autorizadora das transações realizadas até aquele momento no dia.

Para acessar esse relatório, coloque o cursor do mouse sobre o link Relatórios do menu principal, e um submenu aparecerá. Depois, clique em Resumo Diário:

"Link para o Resumo Diário."

A tela apresentada será semelhante à abaixo:

"Resumo Diário." "Resumo Diário Status."

O botão VOLTAR retorna para a página inicial do portal.

Relatório de Armazenamentos

O Relatório de Armazenamentos permite visualizar todos os armazenamentos de cartão registrados em suas lojas num determinado período de tempo. Vários filtros são aplicáveis na listagem dos armazenamentos, e funcionalidades como gráficos também estão disponíveis para o lojista.

Para acessar esse relatório, coloque o cursor do mouse sobre o link Relatórios do menu principal, e um sub-menu aparecerá. Depois, clique em Relatório de Armazenamentos:

"Link para o Relatório de Armazenamentos."

A tela apresentada será semelhante à abaixo:

"Filtros do Relatório de Armazenamentos."

Nesta tela, o lojista tem a opção de definir filtros que deseja aplicar antes de gerar a listagem dos armazenamentos do período de tempo determinado. Para selecionar filtros adicionais clique no ícone ao lado do botão Buscar: "Filtros do Relatório de Armazenamentos Adicionais."

A tabela a seguir descreve os filtros possíveis para este relatório:

Tabela 1: Filtros do Relatório de Armazenamentos.

FiltroDescrição
Data Inicial *Data inicial de referência para listagem das transações
Data Final *Data final de referência para listagem das transações
NSU ArmazenamentoNúmero único correspondente ao armazenamento de cartão
PedidoIdentificação do pedido realizado à loja
Hora InicialHora inicial de referência para listagem das transações
Hora FinalHora final de referência para listagem das transações
DocumentoIdentificação do cliente
Código LojaLoja cadastrada para o lojista
AutorizadoraAutorizadora de cartão
StatusStatus do armazenamento (Novo, Aguardando usuário, Confirmado, Duplicado, Cancelado, Negado, Inválido, Bloqueado, Abandonado, Expirado).

Atenção

Note que os campos de Data, com marcação *, são de preenchimento obrigatório e não deverão ultrapassar uma diferença de 3 (três) meses.

Vale ressaltar que os campos Hora Inicial e Hora Final só são aplicados caso o filtro de Data corresponda a um único dia (ou seja, apresente o mesmo dia tanto na Data Inicial quanto na Data Final). Caso o período de tempo seja maior que um dia, os campos de hora serão ignorados na listagem de armazenamentos.

Por fim, depois de definir os filtros desejados, basta clicar em Buscar. Você receberá uma lista com todos os armazenamentos que satisfazem os critérios determinados. A tela é semelhante a seguinte:

"Listagem dos armazenamentos."

Nesta lista, estão presentes várias funcionalidades úteis ao lojista. Por exemplo, é possível ordenar os armazenamentos por ordem numérica ou alfabética de algum dos parâmetros principais. Para isso, basta clicar em algum dos títulos de parâmetro – NSU ARMAZENAMENTO, STATUS, LOJA, PEDIDO, DATA CRIAÇÃO.

"Ordenação dos armazenamentos."

Clicar uma vez ordena os armazenamentos em ordem ascendente. Clicar outra vez os ordena em ordem descendente. O padrão da listagem é organizar os armazenamentos em ordem do mais recente para o menos recente.

Também é possível ver mais detalhes sobre o armazenamento. Para isso, basta clicar no ícone "icone detalhe", ao final da linha correspondente ao armazenamento:

"Ver mais detalhes do armazenamento."

A tela apresentada será semelhante à abaixo:

"Detalhes do armazenamento."

É possível ocultar estes detalhes clicando em no ícone "icone detalhe ocultar", ao final da linha correspondente ao armazenamento (no mesmo lugar onde foi clicado no ícone "icone detalhe").

Também é possível exibir os detalhes de todos os armazenamentos da lista. Para isso, basta clicar no título de parâmetro DETALHES. Clicar uma vez exibe os detalhes de todos os armazenamentos da lista. Clicar de novo oculta todos os detalhes.

Relatório de Recargas

O Relatório de Recargas permite visualizar todas as recargas registradas em suas lojas num determinado período de tempo. Vários filtros são aplicáveis na listagem das recargas.

Atenção:

Para visualizar o Relatório de Recargas, é preciso que a equipe de operação libere a permissão necessária.

Para acessar esse relatório, coloque o cursor do mouse sobre o link Relatórios do menu principal, e um sub-menu aparecerá. Depois, clique em Relatório de Recargas:

"Link para o Relatório de Recargas."

A tela apresentada será semelhante à abaixo:

"Filtros do Relatório de Recargas."

Nesta tela, o lojista tem a opção de definir filtros que deseja aplicar antes de gerar a listagem das recargas do período de tempo determinado. A tabela a seguir descreve os filtros possíveis para este relatório:

Tabela 1: Filtros do Relatório de Recargas.

FiltroDescrição
Data Inicial *
Data inicial de referência para listagem das transações
Data Final *Data final de referência para listagem das transações
Código LojaLoja cadastrada para o lojista
OperadoraOperadora do celular no qual foi realizada a recarga (Vivo, Claro, Oi, Tim)
Data InicialData inicial de referência para listagem das transações
Data FinalData final de referência para listagem das transações
Código LojaLoja cadastrada para o lojista
OperadoraOperadora do celular no qual foi realizada a recarga (Vivo, Claro, Oi, Tim)
Data InicialData inicial de referência para listagem das transações
Data FinalData final de referência para listagem das transações

Atenção:

Note que os campos de Data, com marcação *, são de preenchimento obrigatório e não deverão ultrapassar uma diferença de 3 (três) meses.

Por fim, depois de definir os filtros desejados, basta clicar em Buscar. Você receberá uma lista com todas as recargas que satisfazem os critérios determinados. A tela é semelhante a seguinte:

"Listagem das recargas."

Nesta lista, estão presentes várias funcionalidades úteis ao lojista. Por exemplo, é possível ordenar as recargas por ordem numérica ou alfabética de algum dos parâmetros principais. Para isso, basta clicar em algum dos títulos de parâmetro – NSU RECARGA, STATUS TRANSAÇÃO, OPERADORA, LOJA, DATA CRIAÇÃO.

"Ordenação das recargas."

Clicar uma vez ordena as recargas em ordem ascendente. Clicar outra vez os ordena em ordem descendente. O padrão da listagem é organizar as recargas em ordem da mais recente para a menos recente.

Também é possível ver mais detalhes sobre a recarga. Para isso, basta clicar no ícone "icone detalhe", ao final da linha correspondente à recarga:

"Ver mais detalhes da recarga."

A tela apresentada será semelhante à abaixo:

"Detalhes da recarga."

É possível ocultar estes detalhes clicando no ícone "icone detalhe ocultar", ao final da linha correspondente ao armazenamento (no mesmo lugar onde foi clicado no ícone "icone detalhe").

Também é possível exibir os detalhes de todas as recargas da lista. Para isso, basta clicar no título de parâmetro DETALHES. Clicar uma vez exibe os detalhes de todos os armazenamentos da lista. Clicar de novo oculta todos os detalhes.

Atenção:

Note que a transação de recarga também traz consigo (dentro dos detalhes) informações sobre a transação de pagamento relacionada. Essa transação de pagamento aparece no Relatório de Transações também.

Uma funcionalidade a mais, presente no Relatório de Recargas, é a visualização de cupons, tanto da recarga quanto do pagamento efetuado.

Para visualizar o comprovante da recarga, basta clicar no status Confirmada, que está em negrito, na linha da recarga:

"Link para visualizar comprovante da recarga."

Só existe o comprovante de recarga em caso de status confirmado. O comprovante entrará em foco na tela, como é possível observar na figura abaixo:

"Comprovante da recarga."

Também é possível visualizar o comprovante do pagamento. Para isso, bastas clicar no status Confirmada da transação de pagamento:

"Link para visualizar comprovante do pagamento."

Só existe o comprovante de pagamento em caso de status confirmado. O comprovante entrará em foco na tela, como é possível observar abaixo:

"Comprovante do pagamento."

Relatório Analítico

O Relatório Analítico permite exportar transações de link de pagamento por grupo de lojas num determinado período de tempo.

Para acessar esse relatório, coloque o cursor do mouse sobre o link Relatórios do menu principal, e um sub-menu aparecerá. Depois, clique em Analítico conforme figura abaixo:

Link para o Relatório de Transações."

Com isso, uma tela semelhante a abaixo será apresentada:

"Filtros do Relatório de Transações."

Nesta tela, o lojista tem a opção de definir filtros que deseja aplicar antes de exportar o arquivo com as transações do período de tempo determinado. Existe também a opção de envio do arquivo (compactado) para o e-mail do usuário. A tabela a seguir descreve os filtros possíveis para este relatório:

FiltroDescrição
Data Inicial *Data inicial de referência para exportação
Data Final *Data final de referência para exportação
Buscar por grupo de lojasEssa opção deve ser marcada caso o usuário deseje exportar transações por grupo de lojas. Caso seja desmarcada, a exportação será feita por loja.
Enviar relatório por e-mailCaso essa opção seja habilitada, o e-SiTef enviará o relatório para o e-mail do usuário.
Grupo de LojasGrupo associado ao usuário com uma coleção de lojas.
Código LojaLoja associada ao usuário. Deixar em branco caso se deseje exportar transações de todas as lojas.

Atenção:

Note que os campos de Data, com marcação *, são de preenchimento obrigatório e não deverão ultrapassar uma diferença de 3 (três) meses.

Na opção de envio de email, o e-SiTef não se responsabiliza pelo não recebimento do arquivo se o e-mail do usuário estiver inválido ou desatualizado ou ainda, se o servidor de e-mail estiver fora do ar.

Por fim, depois de definir os filtros desejados, basta clicar em Exportar. Você receberá um arquivo CSV com todas as transações que satisfazem os critérios determinados.

Cancelamento de Transações

O Cancelamento de Transações é uma ferramenta que permite ao lojista cancelar transações já confirmadas.

Atenção:

Para visualizar o Cancelamento de Transações, é preciso que o usuário logado tenha o perfil que permite esta operação. Em caso de dúvidas, por favor consulte a equipe de suporte.

O prazo para cancelamento das transações através do Portal é de até seis meses, a depender das configurações da autorizadora.

Atenção:

Para o caso de pagamentos Gift é necessária que a opção de cancelamento esteja habilitada no SiTef.

Cancelamento de transações passo a passo

Para cancelar transações, coloque o cursor do mouse sobre o link Cancelamento do menu principal, e um sub-menu aparecerá. Depois, clique em Cancelamento de Transações:

"Link para cancelamento de transações."

A tela apresentada será semelhante à abaixo:

"Tela de cancelamento."

Nesta tela, é possível filtrar uma transação pelo seu código de pedido, desde que ela tenha sido realizada entre Data inicial e final. Caso o campo Código Pedido seja deixado em branco, todas as transações do dia serão mostradas após o usuário clicar no botão Buscar. A figura abaixo retrata este último caso.

"Lista de transações da data atual."

Para cancelar uma das transações, basta clicar em um dos seus respectivos dados: NSU E-SITEF, LOJA, VALOR, DATA PAGAMENTO, NSU ou CÓDIGO PEDIDO. Um exemplo é mostrado na figura seguinte:

"Escolha de transação a ser cancelada."

Após este passo, você será direcionado para a tela de cancelamento da transação. Ela é semelhante à apresentada no item seguinte.

Cancelamento de transações

Para o cancelamento de transações de pagamento realizadas via SiTef é apresentada a tela mostrada abaixo:

"Tela de cancelamento da transação."

Aqui, é possível conferir os dados da transação a ser cancelada. Clicar no botão VOLTAR retorna para a tela de cancelamento de transações. Caso essa seja a transação desejada, para cancelar basta clicar no botão Cancelar Pagamento destacado na figura abaixo:

"Cancelamento da transação."

Depois disso, o usuário precisa preencher o campo que apareceu com o número do cartão utilizado na transação e clicar em confirmar. Esta etapa está representada na figura abaixo:

"Número do cartão no cancelamento da transação."

O cancelamento será processado. Após o sucesso no cancelamento, será exibida uma tela com os dados da transação original, o comprovante de cancelamento e uma mensagem de sucesso. Essa tela é semelhante à da figura a seguir:

"Tela de sucesso de cancelamento da transação."

A mensagem de sucesso foi destacada acima. É possível imprimir esses dados clicando no botão IMPRIMIR, que abrirá uma nova página com o comprovante formatado para impressão. Clicar no botão VOLTAR retorna para a tela de cancelamento de transações.

Após um cancelamento bem-sucedido, será criada uma transação de estorno com o mesmo código de pedido da transação original. É possível conferir essa nova transação no Relatório de Transações.

Atenção:

Para cancelamento de transações utilizando a autorizadora PayPal, o procedimento apresenta particularidades como campos adicionais para preenchimento. Por favor, solicite o documento específico: Anexo D - PayPal.

Agendamentos de Recorrência

O e-SiTef permite o agendamento de pagamentos recorrentes (utilizado principalmente para assinatura de serviços, como revistas, academias, etc.), ou seja, a realização automática de pagamentos mensalmente.

No Portal do Lojista é possível cadastrar agendamentos, visualizar um relatório dos agendamentos cadastrados, assim como alterar seus dados.

Relatório de Agendamentos

O Relatório de Agendamentos permite visualizar todos os agendamentos registrados em suas lojas num determinado período de tempo. Vários filtros são aplicáveis na listagem dos agendamentos, além da funcionalidade de edição dos agendamentos também disponível para o lojista.

Para acessar esse relatório, coloque o cursor do mouse sobre o link Relatórios do menu principal, e um sub-menu aparecerá. Depois, clique em Relatório de Agendamentos conforme figura abaixo:

"Link para o Relatório de Agendamentos."

Assim uma tela semelhante à abaixo será apresentada:

"Filtros do Relatório de Agendamentos."

Nesta tela, o lojista tem a opção de definir os filtros que deseja aplicar antes de gerar a listagem dos agendamentos do período de tempo determinado. A tabela a seguir descreve os filtros possíveis para este relatório:

Tabela 1: Filtros do Relatório de Agendamentos.

FiltroDescrição
Data Inicial *Data inicial de referência para listagem dos agendamentos.
Data Final *Data final de referência para listagem dos agendamentos.
Tipo da DataDefine a qual data os filtros Data Inicial e Data Final se referem. Eles podem agir sobre a data de criação da transação de agendamento ou sobre a data de sua próxima execução.
NSU LojaNúmero sequencial da loja.
Código PedidoIdentificação do pedido realizado pela loja.
NSU AgendamentoNúmero único correspondente ao agendamento.
LojaLoja cadastrada para o lojista.
StatusStatus do agendamento. Para mais informações, consulte a Tabela 2.

A tabela abaixo descreve os status possíveis dos agendamentos:

Tabela 2: Status de agendamento

NomeDescrição
AtivoOs pagamentos recorrentes referentes a esse agendamento serão processados na data de próxima execução especificada.
ErroUm erro ocorreu ao tentar ativar o agendamento.
FinalizadoTodos os pagamentos recorrentes referentes a esse agendamento foram executados.
InativoO agendamento foi inativado pelo lojista, ou seja, os pagamentos recorrentes não serão processados.
DesfeitoO agendamento, que estava pendente, foi desfeito pelo lojista.
ExpiradoUm agendamento com status Novo excedeu o prazo para ativação. Este SID não pode mais ser utilizado.
InválidoAlgum parâmetro inválido foi enviado pelo lojista na tentativa de criação do agendamento.
NovoTransação de agendamento foi criada recentemente, porém nenhuma tentativa de ativação foi feita.
PendenteO agendamento está pendente de uma confirmação do lojista para que seja, de fato, ativado.

Por fim, depois de definir os filtros desejados, basta clicar em Buscar. Você receberá uma lista com todos os agendamentos que satisfazem os critérios determinados. A tela é semelhante à da figura a seguir:

"Listagem de agendamentos."

Nesta lista, estão presentes várias funcionalidades úteis ao lojista. Por exemplo, é possível ordenar os agendamentos por ordem numérica ou alfabética de algum dos parâmetros principais. Para isso, basta clicar em algum dos títulos de parâmetro – NSU AGENDAMENTO, STATUS, LOJA, CÓDIGO PEDIDO, VALOR, DATA CRIAÇÃO.

"Ordenação dos agendamentos."

Clicar uma vez ordena os agendamentos em ordem ascendente. Clicar outra vez os ordena em ordem descendente. O padrão da listagem é organizar os agendamentos em ordem do mais recente para o menos recente.

Também é possível ver mais detalhes sobre o agendamento. Para isso, basta clicar em v, ao final da linha correspondente ao agendamento:

"Ver mais detalhes do agendamento."

Isto abrirá um espaço com mais detalhes sobre o agendamento:

"Detalhes do agendamento."

É possível ocultar estes detalhes clicando em ^, ao final da linha correspondente ao agendamento (no mesmo lugar onde foi clicado em v).

Também é possível exibir os detalhes de todos os agendamentos da lista. Para isso, basta clicar no título de parâmetro DETALHES. Clicar uma vez exibe os detalhes de todos os agendamentos da lista. Clicar de novo oculta todos os detalhes.

A tabela abaixo descreve os campos listados:

Tabela 3: Descrição dos campos listados no Relatório de Agendamentos

NomeDescrição
NSU AgendamentoIdentificador da transação de agendamento.
StatusStatus da transação de agendamento. Para mais informações, consulte a Tabela 2.
LojaNome da loja que criou o agendamento.
Código PedidoCódigo de pedido definido pela loja.
ValorValor monetário a ser utilizado nos pagamentos recorrentes.
Data CriaçãoData em que a transação de agendamento foi criada.
Data InicialPrimeira data de execução do agendamento.
Última ExecuçãoData da última vez que esse agendamento foi executado.
Próxima ExecuçãoData da próxima vez em que esse agendamento será executado.
ExecuçõesEste campo contém duas informações: o número de vezes que esse agendamento foi executado (antes da barra) e o total de execuções que o agendamento deve ter para ser considerado como finalizado.
Intervalo (meses)Frequência de execução do agendamento.
NSU LojaNúmero sequencial da loja.
AutorizadoraAutorizadora a ser utilizada nos pagamentos recorrentes.
ParcelasNúmero de parcelas a ser utilizado nos pagamentos recorrentes.
FinanciamentoFinanciamento a ser utilizado nos pagamentos recorrentes (loja ou administradora).
Soft DescriptorTexto adicional que será apresentado junto ao nome do estabelecimento na fatura do cartão de crédito do comprador. Saiba mais
Exibe “parcela/plano” (nn/nn)?Define se o texto do soft descriptor será procedido do campo Execuções.
NSU Últimos PagamentosIdentificadores dos últimos seis pagamentos recorrentes.

Também é possível exportar os dados listados para um arquivo tipo CSV clicando no link EXPORTAR ARQUIVO CSV:

"Link de exportação para CSV."

Edição de agendamentos

O lojista pode alterar alguns dados de agendamentos com status Ativo ou Inativo como o valor, o cartão ou o status. Para isso, no relatório de agendamentos, encontre o agendamento desejado, clique em ver para visualizar seus detalhes e em seguida, clique no link em frente ao texto Editar, conforme a imagem abaixo:

"Acessando a edição de agendamentos."

Ao acessar o link descrito acima, o lojista será redirecionado a uma página semelhante à apresentada na imagem abaixo:

"Tela de edição de agendamentos."

Esta tela contém todos os campos passíveis de edição e seus valores atuais. Para realizar alterações, clique no lapis do campo desejado, como na figura abaixo:

"Clicando no campo desejado para edição."

Ao realizar o clique, o campo se tornará aberto para edição, como na imagem abaixo:

"Campo aberto para edição."

A tabela abaixo descreve os campos editáveis:

Tabela 4: Campos da edição de agendamentos

CampoDescrição
ValorValor dos pagamentos recorrentes.
Próxima ExecuçãoData de execução do próximo pagamento recorrente.
StatusEste campo dá a possibilidade de ativar ou inativar o agendamento. Para mais informações, consulte a Tabela 2.
Soft DescriptorTexto adicional que será apresentado junto ao nome do estabelecimento na fatura do cartão de crédito do comprador. Saiba mais
Exibir “parcela/plano”
Para agendamentos por tempo finito, acrescenta no final do campo Soft Descriptor o número de execuções/total de execuções (exemplo: Assinatura 3/12).
Número do cartãoNúmero do cartão do comprador.
Data de validadeData de validade do cartão do comprador.

Após realizar todas as alterações desejadas, o lojista deve clicar no botão Salvar. Com isso, ele será redirecionado de volta ao relatório de agendamentos, que agora terá uma mensagem de sucesso acima dos filtros, como na figura abaixo:

"Edição realizada com sucesso."

Cadastro de Agendamentos

O Cadastro de Agendamentos é uma ferramenta que permite que o lojista agende pagamentos recorrentes para sua loja no e-SiTef.

Atenção

Para visualizar o Cadastro de Agendamentos, é preciso que o usuário tenha o perfil que permita esta operação. Em caso de dúvidas, por favor, consulte a equipe de suporte.

Para acessar esta funcionalidade, basta clicar no link Cadastro de Agendamentos, conforme apresentado a seguir:

"Acessando o Cadastro de Agendamentos."

Caso o usuário do lojista tenha múltiplas lojas associadas, ele será redirecionado a uma tela em que deverá selecionar a loja desejada, como na figura abaixo:

"Seleção de loja para cadastro de agendamentos."

Após selecionar a loja, o lojista será encaminhado para a página de cadastro de agendamentos, conforme apresentado a seguir:

"Formulário de cadastro de agendamento."

A tabela abaixo descreve os campos do formulário de cadastro de agendamento:

Tabela 5: Campos de cadastro de agendamento

CampoDescrição
Autorizadora *Bandeira do cartão do comprador.
Valor *Valor a ser cobrados pelos pagamentos recorrentes.
Data Inicial *Data da execução do primeiro pagamento agendado. No mínimo 2 dias a partir da data atual. Os dias 29, 30 e 31 não são aceitos neste campo.
Número de ExecuçõesNúmero de pagamentos a serem executados pelo agendamento. Caso esse campo não seja preenchido, o agendamento será executado por tempo indeterminado.
Documento (CPF / RG) *Documento do comprador.
Código do PedidoCódigo do pedido gerado pela loja.
NSU LojaNúmero sequencial único gerado pela loja para facilitar a identificação do agendamento.
Soft DescriptorTexto que será apresentado na fatura do cartão.
Exibir “parcela/plano”
Para agendamentos por tempo finito, acrescenta no final do campo Soft Descriptor o número de execuções/total de execuções (exemplo: Assinatura 3/12).
Número do cartão *Número do cartão do comprador.
Data de validade *Data de validade do cartão do comprador.

Campos acompanhados de * são obrigatórios.

Após preencher o formulário e clicar no botão ENVIAR, o lojista será redirecionado para uma página de sucesso, contendo as informações de seu agendamento, como na imagem abaixo:

"Agendamento cadastrado com sucesso."

Execução dos pagamentos agendados

Diariamente, o e-SiTef processará os pagamentos agendados do dia em questão e atualizará dados dos agendamentos executados, como o número de execuções corrente. Caso o agendamento já tenha sido executado pelo número de vezes desejado pelo lojista, ele terá seu status alterado para Finalizado e será desconsiderado em futuros processamentos, pois somente agendamentos com status Ativo serão executados.

O número corrente de execuções de um agendamento só será incrementado em pagamentos confirmados ou negados. Em caso de transações negadas, o e-SiTef não os reprocessará.

Configurar Análise de Risco

A opção de Configurar Análise de Risco é uma ferramenta que permite ao lojista definir os parâmetros de decisão sobre uma transação de análise de risco.

Atenção:

Para visualizar a opção de Configurar Análise de Risco, é preciso que a equipe de operação libere a permissão necessária.

Já existe uma documentação sobre esta ferramenta. Por favor, solicite o documento Integracao com solucoes Antifraude.

Configurar Ordenação de Autorizadoras

O Portal do Lojista também fornece a funcionalidade de Ordenação de Autorizadoras, que é mostrada ao clicar-se em Configurar Autorizadoras, conforme apresentado a seguir:

"Funcionalidade de Ordenação de Autorizadoras."

Uma vez que o usuário clique em Ordenar Autorizadoras são listadas as lojas (figura a seguir) que estão habilitadas com essa funcionalidade, caso nenhuma loja esteja habilitada e o usuário deseje utilizar a funcionalidade, entre em contato com suporte informando as lojas em que a ordenação será ativada:

"Listagem de lojas com a ordenação habilitada."

Após selecionar-se uma loja, a tela de ordenação é apresentada, como na figura abaixo. A ordenação é realizada através de movimentos de clicar e arrastar que podem ser realizados nos Tipos de autorizadoras (lado esquerdo da tela) e nas Autorizadoras (lado direito da tela).

"Tela para ordenação de autorizadoras."

Após escolher e clicar em Salvar. Uma mensagem de aviso de sucesso será exibido. "Tela de resultado de ordenação de autorizadoras."

Administração de Usuários

Caso seu usuário tenha as permissões necessárias (fornecidas pela equipe de operação da Software Express), é possível cadastrar, listar e alterar usuários.

Cadastro de Usuários

Para acessar a tela de cadastro de novos usuários, siga os passos abaixo:

  1. Clique em Cadastros:

"Menu de Cadastros."

  1. No submenu que aparecer, clique em Usuários:

"Menu de Cadastro de Usuários."

  1. No novo submenu, clique em Novo Usuário:

"Menu de cadastro de novo usuário."

Com isso, a seguinte página será exibida:

"Tela de cadastro de usuários."

Todos os campos deste formulário são obrigatórios. Abaixo está a descrição de cada um deles:

  • Login: nome que será utilizado para acesso ao Portal do Lojista. Esse login é acrescido de um prefixo especifico para o lojista que efetua o cadastro.
  • Nome: nome do usuário.
  • Email: endereço de e-mail do usuário.
  • Senha: senha do usuário a ser utilizada para acesso ao Portal do Lojista. Ao digitar a senha, a página exibirá logo abaixo a sua força, ou seja, o quão segura é a senha.
  • Confirme a senha: digite a senha do usuário novamente. Este procedimento é importante para evitar erros no cadastro da senha.

Atenção:

O prefixo de login é cadastrado pela Software Express. Caso deseje alterá-lo, é necessário entrar em contato com a equipe de ativação. A modificação do prefixo não alterará os usuários já existentes no Portal do Lojista.

A figura abaixo ilustra o preenchimento dos campos listados até agora, assim como a indicação de força de senha:

"Cadastro do usuário parcialmente preenchido."

O campo Tipo de Acesso conta com duas opções:

  • Portal do Lojista: acesso a diversos relatórios, cadastro de agendamentos, configuração de autorizadoras, entre outras funcionalidades.
  • POS Virtual: realização de pagamentos, recargas e cancelamentos, acesso a relatórios de transações e configurações básicas dessas operações.

Independente da opção marcada, a página exibirá várias opções que representam as permissões de acesso de cada usuário.

"Tipo de acesso Portal do Lojista."

Abaixo está descrito quais funcionalidades podem ser acessadas ao marcar as opções disponíveis para o tipo de acesso Portal do Lojista:

  • Administrador: administração de usuários (cadastro, listagem e edição).
  • Cadastro de Agendamentos: cadastro de agendamentos de recorrência.
  • Cancelamento de Transações: cancelamento/estorno de transações.
  • Configurador - Análise de Risco: configuração de transações com análise de risco.
  • Gerência de Lojas: configuração e ordenação de autorizadoras das lojas.
  • Relatório de Agendamentos: relatório de transações de agendamento de recorrência.
  • Relatório de Recargas: relatório de transações de recarga.
  • Relatório de Transações: relatório de transações e gráficos de resumo diário.

Os perfis Relatório de Transações e Gerência de Lojas não podem ser atribuídos simultaneamente a um mesmo usuário.

"Tipo de acesso POS Virtual."

Abaixo está descrito quais funcionalidades podem ser acessadas ao marcar as opções disponíveis para o tipo de acesso POS Virtual:

  • Administrador do POS Virtual: configuração de transações feitas no Portal do Lojista.
  • Cancelamento de Transações via POS Virtual: cancelamento/estorno de transações.
  • Gerente do POS Virtual: visualização do relatório de resumo diário.
  • POS Virtual: realização de transações de pagamento e visualização do relatório de transações.
  • Recarga POS Virtual: realização de transações de recarga.

Além dos campos apresentados até agora, também é necessário selecionar uma loja para ser associada ao usuário em questão.

Após preencher todos os campos e clicar em ENVIAR, você será encaminhado para a página de edição do usuário que acabou de cadastrar. No canto superior esquerdo da tela, uma mensagem de sucesso será apresentada.

"Usuário cadastrado com sucesso."

Listagem de Usuários

Para acessar a tela de listagem de usuários, siga os passos abaixo:

  1. Clique em Cadastros:

"Menu de Cadastros."

  1. No submenu que aparecer, clique em Usuários:

"Menu de Cadastro de Usuários."

Com isso, a seguinte página será exibida:

"Página de listagem de usuários."

Ao clicar em Buscar, a listagem dos usuários propriamente dita será realizada:

"Lista de usuários."

Para cada página da listagem são exibidos no máximo 20 usuários. Para navegar entre as páginas, basta clicar nas setas abaixo da tabela.

É possível ordenar os resultados obtidos clicando no cabeçalho do campo desejado.

"Ordenação da lista de usuários."

Os resultados podem ser filtrados por Login, nome e e-mail. Para isso, basta preencher os campos desejados e clicar em Buscar.

"Filtrando a lista de usuários."

Ao clicar no login de um usuário, o e-SiTef apresentará a página para edição deste usuário.

"Página de edição do usuário."

Edição de Usuários

Conforme visto nos capítulos anteriores, é possível acessar a tela de edição de usuário em duas situações:

  • Logo após cadastrar o usuário
  • Na tela de listagem de usuários, clicando no login do usuário

O único diferencial da edição para o cadastro é a possibilidade de adicionar ou remover lojas, disponível acessando o link Editar Lojas.

"Link para alterar as lojas associadas."

Com isso, a seguinte página será exibida:

"Página de edição de lojas."

Para adicionar uma loja, basta selecioná-la no campo Lojas Disponíveis e clicar em ADICIONAR. Com isso, uma janela de confirmação será apresentada:

"Confirmação da adição da loja."

Ao confirmar a adição, a operação será realizada, e a página exibirá a listagem de lojas novamente, porém agora contendo a nova loja.

"Loja adicionada."

Não é permitida a adição de lojas repetidas.

É possível remover uma loja clicando no link Remover em sua listagem.

"Link de remoção de loja."

Com isso, uma janela de confirmação será apresentada:

"Confirmação da remoção da loja."

Após confirmar a remoção, a operação será realizada de fato, e a listagem de lojas será exibida novamente, porém sem a loja removida.

"Loja removida."

Só é permitido remover lojas do usuário caso ele tenha pelo menos duas lojas.

Geração de link de pagamento

A Geração de link de pagamento permite que o lojista gere links de pagamento ou links de pagamento com agendamento que podem ser compartilhados com o comprador a fim de se realizar transações de pagamento ou pagamento com agendamento mesmo quando o lojista não possui um website próprio.

Para acessar esta funcionalidade, coloque o cursor do mouse sobre o link Pagamento do menu principal, e um sub-menu aparecerá. Depois, clique em Gerar link, conforme mostrado na figura a seguir:

"Link para o Gerar link."

Página de seleção de lojas

Caso o lojista possua mais de uma loja cadastrada, a primeira tela solicitará que o lojista selecione uma delas:

"Tela de seleção de loja cadastrada."

Atenção:

Se o lojista possui apenas uma loja cadastrada, a tela acima não será apresentada.

Lojas sem permissão de geração de link de pagamento não serão listadas.

Em seguida, deve-se clicar na loja e será apresentado um formulário de preenchimento dos dados do pagamento.

Formulário para geração do link

O formulário para a geração de links tem a aparência abaixo.

"Formulário de pagamento."

Os campos de preenchimento obrigatório são marcados por *.

Atenção:

O campo Parcelamento depende das configurações de autorizadoras para a loja. Devido a isso, ele não aparece enquanto o campo Autorizadora não for preenchido, conforme exemplificado nas figuras abaixo.

Parcelamento quando nenhuma autorizadora foi selecionada

"Campo Parcelamento desabilitado."

Parcelamento quando alguma autorizadora foi selecionada

"Campo Parcelamento habilitado."


Opcionalmente, o lojista pode solicitar fazer um pagamento com agendamento, ou pagamentos recorrentes. Neste caso, deve marcar o checkbox Habilitar agendamento.

"Checkbox Habilitar agendamento."


Note que serão apresentados mais campos para preenchimento e, da mesma forma que os campos do pagamento, os campos obrigatórios de agendamento serão marcados por *.

"Formulário de pagamento com agendamento."


Abaixo, seguem as tabelas com a descrição de todos os campos que podem ser preenchidos no formulário.

Campos para a geração de link de pagamento

CampoDescriçãoFormato
LojaNome Fantasia da loja selecionada pelo lojista.-
Código da LojaCódigo de cadastro no e-SiTef da loja selecionada pelo lojista.-
Valor *Valor do pagamento< 12 N
Código do pedidoCódigo do pedido para ser exibido ao comprador, definido pelo lojista. É aconselhável que seja diferente para cada pedido a fim de facilitar a rastreabilidade. Se a integração da Loja com as redes adquirentes (Cielo, Redecard, etc) for com e-SiTef e SiTef, o campo orderId - que tem o tamanho máximo de 20 caracteres, será reduzido a 12 caracteres, devido a uma restrição do SiTef. Essa redução será realizada mantendo os caracteres da esquerda para direita (ex.: se um código de pedido inserido for 12345678901234567890 no e-SiTef, no SiTef ele será apenas 123456789012).< 20 AN
NSU lojaNúmero sequencial único enviado pela loja na criação da transação.< 12 N
AutorizadoraAutorizadora no e-SiTef configurada no cadastro da loja Saiba mais.-
ParcelamentoCombinação de número de parcelas e tipo de financiamento (com ou sem juros). As opções são apresentadas de acordo com a configuração de parcelas para a autorizadora selecionada.-
Habilitar agendamentoMarque esta checkbox para gerar um link de pagamento com agendamento. Quando esta opção está marcada, o formulário de agendamento é mostrado-

Atenção:

Os campos marcados com * são obrigatórios.


Campos extras para a geração de link de pagamento com agendamento

CampoDescriçãoFormato
Valor *Valor dos pagamentos agendados.< 12 N
Data Inicial *Data de execução do primeiro pagamento agendado. Essa data deve ter pelo menos dois dias à frente do dia atual e dias 29, 30 e 31 nunca são permitidos.DD/MM/AAAA (Exemplo: 20/04/2021)
Documento (CPF / RG) *Identificação do comprador para armazenamento de cartão. Esta identificação deve ser única para cada usuário da loja. Mas atenção, essa garantia de unicidade é de total responsabilidade da loja, o e-SiTef não realizará nenhuma validação.< 20 N
Número de ExecuçõesNúmero de pagamentos agendados a serem executados. Caso esse campo não seja enviado, agendamento ficará ativo infinitamente.< 3 N
Soft DescriptorTexto adicional que será apresentado junto ao nome do estabelecimento na fatura do cartão de crédito do comprador. Saiba mais< 30 AN
Exibir "parcela/plano" (nn/nn)Para agendamentos por tempo finito, enviar esse campo com valor true caso se deseje acrescentar ao final do campo soft_descriptor o número de execuções/total de execuções (exemplo: Assinatura 3/12).-

Atenção:

Os campos marcados com * são obrigatórios quando o campo Habilitar agendamento estiver marcado.


Página de Dados da geração do link

A página de Dados da geração do link apresenta o link gerado e todas informações relacionadas a ele.

"Tela de link gerado com sucesso."

Para copiar o link, basta clicar no botão Copiar link.

"Botão Copiar link."

Atenção:

O link gerado é de uso único e tem validade de 48 horas.

A loja também pode ter um tempo de expiração customizado, respeitando o limite de 48 horas. Para isso, basta solicitar essa configuração para as nossas equipes de suporte e produção.


Além dos dados relacionados ao preenchimento pelo lojista, esta página também mostra o NSU Agendamento, que é o campo que identifica o agendamento e que pode ser usado para fins de consulta no Relatório de Agendamentos Saiba mais.

"Campo NSU agendamento."

"Campo NSU agendamento."

Análise de risco

Os pagamentos com link gerado pelo portal do lojista podem utilizar a anállise de risco CyberSource e Konduto. Para que seja possível agregar a análise de risco ao pagamento por link gerado pelo portal do lojista, solicite ao nosso suporte para que possamos configurar adequadamente a sua loja.

Envio de dados de carrinho

Caso a loja esteja habilitada para envio de dados de carrinho (entre em contato com nossas equipes de Suporte e Produção se desejar essa funcionalidade), o formulário de geração de link exibirá o botão "Adicionar Produto":

"Adicionar Produto"

Ao clicar nele, os campos para preenchimento dos dados do produto serão disponibilizados:

"Carrinho"

Essas informações serão repassadas para a instituição de análise de risco. Atualmente, não exibimos dados de carrinho em nossa tela de pagamento.

POS Virtual

Para atender uma necessidade do lojista que pretende realizar pagamentos por meio de uma interface objetiva, foi elaborado o Pagamento via POS Virtual. De modo similar a um POS (Point Of Sale) esta interface não possui integração com um aplicativo de e-commerce, logo não totaliza ou consolida suas vendas com outros sistemas da loja. Se trata de um meio para realização de uma venda, mesmo não possuído um aplicativo especifico desenvolvido.

É uma solução diferenciada que utiliza a plataforma e-SiTef com foco em pequenos call-centers.

Outro objetivo seria a contingência para a realização de transações de pagamento quando o site integrado ao e-SiTef vier a falhar ou estiver indisponível.

Todas as chamadas realizadas serão respondidas de forma síncrona exceto o aviso de status que será realizado pelo e-SiTef de forma assíncrona.

Roteamentos suportados

O POS Virtual apenas pode ser utilizados com roteamentos via SiTef. Isso quer dizer que roteamentos como Cielo e-Commerce, e-Rede, Getnet WS e outros de comunicação com plataforma de e-commerces não podem ser utilizados nesta interface.

Para configurar os roteamentos e autorizadoras, consulte página de Configuração de Autorizadoras.

Configurando o POS Virtual

Para configurar o POS Virtual de uma loja, consulte a página sobre Configuração do POS Virtual.

Realizando pagamentos via POS Virtual

Para realizar um pagamento via POS Virtual, consulte a página sobre Pagamento via POS Virtual.

Configuração do POS Virtual

Antes de iniciar operações no POS Virtual, o lojista deve, através do Portal do Lojista do e-SiTef configurar as Autorizadoras e seus roteamentos para serem utilizados no POS Virtual.

A tela de configuração de POS Virtual permite que o lojista modifique os parâmetros a serem exibidos e validados no pagamento via POS Virtual.

Para acessar esta funcionalidade, clique no menu POS VIRTUAL e em seguida no submenu Configurar POS Virtual conforme mostrado na figura a seguir:

"Link para a configuração de POS Virtual."

Atenção:

O usuário deve ter o perfil Administrador do POS Virtual para acessar a funcionalidade. Para mais informações, veja como administrar usuários.

Página de seleção de lojas

Caso o lojista possua mais de uma loja cadastrada, a primeira tela solicitará a seleção de uma delas:

"Tela de seleção de loja cadastrada."

Atenção:

Se o lojista possui apenas uma loja cadastrada, a tela acima não será apresentada.

Tela de configuração do POS Virtual

Abaixo, a tela de configuração de POS Virtual:

"Tela de configuração de POS Virtual."

Abaixo, segue a tabela com a descrição das configurações disponíveis:

Configurações disponíveis

CampoDescriçãoFormato
Valor máximo de compraValor máximo de compra que será permitido em um pagamento via POS Virtual.< 12 N
Exibir NSU LojaSe selecionado, exibe na primeira etapa do pagamento via POS Virtual o campo de coleta de NSU Loja.-
Exibir documentoSe selecionado, exibe na primeira etapa do pagamento via POS Virtual o campo de coleta de documento do comprador.-
Bloquear ParcelamentoSe selecionado, não irá permitir que o usuário selecione as parcelas e automaticamente efetuará o pagamento à vista.-
Documento ObrigatórioSe selecionado, torna o preenchimento obrigatório do documento na primeira etapa do Pagamento via POS Virtual. Será apenas editável se a opção Exibir documento estiver habilitada.-
Código de Pedido ObrigatórioSe selecionado, torna o preenchimento obrigatório do Código de Pedido na primeira etapa do Pagamento via POS Virtual.-

Para realizar um pagamento via POS Virtual, consulte a página sobre Pagamento via POS Virtual.

Pagamento via POS Virtual

Para acessar funcionalidade de pagamento via POS Virtual, clique no menu POS VIRTUAL e em seguida no submenu Efetuar pagamento conforme mostrado na figura a seguir:

"Link para a configuração de POS Virtual."

Atenção:

O usuário deve ter o perfil POS Virtual para acessar a funcionalidade. Para mais informações, veja como administrar usuários.

Página de seleção de lojas

Caso o lojista possua mais de uma loja cadastrada, a primeira tela solicitará a seleção de uma delas:

"Tela de seleção de loja cadastrada."

Atenção:

Se o lojista possui apenas uma loja cadastrada, a tela acima não será apresentada.

Fluxo de pagamento via POS Virtual

Tela Inicial

Abaixo, a página inicial de pagamento via POS Virtual:

"Tela inicial de pagamento via POS Virtual."

Descrição dos campos:

CampoDescriçãoFormato
Valor da CompraValor do pagamento. O valor máximo será limitado de acordo com a configuração.< 10 N
Código do PedidoCódigo de pedido da compra. Será obrigatório ou não de acordo com a configuração realizada.-
NSU LojaNSU (Número Sequencial Único) da loja. Será coletado ou não de acordo com a configuração realizada.-
DocumentoDocumento do pagador. Será coletado/obrigatório ou não de acordo com a configuração realizada.< 20 N
Número do CartãoNúmero do cartão do pagador. Obrigatório.> 13 N e < 19 N
ValidadeValidade do cartão. Obrigatório.MM/AA

Com todos os campos preenchidos corretamente, clique no botão Prosseguir. A consulta do cartão será realizada.

Consulta do cartão

Nesse momento será realizada uma consulta bin para identificar a autorizadora referente ao número do cartão enviado. Caso exista mais de uma autorizadora identificada, será apresentada a opção de Seleção de Autorizadora, como mostrado na figura seguinte:

"Tela de escolha de autorizadora."

Caso apenas uma autorizadora seja identificada pela consulta do número do cartão, a tela anterior não é apresentada, passando para a tela de Inserção de Dados Extras.

Após selecionar a autorizadora desejada (se necessário), clique no botão Prosseguir.

Inserção de Dados Extras

Conforme a necessidade, serão solicitados alguns dos seguintes dados: Código de Segurança, Documento e Data de Emissão do cartão. No exemplo abaixo, apenas o o código de segurança foi requisitado:

"Tela de dados extra."

É possível que nenhuma informação extra seja solicitada. Neste caso, será solicitada diretamente a escolha de parcelas do pagamento.

Escolha de parcelamento

O usuário deve escolher a forma de parcelamento e clicar em Prosseguir. Após a escolha, será exibida uma mensagem para confirmação dos dados informados.

Abaixo, a tela de esolha de parcelas:

"Tela de escolha de parcelas."

Atenção:

Esse passo não será exibido caso o POS Virtual da loja esteja configurado para bloquear parcelamentos.

Mensagem de confirmação

Após preencher todos os dados dos passos anteriores, uma mensagem para conferência de dados será exibida. Caso esteja tudo correto, clique no botão Efetuar Pagamento. "Tela de finalização."

Tela de cupom

Caso o pagamento seja efetuado com sucesso, a seguinte tela será apresentada:

"Tela de finalização."

Na tela final você poderá:

  • Efetuar um novo pagamento com a mesma loja.
  • Efetuar um novo pagamento com outra loja.
  • Imprimir o cupom.

Relatório de Transações POS Virtual

Para visualizar o relatório de transações efetuadas, visite a página sobre Relatório de Transações POS.

Cancelamento de Transações POS Virtual

Para mais informações sobre cancelamento de transações via POS Virtual, visite a página sobre Cancelamento de Transações.

Relatório de Transações POS

Para acessar funcionalidade de relatórios de transações POS, clique no menu RELATÓRIOS e em seguida no submenu Transações POS conforme mostrado na figura a seguir:

"Link para a configuração de POS Virtual."

Atenção:

O usuário deve ter o perfil POS Virtual ou Gerente de POS Virtual para acessar a funcionalidade.

Tela de relatório de Transações POS

Abaixo, a tela inicial do relatório de Transações POS:

"Tela inicial de relatório de transações POS."

Preencha os filtros de busca desejados e, clique no botão Buscar. Caso sejam necessários outros filtros, clique no ícone "icone busca" ao lado do botão Buscar:

"Mais filtros."

Resultado da busca

Após clicar em Buscar, os resultados serão apresetados como na figura abaixo:

"Resultados."

Para exibir mais detalhes sobre uma transação, clique no ícone "icone detalhe" ao lado direito da transação:

"Resultados."

Visualização do cupom

É possível visualizar o cupom de uma transação confirmada clicando no link "visualizar cupom" da transação. Um popup com o cupom será exibido como na figura abaixo:

"Resultados."

Gráficos de transações por Status

Esta funcionalidade permite a apresentação de gráficos com a distribuição de transações conforme seu status.

Atenção:

O usuário deve ter o perfil Gerente de POS Virtual para acessar a funcionalidade.

Para acessar a funcionalidade, clique o link Gerar gráfico por Status que será exibido após uma busca:

"Resultados."

Gráficos de transações por Autorizadora

Esta funcionalidade permite a apresentação de gráficos com a distribuição de transações conforme a Autorizadora (Bandeira + Roteamento) escolhida.

Atenção:

O usuário deve ter o perfil Gerente de POS Virtual para acessar a funcionalidade.

Para acessar a funcionalidade, clique o link Gerar gráfico por Autorizadora que será exibido após uma busca:

"Resultados."

Exportação de arquivo .CSV

Esta funcionalidade permite que o usuário faça o download do relatório em formato csv (comma separated value).

Atenção:

O usuário deve ter o perfil Gerente de POS Virtual para acessar a funcionalidade.

O arquivo irá contér as seguintes informações sobre a transação:

CampoDescrição
NSUNSU (número sequencial único) no e-SiTef.
TIPOTipo da transação.
STATUSStatus da transação no e-SiTef.
CODIGOLOJACódigo da loja (merchant id).
NOMELOJANome fantasia da loja.
PEDIDOCódigo do pedido.
VALORValor da transação (centavos).
DATACRIACAOData de criação da transação no e-SiTef.
DATAEFETIVACAOData de efetivação da transação no e-SiTef.
DATAEFETIVACAOOSITEFData de efetivação no SiTef ou adquirente direto.
IDAUTORIZADORACódigo da autorizadora (authorizer id) no e-SiTef.
NOMEAUTORIZADORANome da autorizadora no e-SiTef.
TIPOPAGAMENTORoteamento da transação.
RESPOSTASITEFCódigo de Resposta do SiTef ou adquirente direto.
MENSAGEMSITEFMensagem de Resposta do SiTef ou adquirente direto.
NSUSITEFNSU no SiTef.
NSUHOSTNSU no Host.
NSULOJANSU da Loja.
AUTORIZACAOCódigo de Autorização.
PARCELASParcelas da transação.
FINANCIAMENTOTipo de financiamento. 3 – parcelado com juros 4 – parcelado sem juros
TIDTID (Transaction ID) – identifica a transação na adquirente em integrações diretas.
ECIECI (Electronic Commerce Indicator) – indica o nível de segurança da transação eletrônica em relação a autenticação de portador do cartão.
ESTILOEstilo da Transação. V – POS Virtual
AVISOSTentativas de Aviso a Loja sobre status de transações HTML.
FALHASTentativas com Falha de Aviso a Loja sobre status de transações HTML.
IPCLIENTEIP do Usuário Final.
DOCUMENTODocumento / customerID.
USUARIOLogin do usuário que efetuou a transação no POS Virtual.
MOEDAMoeda registrada na transação, seguindo a ISO 4217. Em muitos casos, tem apenas valor de apresentação em relatórios, dependendo da rede adquirente. Ex: Para o SiTef esta informação não é repassada.

Atenção:

Novos campos podem ser adicionados a estes sem aviso prévio. Caso este arquivo seja processado por algum sistema, este deve estar sempre preparado para a inclusão de novos campos.

Recarga POS Virtual

A Recarga de celular via POS Virtual (Portal do Lojista) permite que operadores associados a uma loja efetuem recarga de créditos em celulares para clientes finais. Esta funcionalidade requer que, além do log in inicial no Portal do Lojista do e-SiTef, seja feita uma segunda etapa de autenticação do usuário, antes que a transação de recarga seja confirmada. Isto é feito para garantir a autenticidade da recarga, uma vez que esta não pode ser estornada.

Para mais informações sobre como habilitar essa autenticação e conseguir efetuar Recarga de Celular via POS Virtual, clique aqui.

Atenção:

O usuário deve ter o perfil Recarga POS Virtual para acessar a funcionalidade. Para mais informações, veja como administrar usuários.

Realizando recargas via POS Virtual

Para realizar uma recarga via POS Virtual, consulte a página sobre Recargas via POS Virtual.

Relatório de recargas via POS Virtual

Para visualizar as recargas realizadas via POS Virtual, consulte a página sobre Relatório de recarga via POS Virtual.

Recarga via POS Virtual

Para acessar a funcionalidade de recarga via POS Virtual, clique no menu RECARGA POS e em seguida no submenu Efetuar Recarga de Celular conforme mostrado na figura a seguir:

"Link para recarga via POS Virtual."

Atenção:

O usuário deve ter o perfil Recarga POS Virtual para acessar a funcionalidade. Para mais informações, veja como administrar usuários.

Página de seleção de lojas

Caso o lojista possua mais de uma loja cadastrada, a primeira tela solicitará a seleção de uma delas:

"Tela de seleção de loja cadastrada."

Atenção:

Se o lojista possui apenas uma loja cadastrada, a tela acima não será apresentada.

Fluxo de recarga via POS Virtual

Autenticação em duas etapas

Para realizar recargas pelo Portal do Lojista, uma segunda etapa de autenticação é necessária para garantir a segurança durante as transações.

IMPORTANTE: Essa autenticação é imprescindível para realizar operações de recarga via POS Virtual. Para mais informações sobre essa autenticação e como habilitá-la, clique aqui.

Recarga via POS Virtual

Dados da recarga

Na tela inicial de recarga via POS, digite as informações do telefone celular do cliente:

"Recarga via POS Virtual passo 4."

CampoDescriçãoFormato
Código do PedidoCódigo do pedido da recarga. Opcional.< 12 N
OperadoraOperadora do número de celular a ser recarregado.-
Número do CelularNúmero do celular a ser recarregado.< 11 N
Confirme o CelularConfirmação do número de celular a ser recarregado.< 11 N

Após preencher todos os dados corretamente, clique em Confirmar Número. Uma consulta do número será efetuada e os valores de recarga serão apresentados.

Os detalhes da recarga serão apresentados na parte inferior da tela.

Valores fixos

Em caso de valores fixos, selecione o valor desejado e clique em Seguir para Autenticação:

"Recarga via POS Virtual passo 5.1"

Valores variáveis

Em caso de valores variáveis selecione um intervalo de valores, digite o valor desejado ao lado (o valor deve estar dentro dos limites da opção selecionada) e clique em Seguir para Autenticação:

"Recarga via POS Virtual passo 5.2"

Dados de Autenticação

Ao confirmar os dados da recarga, será necessario utilizar o Google Authenticator para validar a recarga.

Abra o aplicativo e digite o token de 6 dígitos na tela abaixo:

"Recarga via POS Virtual passo 6"

Após inserir o token, clique em Confirmar Recarga.

Atenção:

Caso o token seja digitado 3 vezes de forma incorreta, a recarga será invalidada e o processo deve ser reiniciado.

Tela de cupom

Caso a recarga seja efetuado com sucesso, a seguinte tela será apresentada:

"Recarga via POS Virtual passo 7"

Na tela final você poderá:

  • Efetuar uma nova recarga com a mesma loja.
  • Efetuar uma nova recarga com outra loja.
  • Imprimir o cupom.

Relatório de Recargas via POS Virtual

Para visualizar o relatório de recargas efetuadas, visite a página sobre Relatório de Recarga via POS.

Cancelamento de Transações POS Virtual

Não existe a possibilidade de cancelamento de recargas de celular. Em caso de dúvidas, entre em contato com o suporte.

Retentativa

Ao realizar uma transação de pagamento, determinadas respostas de "transação negada" das adquirentes sinalizam que é possível realizar uma nova tentativa sem comprometer o score da loja, havendo assim uma nova chance para converter a transação em bem-sucedida.

A retentativa de transação no e-SiTef é um procedimento automático que identifica as respostas das adquirentes que são adequadas para retentativas e atuam de acordo com um fluxo que foi configurado para sua loja. Se ao final do fluxo de retentativa não for possível converter em uma transação bem-sucedida, a transação se manterá com a última resposta da adquirente.

A retentativa será executada independentemente do dia ou momento do dia. Logo, é possível o cenário em que a transação original foi negada em uma determinada data, mas a transação de retentativa bem-sucedida foi executada em uma data posterior.

Importante 1:

A funcionalidade de retentativas de transações só é possível em operações com cartões de crédito com os seguintes roteamentos:

  • Todos via SiTef
  • Cielo e-Commerce
  • e-Rede
  • e.Rede REST
  • Getnet WS
  • GlobalPayment WS

Importante 2:

Pagamentos Split via interface HTML não fazem retentativa.

Atenção:

Ao configurar retentativas automáticas, recomenda-se não executar uma retentativa manual de transação negada (i.e. uma nova chamada em uma transação de NIT já negado), pois isto pode causar comportamentos inesperados.

Fluxos da Retentativa

Os fluxos de retentativas online e offline diferem principalmente sobre quando a execução das retentativas são realizadas para as adquirentes.

Fluxo de Retentativa Online

No fluxo de retentativa online, a retentativa é realizada durante o fluxo transacional de pagamento e é possível executar no máximo duas retentativas.

Este fluxo de retentativa é possível configurar que as retentativas utilizem mais de uma adquirente. Se a retentativa for executada em mais de uma adquirente, é necessário que sua loja tenha contrato com as adquirentes desejadas, e que isto seja cadastrado no e-SiTef de forma correspondente.

Existem diferenças entre a interface REST e HTML, que serão detalhadas a seguir.

Interface REST

Descrição do fluxo:

  1. A cada resposta de tentativa é verificado a necessidade e a possibilidade de realizar uma retentativa.
  2. Ao final do processo, a Loja Virtual recebe a resposta final e a repassa para o Comprador.

Interface HTML

Descrição do fluxo:

  1. O processo inicia quando o Comprador solicita a finalização da compra para a Loja Virtual.
  2. A Loja Virtual inicia uma transação no e-SiTef. O e-SiTef responde com uma URL para que a Loja Virtual redirecione o Comprador para o e-SiTef.
  3. O Comprador começa a interagir diretamente com o e-SiTef e deve informar todos os dados de cobrança.
  4. O e-SiTef executa as tentativas de pagamento. A cada resposta, o e-SiTef verifica a necessidade de realizar uma outra retentativa.
  5. Ao final do fluxo, o e-SiTef envia um aviso de status da transação para a Loja Virtual e o Comprador recebe a resposta final do pagamento efetuado.

Fluxo de Retentativa Offline

No fluxo de retentativa offline, a retentativa é agendada para ser executada em um outro momento e a transação fica marcada com status RET enquanto o processo não termina.

As retentativas offline são agendadas de acordo com a configuração definida para o roteamento:

  • Número máximo de retentativas;
  • Intervalo entre as retentativas (em dias).

Por padrão serão executadas 3 (três) retentativas com um dia de intervalo entre elas.

Para habilitar esta funcionalidade e mudar a configuração padrão, deve-se entrar em contato com a equipe de produção do e-SiTef.

Se a execução da retentativa offline ocorrer com sucesso, a transação passará de status RET para CON.

Diferentemente do fluxo de retentativa online, o fluxo de retentativa offline não pode realizar a retentativa com mais de uma adquirente.

Neste fluxo de retentativa, a loja deve estabelecer acordos com a adquirente para viabilizar pagamentos sem a necessidade do código de segurança.

Além disso, também existem diferenças entre a interface REST e HTML, que serão detalhadas a seguir.

Interface REST

Descrição do fluxo:

  1. Na primeira tentativa, o e-SiTef verifica a possibilidade de realizar a retentativa offline. Em caso afirmativo, o e-SiTef responde com o status de transação RET para Loja Virtual e agenda a retentativa de acordo com a configuração definida para o tipo de pagamento.
  2. A retentativa é agendada de acordo com a configuração definida para o tipo de pagamento, no dia em que ela foi criada. Ou seja, se a retentativa offline foi criada num dia e depois a configuração de intervalo e/ou quantidade foi alterada, será mantida a configuração antiga.
  3. Diariamente o e-sitef verifica se existe agendamento de retentativa e em caso positivo o executa.
  4. A cada resposta de retentativa, o e-SiTef verifica a necessidade ou a possibilidade de agendar uma nova retentativa. Se for detectado o fim das retentativas, a transação de estado RET é alterada para um estado de acordo com a última resposta de retentativa.
  5. Ao final de cada retentativa, o e-SiTef envia um aviso de status para a Loja Virtual.

Interface HTML

Descrição do fluxo:

  1. O processo inicia quando o Comprador solicita a finalização da sua compra na Loja Virtual.
  2. A Loja Virtual inicia uma transação com o e-SiTef e redireciona o Comprador para o e-SiTef.
  3. O Comprador começa a interagir diretamente com o e-SiTef e deve informar todos os dados de cobrança.
  4. Na primeira tentativa, o e-SiTef agenda uma retentativa, após verificar que é possível realizar uma retentativa offline. Além disto, o e-SiTef envia o aviso de status para Loja Virtual, indicando que a transação está com status RET e responde ao Comprador que o "pagamento foi recebido e está sendo processado".
  5. A retentativa é agendada de acordo com a configuração definida para o tipo de pagamento, no dia em que ela foi criada. Ou seja, se a retentativa offline foi criada num dia e depois a configuração de intervalo e/ou quantidade foi alterada, será mantida a configuração antiga.
  6. Diariamente o e-SiTef verifica se existe agendamento de retentativa e em caso positivo o executa.
  7. A cada resposta da retentativa, o e-SiTef verifica a necessidade ou a possibilidade de agendar uma nova retentativa. Se for detectado o fim das retentativas, a transação sai do estado RET.
  8. Ao final de cada retentativa, o e-SiTef envia um aviso de status para a Loja Virtual.

Importante:

O cliente pode optar por combinar o uso das Retentativas Online e Offline. Neste cenário o fluxo da rententivas offline será iniciado caso as retentativas online forem negadas.

Retentativa e Agendamento de Recorrência

A retentativa também funciona para os agendamento de recorrência. Saiba mais sobre agendamento de recorrência.

Atenção: no agendamento de recorrência é mencionado o termo "reprocessamento". Não confunda este termo com as retentativas. Os dois são processos distintos no e-SiTef e não possuem relação/interferência entre si.

Seguem alguns detalhes da relação entre retentativa e agendamento de recorrência.

Execução dos pagamentos agendados

Os pagamentos agendados são executados como um pagamento normal. Logo, caso sua loja esteja com a retentativa habilitada e o contexto transacional se encaixe nos cenários da retentativa, o pagamento agendado irá acionar os fluxos de retentativa.

Portal do Lojista - relatório de agendamento de recorrência

No portal de Lojista é possível consultar os agendamentos de recorrência. Saiba mais sobre o relatório de agendamentos no portal do lojista.

Enquanto a retentativa está no meio de um dos fluxos, o agendamento de recorrência ficará com estado de "Erro". Caso a retentativa consiga confirmar a transação, o agendamento de recorrência passará a ficar ativo. Logo, é possível que o agendamento de recorrência fique temporariamente em estado de "Erro" até que a retentativa termine o fluxo.

Retentativa e códigos de retornos permitidos

Códigos de retorno reversiveis, que podem ter retentativas são:

AutorizadoraCódigo retorno
CieloDS
CieloEK
CieloR1
CieloS0
CieloTM
CieloV7
CieloAA
Cielo005
Cielo006
Cielo019
Cielo025
Cielo028
Cielo05
Cielo057
Cielo060
Cielo061
Cielo065
Cielo076
Cielo089
Cielo091
Cielo092
Cielo096
Cielo098
Cielo099
Cielo110
Cielo19
Cielo213
Cielo25
Cielo28
Cielo57
Cielo60
Cielo61
Cielo65
Cielo89
Cielo91
Cielo92
Cielo96
Cielo98
CieloAE
CieloAV
CieloBO
CieloDF
Cielo e-Commerce05
Cielo e-CommerceR1
Cielo e-Commerce19
Cielo e-Commerce25
Cielo e-Commerce28
Cielo e-Commerce57
Cielo e-Commerce60
Cielo e-Commerce61
Cielo e-Commerce65
Cielo e-Commerce89
Cielo e-Commerce90
Cielo e-Commerce91
Cielo e-Commerce92
Cielo e-Commerce96
Cielo e-Commerce98
Cielo e-Commerce99
Cielo e-Commerce999
Cielo e-CommerceAA
Cielo e-CommerceAE
Cielo e-CommerceAF
Cielo e-CommerceAG
Cielo e-CommerceAV
Cielo e-CommerceBD
Cielo e-CommerceBO
Cielo e-CommerceDF
Cielo e-CommerceDS
Cielo e-CommerceEK
Cielo e-Commerce15
eRede15
e.Rede REST103
e.Rede REST104
e.Rede REST106
e.Rede REST107
e.Rede REST121
e.Rede REST150
e.Rede REST56
e.Rede REST64
e.Rede REST74
GetNet Lac80
GetNet LacV7
GetNet Lac96
GetNet Lac91
GetNet Lac83
GetNet LacS0
GetNet LacTM
GetNetWS85
GetNetWS86
GetNetWS87
GetNetWS88
GetNetWS94
GetNetWS19
GetNetWSO1
GetNetWSQ0
GetNetWSQ1
GetNetWSQ2
GetNetWS68
GetNetWSO0
Global Payments via WS96
Global Payments via WS68
Global Payments via WS91
Redecard19
RedecardV7
RedecardTM
Redecard91
Redecard96
RedecardS0
Safra099
SafraS0
SafraTM
SafraV7
StoneTM
StoneS0
Stone96
Stone06
StoneV7

Importante: os códigos não presentes acima são irreversíveis, ou seja, não podem ser retentados.

Bradescard

A loja tem a possibilidade de configurar o roteamento de transações feitas no e-SiTef por vários meios de pagamento, um desses meios é o Bradescard.

Interfaces e-SiTef suportadas para integração

Utilizaremos as seguintes interfaces para a integração com o roteamento Bradescard:

  • Pagamento REST
  • Pagamento HTML
  • Cancelamento REST
  • Cancelamento via Portal do Lojista
  • Operação genérica para realizar consultas Bradescard

Serviço de Consultas Bradescard

Nas consultas Bradescard é possível realizar a consulta de extrato resumido e a consulta de saldos de um determinado cartão.

Detalhes da chamada

O serviço de consulta Bradescard é um serviço disponibilizado pela interface de operação genérica (Saiba mais). No caso da operação de consulta Bradescard, é obrigatório o token de autenticidade para cada consulta realizada, logo é necessário obter o token (Saiba mais) e depois realizar a chamada de operação genérica (Saiba mais).

A consulta Bradescard é identificada com o código de operação 172 (utilize este valor no campo operation na requisição).

Parâmetros das consultas Bradescard

Abaixo, seguem os parâmetros que são utilizados pela operação de consultas Bradescard.

ParâmetroDescriçãoFormatoObrigatório
dateData fiscal.NNão
timeHora fiscal.NNão
subfunctionSubfunção da transação de consulta. Estão previstas as seguintes consultas:
01 – Consulta de saldos
02 – Consulta de extrato resumido
2 NNão
card_entry_modeModo de entrada. Os valores possíveis para este campo são:
1 – Cartão magnético
2 – Número do cartão digitado
1 NSim
card_numberEste campo deve ser preenchido com o número do cartão.NCONDICIONAL
Sim, se card_entry_mode for igual a "2"
track1Este campo deve ser preenchido com a trilha 1 do cartão.< 99 ANCONDICIONAL
Sim, se card_entry_mode for igual a "1"
track2Este campo deve ser preenchido com a trilha 2 do cartão.< 99 NCONDICIONAL
Sim, se card_entry_mode for igual a "1"
card_expiry_dateData de vencimento do cartão.4 N (MMAA)CONDICIONAL
Sim, se card_entry_mode for igual a "2"
card_security_codeCódigo de segurança.< 10 NCONDICIONAL
Sim, se for solicitado na consulta de cartão (Saiba mais).
card_issue_dateData da emissão do cartão.6 N (MMAAAA)CONDICIONAL
Sim, se for solicitado na consulta de cartão (Saiba mais).

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 200. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de consultas Bradescard:

ParâmetroDescrição
response_codeCódigo de resposta do e-SiTef.
response_messageMensagem de resposta do e-SiTef.
authorizer_response_codeCódigo de resposta da autorizadora.
authorizer_response_messageMensagem de resposta da autorizadora.
parameters.dateData.
parameters.timeHora.
parameters.acquirer_idId da rede adquirente no SiTef.
parameters.host_usnNSU host.
parameters.sitef_usnNSU SiTef.
parameters.institution_response_codeCódigo de resposta da autorizadora/adquirente.
parameters.institution_nameNome da instituição.
parameters.authorization_numberNúmero da autorização.
parameters.affiliation_codeCódigo do estabelecimento na autorizadora/adquirente.
parameters.confirmation_dataDados da confirmação.
parameters.customer_receiptComprovante do comprador.
parameters.merchant_receiptComprovante da loja.
parameters.sale_response_dataDados de resposta da venda.

Cetelem

Para realizar o pagamento através da adquirente Aura-Cetelem no e-SiTef, além dos parâmetros básicos do Serviço de Criação de Pagamento REST e do Serviço de Efetivação de Pagamento REST, são necessários alguns dados que serão enviados através do parâmetro prefixes descrito na sessão de Prefixos abaixo.

IMPORTANTE: Antes de começar, verifique se a autorizadora desejada está utilizando como tipo de pagamento a rede = 93 (Aura – Cetelem).

Interfaces e-SiTef suportadas para integração

É possível utilizar as seguintes interfaces para a integração com o roteamento Cetelem:

  • Pagamento REST
  • Pré-Autorização REST
  • Cancelamento REST
  • Cancelamento via Portal

Pagamento REST

Criação de Pagamento

A seguir, são listados os parâmetros com dados específicos para a transação via Cetelem que o aplicativo da loja virtual deve enviar no Serviço de criação de transação REST:

ParâmetroDescriçãoFormatoObrigatório
authorizer_idCódigo da Autorizadora no e-SiTef – Usar o código Aura-Cetelem que é o 93≤ 10 ASim
installment_typeTipo do financiamento de parcelamento.

Valores permitidos:
3 - rotativo normal
4 - rotativo normal ou parcelado ou
17 - crediário
= 2 NSim para crediário

Efetivação de Pagamento

A seguir, são listados os parâmetros com dados específicos para a transação via Cetelem que o aplicativo da loja virtual deve enviar no Serviço de efetivação de transação REST:

ParâmetroDescriçãoFormatoObrigatório
acquirer
prefixesElemento para envio de prefixos do SiTef. Caso o prefixo enviado não seja suportado pelo cartão enviado, o e-SiTef invalidará a transação, impedindo que se dê uma falsa impressão do uso de uma determinada funcionalidade.

Os prefixos suportados pela Aura-Cetelem estão listados na seção Prefixos.

Exemplo:
{ "key" : "value" } -> { "CICLOS" : "01" }
≤ 2000 ASim

Prefixos

PrefixoDescriçãoTamanhoObrigatório
CMATCódigo do Material vendido= 4 NSim para crediário
CPLANOCódigo do Plano= 5 ANSim para crediário

Pré-Autorização REST

Criação de Pré-Autorização

Abaixo está a descrição dos parâmetros específicos de Cetelem para o serviço de criação de pré-autorização REST:

ParâmetroDescriçãoFormatoObrigatório
additional_data
pre_auth_lifecycleRepresenta o número de dias em que se considera válida a pré-autorização.< 2 NNÃO
entry_amountValor de entrada em centavos.< 12 NNÃO
additional_data
.extra_param
.prefixes[]
Elemento para envio de prefixos do SiTef. Caso o prefixo enviado não seja suportado pelo cartão enviado, o e-SiTef invalidará a transação, impedindo que se dê uma falsa impressão do uso de uma determinada funcionalidade.

Os prefixos suportados pela Aura-Cetelem estão listados na seção Prefixos.
keyNome do prefixo.< 1024 ANNÃO
valueValor do prefixo.< 1024 ANNÃO

Exemplo:

{
   "merchant_usn":"14111112826",
   "order_id":"14111112826",
   "authorizer_id":"6",
   "amount":"2300",
   "transaction_type":"preauthorization",
   "additional_data":{
      "pre_auth_lifecycle":"7",
      "entry_amount":"1",
      "extra_param":{
         "prefixes":[
            {
               "key":"CPLANO",
               "value":"13219"
            },
            {
               "key":"CMAT",
               "value":"11"
            }
         ]
      }
   }
}

Efetivação de Pré-Autorização

As informações de parcelamento (campos installments e installment_type) devem ser enviadas nesta etapa. Na captura, os mesmos valores devem ser utilizados.

Abaixo está a descrição específica de alguns parâmetros do Cetelem para o serviço de efetivação de pré-autorização REST:

ParâmetroDescriçãoFormatoObrigatório
installment_typeTipo do financiamento de parcelamento.

Valores permitidos:
3 - super limite crediário
4 - rotativo normal ou parcelado
= 2 NSIM
installmentsNúmero de parcelas da transação. Obs: utilize installment_type = 4 e installments = 1 para pagamentos à vista.= 2 NSIM

Captura de Pré-Autorização

Abaixo está a descrição específica de alguns parâmetros do Cetelem para o serviço de captura de pré-autorização REST:

ParâmetroDescriçãoFormatoObrigatório
installment_typeTipo do financiamento de parcelamento.

Valores permitidos:
3 - super limite crediário
4 - rotativo normal ou parcelado
= 2 NSIM
installmentsNúmero de parcelas da transação. Obs: utilize installment_type = 4 e installments = 1 para pagamentos à vista.= 2 NSIM

IMPORTANTE: Para o roteamento Cetelem, a captura de Pré-Autorização não necessita de dados de cartão.

Exemplo

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/preauthorizations/capture/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "amount":"100",
   "installments":"1",
   "installment_type":"4",
   "acquirer":{
      "entry_amount": "1555"
   }
}
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "capture":{
      "status":"CON",
      "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
      "order_id":"orderID",
      "customer_receipt":"=== CUSTOMER RECEIPT ===",
      "merchant_receipt":"=== MERCHANT RECEIPT ===",
      "authorizer_id":"2",
      "acquirer_id":"1005",
      "acquirer_name":"Redecard",
      "authorizer_code":"000",
      "authorizer_message":"Transacao OK.",
      "authorizer_date":"09/11/2018T19:40",
      "authorizer_merchant_id":"000000000000000",
      "authorization_number":"212195",
      "esitef_usn":"180921015287704",
      "merchant_usn":"20190101",
      "sitef_usn":"212195",
      "host_usn":"999212195",
      "amount":"100",
      "payment_type":"C",
      "issuer":"2"
   }
}

Abaixo está a descrição dos parâmetros específicos de Cetelem para o serviço de captura de pré-autorização REST:

ParâmetroDescriçãoFormatoObrigatório
acquirer
entry_amountValor de entrada em centavos.< 12 NNÃO

GetnetLac

Neste item serão apresentadas caracteristicas especificas para o roteamento GetnetLac via SiTef.

Pré-Autorização

  • Sobre a pré-autorização roteada pela GetnetLac, a informação de parcelamento (installments e installment_type) deve ser sempre passada na etapa de pré-autorização, e não na captura. Caso a pré-autorização seja a vista, a captura não pode ser parcelada.
  • Para este roteamento, o parcelamento de pré-autorizações sempre será sem juros, isto é, installment_type= 4. Isto vale para as Interfaces HTML e REST.

Split de Pagamento

No Split de Pagamento, as informações de divisão de valores entre os sub-vendedores são enviados por uma transação única no e-SiTef, e a distribuição de fundos fica a cargo da adquirente.

O roteamento GetnetLac permite que seja feito o Split de Pagamento através da inclusão de parâmetros no objeto additional_data na criação da transação de pagamento, tanto para interfaces de Pagamento HTML e REST.

Parâmetros de requisição

ParâmetroDescriçãoFormatoObrigatório
additional_data.split_request Elemento com os dados do split
seller_idIdentificador do vendedor na plataforma MarketPlace Getnet.< 36 ASIM
sale_idIdentificador da venda ou pedido.< 36 ASIM
additional_data.split_request.subsellers[] Lista com dados dos sub-vendedores.
idId do Sub-vendendor na plataforma MarketPlace Getnet.< 36 ASIM
sales_amountParte do Valor correspondente ao Sub-vendedor - em centavos.< 12 NSIM
additional_data.split_request.subsellers.products[] Lista com dados dos itens.
product_idIdentificador do Item.< 15 ASIM
amountValor do Item em centavos.< 12 NSIM
descriptionDescrição do Item.< 80 ASIM
tax_percentTaxa do item em porcentagem. Formato NNNDDDDDD onde: NNN Parte inteira - completar com zeros a esquerda até atingir 3 dígitos; DDDDDD Parte fracionária. Completar com zeros a direita até atingir 6 dígitos.< 9 ANÃO
tax_amountTaxa do item em valor em centavos.< 12 NNÃO

Pagamento HTML

Exemplo de JSON - criação de transação

Obs: Os valores dos exemplos são fictícios.

{
  "merchant_id":"Codigo_Loja",
  "merchant_usn":"12345678",
  "order_id":"order_12345",
  "amount":"5000",
  "additional_data":{
    "split_request":{
      "seller_id":"6eb2412c-165a-41cd-b1d9-76c575d70a28",
      "sale_id":"6d2e4380-d8a3-4ccb-9138-c289182818a3",
      "subsellers":[
        {
          "id":"853984759834734",
          "sales_amount":"3700",
          "products":[
            {
              "product_id":"X0001",
              "amount":"1500",
              "description":"DESCRICAO PRODUTO 1",
              "tax_percent":"005934500",
              "tax_amount":"150"
            },
            {
              "product_id":"X0001",
              "amount":"1500",
              "description":"DESCRICAO PRODUTO 2",
              "tax_percent":"005934500",
              "tax_amount":"150"
            }
          ]
        },
        {
          "id":"256714932547251",
          "sales_amount":"1300",
          "products":[
            {
              "product_id":"X0003",
              "amount":"1300",
              "description":"DESCRICAO PRODUTO 3",
              "tax_percent":"005934500",
              "tax_amount":"150"
            }
          ]
        }
      ]
    }
  }
}

Após a finalização do Pagamento HTML, os seguintes parâmetros serão adicionados ao Aviso de Status (saiba mais):

ParâmetroDescriçãoFormato
splitPaymentIdIdentificador do pagamento split.< 36 A
splitTransactionIdIdentificador da transação split.< 19 N

Pagamento REST

Exemplo de JSON

Obs: Os valores dos exemplos são fictícios.

Requisição de criação de transação

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
  "merchant_usn":"12345678",
  "order_id":"order_12345",
  "installments":"1",
  "installment_type":"4",
  "authorizer_id":"1",
  "amount":"5000",
  "additional_data":{
    "split_request":{
      "seller_id":"6eb2412c-165a-41cd-b1d9-76c575d70a28",
      "sale_id":"6d2e4380-d8a3-4ccb-9138-c289182818a3",
      "subsellers":[
        {
          "id":"853984759834734",
          "sales_amount":"3700",
          "products":[
            {
              "product_id":"X0001",
              "amount":"1500",
              "description":"DESCRICAO PRODUTO 1",
              "tax_percent":"005934500",
              "tax_amount":"150"
            },
            {
              "product_id":"X0001",
              "amount":"1500",
              "description":"DESCRICAO PRODUTO 2",
              "tax_percent":"005934500",
              "tax_amount":"150"
            }
          ]
        },
        {
          "id":"256714932547251",
          "sales_amount":"1300",
          "products":[
            {
              "product_id":"X0003",
              "amount":"1300",
              "description":"DESCRICAO PRODUTO 3",
              "tax_percent":"005934500",
              "tax_amount":"150"
            }
          ]
        }
      ]
    }
  }
}
--verbose

Resposta da efetivação de pagamento

{
  "code":"0",
  "message":"OK. Transaction successful.",
  "payment":{
    "authorizer_code":"000",
    "authorizer_message":"Transacao OK                                                    SDO DISPONIVEL                                                   244,00",
    "status":"CON",
    "nit":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "order_id":"order_12345",
    "customer_receipt":"*****",
    "merchant_receipt":"*****",
    "authorizer_id":"1",
    "acquirer_id":"181",
    "acquirer_name":"GetNet Lac",
    "authorizer_date":"12/08/2020T14:24",
    "authorization_number":"122641",
    "merchant_usn":"12345678",
    "esitef_usn":"200812055315840",
    "sitef_usn":"122641",
    "host_usn":"008122641   ",
    "amount":"5000",
    "payment_type":"C",
    "issuer":"1",
    "authorizer_merchant_id":"000000000000000",
    "terminal_id":"ES000054",
    "payment_date":"12/08/2020T14:24",
    "split":{
      "payment_id":"06f256c8-1bbf-42bf-93b4-ce2041bfb87e",
      "transaction_id":"0023972834623476365"
    }
  }
}

Retornos específicos do Pagamento Split no Pagamento REST

ParâmetroDescriçãoFormato
payment.split Elemento com os dados de retorno de pagamento split
payment_idIdentificador do pagamento split.< 36 A
transaction_idIdentificador da transação split.< 19 N

Orbitall

Introdução

A adquirente Orbitall é responsável por processar cartões da própria rede varejista.

Para realizar o pagamento através da adquirente Orbitall no e-SiTef, além dos parâmetros básicos do Serviço de Criação de Pagamento REST e do Serviço de Efetivação de Pagamento REST, são necessários alguns dados que serão enviados através do parâmetro prefixes descrito na seção de Prefixos abaixo.

Interfaces e-SiTef suportadas para integração

É possível utilizar as seguintes interfaces para a integração com o roteamento Orbitall:

  • Pagamento REST
  • Cancelamento REST
  • Cancelamento via Portal

Pagamento REST

Criação de Pagamento REST

A seguir, são listados os parâmetros com dados específicos para a transação via Orbitall que o aplicativo da loja virtual deve enviar no Serviço de criação de transação REST:

ParâmetroDescriçãoFormatoObrigatório
authorizer_idCódigo da Autorizadora no e-SiTef – Usar o código Orbitall que é o 160≤ 10 ASim
installment_typeTipo do financiamento de parcelamento.

Valores permitidos:
3 - parcelado com juros
4 - parcelado sem juros ou
37 - Crédito CDC.
= 2 NNão

Efetivação de Pagamento REST

A seguir, são listados os parâmetros com dados específicos para a transação via Orbitall que o aplicativo da loja virtual deve enviar no Serviço de efetivação de transação REST:

ParâmetroDescriçãoFormatoObrigatório
acquirer.prefixesElemento para envio de prefixos do SiTef. Caso o prefixo enviado não seja suportado pelo cartão enviado, o e-SiTef invalidará a transação, impedindo que se dê uma falsa impressão do uso de uma determinada funcionalidade.

Os prefixos suportados pela Orbitall estão listados na seção Prefixos.

Exemplo:
{ "key" : "value" } -> { "CICLOS" : "01" }
≤ 2000 ASim

Prefixos

PrefixoDescriçãoTamanhoObrigatório
CICLOS:Deve ser enviado 0 (zero) quando o vencimento for na data do cartão ou de 1 a 99 indicando o número de ciclos a pular.
Para usar ciclos é necessária uma configuração previa no SiTef.
≤ 2 NSim
CPLANO:Código do plano acordado entre autorizadora e o estabelecimento. Obrigatório quando o tipo de financiamento for Crédito CDC.= 5 ANNão
TPCDC:Tipo de compra crédito CDC:
1 – CDC Produto
2 – CDC Serviço.
= 1 NNão
VLRADD:Valor adicional cobrado para compra tranquila, o parâmetro deve seguir o formato “cc=vv...vvv”, onde:
cc = 01 indicando compra tranquila.
vv...vvv indica o valor adicional para a compra tranquila (*) . Pode ser no máximo de tamanho 12 e é o valor SEM a vírgula.
≤ 15 ANNão

(*) é um seguro oferecido na compra CDC (ex: seguro se ficar desempregado). O valor passado na transação é referente ao valor total (compra + valor seguro). O cancelamento tambem é efetuado com o valor total. Para mais detalhes, consultar a rede adquirente.

Código de Autorizadora

O código para a autorizadora Orbitall no e-SiTef é 160. Para saber os códigos das demais autorizadoras no e-SiTef, consulte aqui.

Vero

Para transacionar com o adquirente Vero no e-SiTef, além dos parâmetros básicos de cada serviço, são necessários alguns dados adicionais.

Interfaces e-SiTef suportadas para integração

É possível utilizar as seguintes interfaces para a integração com o roteamento Vero:

  • Pagamento REST
  • Pagamento HTML
  • Pré-Autorização REST
  • Pré-Autorização HTML
  • Cancelamento REST
  • Cancelamento via Portal

Pagamento REST

Efetivação de Pagamento

A seguir, são listados os parâmetros com dados específicos para a transação via Vero que o aplicativo da loja virtual pode enviar no serviço de efetivação de pagamento REST:

ParâmetroDescriçãoFormatoObrigatório
card
holder_presentIndica se o portador do cartão está presente ou não. Enviar true caso positivo, ou false caso contrário. Valor padrão: true< 5 ANNÃO
external_authentication
eciEletronic Commerce Indicator – indica o nível de segurança da transação com autenticação do dono do cartão< 3 NNÃO
xidIdentificador da transação de autenticação do dono do cartão em transações 3DS 1.0.< 40 ANNÃO
cavvCardholder Authentication Verification Value - Código que indica o resultado da autenticação do dono do cartão.< 40 ANNÃO
ucaf_sliContêm o UCAF (Universal Cardholder Authentication Field), que corresponde ao último dígito do SLI (Security Level Indicator) do Mastercard Secure Code (para bandeira MasterCard).= 1 NNÃO
versionVersão do 3DS (1 ou 2).= 1 NNÃO
reference_idIdentificador do Directory Server para transações 3DS 2.0.< 36 ANNÃO
tavvCriptograma de transação tokenizada DSRP-UCAF.< 40 ANNÃO
acquirer
ecommerce_device_typeTipo do dispositivo.< 2 ANNÃO
token_req_idIdentificador do requisitante do Token (Token Requestor ID).< 11 NNÃO
pan_token_relation_levelNível de relação Token e PAN.< 2 ANNÃO
ecommerce_input_type1: Leitura PAN (e-commerce)
2: Leitura PAN (Server)
3: Leitura PAN (MasterCard DSRP Full EMV).
Valor padrão: 1
= 1 NSIM

É obrigatório o envio de dados de autenticação para pagamentos com débito.

Pré-Autorização REST

Criação de Pré-Autorização

Os parâmetros específicos para o serviço de criação de pré-autorização REST são os mesmos do serviço de pagamento, com a adição do seguinte campo:

ParâmetroDescriçãoFormatoObrigatório
additional_data
pre_auth_lifecycleRepresenta o número de dias em que se considera válida a pré-autorização.< 2 NSIM

Captura de Pré-Autorização

Os parâmetros específicos para o serviço de captura de pré-autorização REST são os mesmos do serviço de pagamento citado acima.

Bin

Neste item serão apresentadas caracteristicas especificas para o roteamento Bin via SiTef.

Pagamento REST

Efetivação de Pagamento

A seguir, são listados os parâmetros com dados específicos para a transação via Bin que o aplicativo da loja virtual pode enviar no serviço de efetivação de pagamento REST:

ParâmetroDescriçãoFormatoObrigatório
external_authentication
ucaf_sliContêm o UCAF (Universal Cardholder Authentication Field), que corresponde ao último dígito do SLI (Security Level Indicator) do Mastercard Secure Code (para bandeira MasterCard).= 1 NNÃO
versionVersão do 3DS (1 ou 2).= 1 NNÃO
reference_idIdentificador do Directory Server para transações 3DS 2.0.< 36 ANNÃO
tavvCriptograma de transação tokenizada DSRP-UCAF.< 40 ANNÃO

Sipag

Neste item serão apresentadas caracteristicas especificas para o roteamento Sipag via SiTef.

Pagamento REST

Efetivação de Pagamento

A seguir, são listados os parâmetros com dados específicos para a transação via Sipag que o aplicativo da loja virtual pode enviar no serviço de efetivação de pagamento REST:

ParâmetroDescriçãoFormatoObrigatório
external_authentication
ucaf_sliContêm o UCAF (Universal Cardholder Authentication Field), que corresponde ao último dígito do SLI (Security Level Indicator) do Mastercard Secure Code (para bandeira MasterCard).= 1 NNÃO
versionVersão do 3DS (1 ou 2).= 1 NNÃO
reference_idIdentificador do Directory Server para transações 3DS 2.0.< 36 ANNÃO
tavvCriptograma de transação tokenizada DSRP-UCAF.< 40 ANNÃO

Banco do Brasil

Esta documentação descreve a integração com a plataforma de pagamento Banco do Brasil. Além de explicar, também, sobre as configurações que devem ser, necessariamente, efetuadas no ambiente do e-SiTef.

Interfaces e-SiTef suportadas para integração

A loja pode utilizar os seguintes serviços do e-SiTef para a integração com a plataforma Banco do Brasil (os respectivos documentos devem ser consultados para mais detalhes):

  • Interface de Pagamento HTML
  • Reemissão de Boletos

Configurações necessárias no e-SiTef

Antes de efetuar transações Banco do Brasil com o e-SiTef, devem ser seguidos os passos de configuração apresentados a seguir.

Dados Cadastrais do Banco do Brasil

A loja deve possuir uma conta ativa com o Banco do Brasil para realizar uma transação.

A tabela a seguir mostra as credenciais Banco do Brasil que devem ser obtidas pela loja e dados adicionais a serem inseridos no boleto, e que posteriormente serão cadastradas no e-SiTef:

Nome do parâmetroDescriçãoFormatoObrigatório
idConvComercioIdentificador de Convênio de Comércio Eletrônico no Banco do Brasil6 NSIM
idConvCobrancaIdentificador de Convênio de Cobrança no Banco do Brasil< 7 NSIM
diasVencimentoQuantidade de dias que deverá ser somado à data da geração do boleto que resultará na data de vencimento do boleto.NSIM
mensagem_boletoMensagem que será exibida na área de observações do boleto gerado.< 480 NNÃO

É necessário também que sejam configurados no portal do Banco do Brasil, na conta do cliente, alguns dados referentes ao e-SiTef:

Valores durante a etapa de Homologação:

URL de Retorno: https://esitef-homologacao.softwareexpress.com.br

URL de Informação: https://esitef-homologacao.softwareexpress.com.br

Assim que a homologação for finalizada e a loja for ativada em produção, os valores cadastrados devem ser modificados:

Valores para ambiente de Produção:

URL de Retorno: https://esitef-ec.softwareexpress.com.br

URL de Informação: https://esitef-ec.softwareexpress.com.br

Inserir dados cadastrais no e-SiTef

Tendo em mãos os dados cadastrais do Banco do Brasil citados acima, o lojista deve solicitar à equipe de atendimento do e-SiTef:

  • A ativação do Banco do Brasil como uma autorizadora ativa no cadastro do e-SiTef.
  • Caso não possua, um usuário e senha de acesso ao Portal do Lojista no e-SiTef.

Assim que a autorizadora Banco do Brasil estiver associada à loja, o lojista deve acessar o Portal do Lojista e informar os dados cadastrais do Banco do Brasil no item Configuração de Autorizadoras, com os parâmetros idConvComercio, idConvCobranca, diasVencimento, mensagem_boleto citados anteriormente.

Para mais detalhes de como cadastrar estes dados no portal do lojista, por favor, consulte o item sobre o Portal do Lojista - Configuração de Autorizadoras.

Código de Autorizadora para Banco do Brasil no e-SiTef

Para realizar pagamentos com a autorizadora pré-definida, envie um dos seguintes id's de autorizadora referentes ao Banco do Brasil:

  • 404 - Boleto
  • 415 - Débito PF
  • 416 - Débito PF e PJ
  • 417 - Crediário

Parâmetros para Pagamento HTML via Banco do Brasil

Sobre o fluxo inicial para iniciar uma transação HTML no e-SiTef com o Banco do Brasil, consulte o item sobre o Pagamento HTML.

Observação: Dados referentes a parcelamento não são repassados ao Banco do Brasil.

Atenção: Transações realizadas com a autorizadora Banco do Brasil, quando o cliente tiver optado pela geração de um boleto, terão seu status final como Processado (PRO), NÃO significando que ele já tenha sido pago, e sim apenas que houve a emissão. Este comportamento decorre da falta de ferramentas para tal verificação por parte do Banco do Brasil.

Parâmetros para transação via Banco do Brasil

O lojista pode enviar os parâmetros do Banco do Brasil para gerar boletos via e-SiTef.

Objeto additional_data

No objeto JSON additional_data, os seguintes parâmetros podem ser enviados:

ParâmetroDescriçãoFormatoObrigatório
discount_amountValor do desconto em centavos. Usado apenas para boletos.< 12 NNÃO
discount_limit_dateData de vencimento do desconto no formato DDMMAAAA.
Usado apenas para boletos.
8 NNÃO
duplicata_typeInforma o tipo de título que originará o boleto:
DM - Duplicata Mercantil - utilizado quando forem vendidas mercadorias/produtos;
DS - Duplicata de serviços - quando a loja virtual vender a prestação de serviços.
2 ASIM¹
  • ¹ Obrigatório para boleto.

Objeto additiona_data.payer

No Objeto additional_data.payer, os seguintes parâmetros podem ser enviados:

ParâmetroDescriçãoFormatoObrigatório
nameNome do comprador.AN²SIM
surnameSobrenome do comprador.AN²SIM
address_street_nameEndereço do comprador.AN³SIM
address_street_numberNúmero do endereço do comprador.AN³SIM
address_street_complementComplemento do endereço do comprador.AN³SIM
address_zip_codeCEP do comprador8 NSIM
cityCidade do comprador< 18 ASIM
stateEstado (UF) do comprador< 2 ASIM
identification_numberNúmero do documento (CPF ou CNPJ) do comprador, sem formatação.< 14 NSIM¹
identification_typeIndica que o campo identification_number enviado representa:
1 - pessoa física
2 - pessoa jurídica
1 NSIM¹
  • ¹ Obrigatório para boleto.

  • ² O tamanho dos campos name e surname somados não pode ser maior do que 59 caracteres. Conta-se um caractere de espaçamento entre os campos, para totalizar 60 caracteres.

  • ³ O tamanho dos campos address_street_name, address_street_number e address_street_complement somados não pode ser maior do que 58 caracteres. Conta-se um caractere de espaçamento entre cada um dos campos, para totalizar 60 caracteres.

Observação: Tamanhos dos campos de acordo com a documentação fornecida pelo Banco do Brasil.

Fluxo de pagamento Banco do Brasil

Após enviar os dados de criação da transação e escolher o meio de pagamento Banco do Brasil, o seguinte fluxo de telas será iniciado:

A figura abaixo apresenta a tela anterior ao redirecionamento do comprador.

A figura seguinte apresenta a tela no Banco do Brasil, onde é realizado o pagamento:

Reemissão de Boletos

O e-SiTef disponibiliza a reemissão de boletos Banco do Brasil. Para isto, basta o redirecionamento do comprador para a seguinte url:

  • https://esitef-homologacao.softwareexpress.com.br/e-sitef/reissue.se?nit=XXXXXXXXXXXXX
    (homologação)

  • https://esitef-ec.softwareexpress.com.br/e-sitef/reissue.se?nit=XXXXXXXXXXXXX
    (produção)

Sendo que o envio do parâmetro nit é obrigatório e deve ser referente a uma transação de pagamento com o status Processada (PRO) com a autorizadora Banco do Brasil.

Caso a transação de pagamento não esteja no estado esperado, é apresentada a seguinte tela:

O simples acesso a esta URL já permite a visualização direta do boleto reemitido com os mesmos dados da primeira emissão, como na figura abaixo:

Exemplo de requisição no Pagamento HTML

URL de endpoint no ambiente de Homologação:

https://esitef-homologacao.softwareexpress.com.br/e-sitef/init.se

Exemplo do parâmetro “request” com os parâmetros da transação do e-SiTef + dados do Banco do Brasil (additional_data) em formato JSON:

{
   "merchant_id":"CODIGO_LOJA",
   "order_id":"1123456",
   "redirect":"M",
   "authorizer_id":"404",
   "amount":"2000",
   "installments":"1",
   "back_url":{
      "url_success":"url relativa de sucesso cadastrada no e-SiTef",
      "url_failure":" url relativa de fracasso cadastrada no e-SiTef",
      "url_cancel":" url relativa de cancelameto cadastrada no e-SiTef"
   },
   "additional_data":{
      "payer":{
         "name":"João",
         "surname":"Silva",
         "address_street_name":"Rua do Exemplo",
         "address_street_number":"123",
         "address_street_complement":"ap. 11",
         "city":"Sao Paulo",
         "address_zip_code":"01230120",
         "state":"SP"
      }
   }
}

Banrisul Vero

A loja tem a possibilidade de configurar o roteamento de transações feitas no e-SiTef por vários meios de pagamento, um desses meios é o Banri Compras, plataforma de pagamentos do banco Banrisul para e-commerce, desenvolvida pela rede Banrisul Vero.

Interfaces e-SiTef suportadas para integração

É possível utilizar as seguintes interfaces para a integração com o roteamento Banrisul Vero:

  • Pagamento HTML

Credenciais necessárias

Para começar a transacionar com a Banrisul Vero, a loja deve obter o código de Rede, código de Estabelecimento e Senha de acesso para integração no ambiente da Banrisul Vero. Para isso, a loja deve solicitar sua credencial de acesso através do e-mail: srac@banrisul.com.br

Após recebimento, o lojista deve encaminhar o código de Estabelecimento e o código de Rede para a equipe produção da Software Express. Esses dados podem ser cadastrados também no Portal do Lojista do e-SiTef no item de menu "Configurar Autorizadoras".

A senha de acesso ao portal Banri Compras deve ser obrigatoriamente cadastrada pelo lojista no Portal do Lojista do e-SiTef. Este dado é importante para que o e-SiTef informe o status atualizado das transações efetuadas no Banri Compras na conta do lojista.

Saiba mais sobre o Portal do Lojista do e-SiTef.

CampoDescrição
codigoEstabelecimentoIdentificação do estabelecimento no Banrisul Vero.
codigoRedeIdentificação da rede no Banrisul Vero.
senhaSenha de acesso ao Portal Banri Compras.

Parâmetros de requisição

A Banrisul Vero permite que sejam realizadas três modalidades de pagamento: à vista, parcelado ou pré-datado.

Todas as modalidades de pagamento acima são realizadas somente via transferência bancária.

Caso a opção escolhida for parcelada ou pré-datada, alguns parâmetros adicionais (additional_data.extra_param.params) devem ser enviados na requisição HTML como nos exemplos abaixo.

Saiba mais sobre a interface HTML.

À vista

Nenhum dado adicional é necessário nos casos de pagamentos à vista. O código de autorizadora (authorizer_id) é 411.

Exemplo de requisição

{  
   "merchant_id":"BANRICOMPRAS",
   "order_id":"09024709605",
   "authorizer_id":"411",
   "amount":"1000"
}

Parcelado

CampoDescriçãoFormato
bank_installmentsNúmero de parcelas totais. Para a Banrisul Vero, este campo será utilizado no lugar do campo installments.2 N
installmentCampo que informa quais parcelas serão pagas. Devem ser informadas no formato NN. Exemplo: 0102 (serão pagas as parcelas um e dois).2 N a cada parcela
deadline_optionCampo que informa se o prazo de pagamento das parcelas será informado em dias ou por uma data específica.

Valores permitidos:
D – Definido por uma data.
P – Definido por um prazo em dias.
1 A
deadline_dateCaso seja escolhida a opção D para o campo deadline_option, deve ser informado neste campo a data sugerida para o pagamento das parcelas.

A data para cada parcela deve ser informada no formato AAAMMDD. Exemplo: 20181023 (23/10/2018).

Ao informar a data de mais de uma parcela, concatenar as datas na ordem das parcelas. Exemplo: 2018102320181124 (para a primeira parcela a data é 23/10/2018 e para a segunda parcela 24/11/2018).
8 N a cada parcela
deadline_periodCaso seja escolhida a opção P para o campo deadline_option, deve ser informado neste campo o prazo sugerido para o pagamento das parcelas.

O prazo para cada parcela deve ser informado no formato NNN. Exemplo: 030 (30 dias de prazo para o pagamento da parcela).

Ao informar o prazo de mais de uma parcela, concatenar os prazos na ordem das parcelas. Exemplo: 030060 (para a primeira parcela o prazo é de 30 dias e para a segunda parcela 60 dias).
3 N a cada parcela
installments_amountInforma o valor de cada parcela a ser paga. O valor das parcelas deve ser informado no formado 15 N. Exemplo: 000000000005000 (50 reais).

Ao informar o valor de mais de uma parcela, concatenar os valores na ordem das parcelas. Exemplo: 000000000005000000000000006000 (para a primeira parcela o valor é de 50 reais e para a segunda parcela 60 reais).
15 N a cada parcela

Exemplo de requisição

{  
   "merchant_id":"BANRICOMPRAS",
   "order_id":"09035003921",
   "authorizer_id":"412",
   "amount":"1000",
   "additional_data":{  
      "extra_param":{  
         "params":[  
            {  
               "key":"bank_installments",
               "value":"02"
            },
            {  
               "key":"deadline_option",
               "value":"P"
            },
            {  
               "key":"installment",
               "value":"0102"
            },
            {  
               "key":"deadline_date",
               "value":""
            },
            {  
               "key":"deadline_period",
               "value":"000030"
            },
            {  
               "key":"installments_amount",
               "value":"000000000000500000000000000500"
            }
         ]
      }
   }
}

Pré-datado

CampoDescriçãoFormato
bank_installmentsObrigatoriamente 01.2 N
installmentObrigatoriamente 01.2 N
deadline_optionCampo que informa se o prazo de pagamento das parcelas será informado em dias ou por uma data específica.

Valores permitidos:
D – Definido por uma data.
P – Definido por um prazo em dias.
1 A
deadline_dateCaso seja escolhida a opção D para o campo deadline_option, deve ser informado neste campo a data sugerida para o pagamento da parcela.

A data para cada parcela deve ser informada no formato AAAMMDD. Exemplo: 20181023 (23/10/2018).

ATENÇÃO: Caso seja escolhida a opção P para o campo deadline_option, fixar o valor 00000000 neste campo.
8 N
deadline_periodCaso seja escolhida a opção P para o campo deadline_option, deve ser informado neste campo o prazo sugerido para o pagamento das parcelas.

O prazo para cada parcela deve ser informado no formato NNN. Exemplo: 030 (30 dias de prazo para o pagamento da parcela).
3 N
installments_amountInforma o valor de cada parcela a ser paga. O valor das parcelas deve ser informado no formado 15 N. Exemplo: 000000000005000 (50 reais).15 N

Exemplo de requisição

{  
   "merchant_id":"BANRICOMPRAS",
   "order_id":"09024709605",
   "authorizer_id":"413",
   "amount":"5000",
   "additional_data":{  
      "extra_param":{  
         "params":[  
            {  
               "key":"bank_installments",
               "value":"01"
            },
            {  
               "key":"deadline_option",
               "value":"P"
            },
            {  
               "key":"installment",
               "value":"01"
            },
            {  
               "key":"deadline_date",
               "value":"00000000"
            },
            {  
               "key":"deadline_period",
               "value":"030"
            },
            {  
               "key":"installments_amount",
               "value":"000000000005000"
            }
         ]
      }
   }
}

Fluxo de Pagamento HTML

Ao realizar uma transação Banrisul Vero, o seguinte fluxo de telas será iniciado:

Saiba mais sobre a interface HTML.

Ao clicar no botão "ACESSAR BANCO" o comprador será redirecionado para o ambiente da Banri Compras:

Ao finalizar o processo de pagamento no ambiente da Banri Compras, o pagador será redirecionado para a página de fracasso ou sucesso que estão configuradas no portal da Banrisul. O próximo capítulo apresenta mais detalhes sobre a configuração de URL's.

Configuração de URL's de redirecionamento

Para realizar o cadastro de URL's de redirecionamento, deve-se acessar o Portal da Banrisul:

http://ww4.banrisul.com.br/banricompras/LINK/logon/Index.asp?info=true

Ao entrar com as credenciais de acesso, a seguinte tela será exibida:

Clique em páginas de aviso de operação para usuário e configure as URL's para as quais o pagador será redirecionado ao final do pagamento no ambiente Banri Compras:

Configurações de tempo no e-SiTef

O e-SiTef tem configurado por padrão alguns tempos relacionados a pagamentos Banrisul Vero:

DescriçãoValor padrão
Tempo para timeout de chamadas do e-SiTef ao Sistema Banrisul Vero60 segundos
Máximo de dias que o e-SiTef efetua consulta de transações pendentes no Sistema Banrisul Vero15 dias
Intervalo de tempo em segundos entre consultas de transações pendentes no Sistema Banrisul Vero60 segundos
Quantidade máxima de consultas de transações pendentes no Sistema Banrisul Vero10 consultas

Atenção: os valores descritos acima são apenas para referência inicial. Consulte a equipe de atendimento do e-SiTef para ter os valores exatos configurados no ambiente.

Cielo e-Commerce

A loja tem a possibilidade de configurar o roteamento de transações feitas com cartão de crédito no e-SiTef por vários meios de pagamento, um desses meios é o Cielo e-Commerce.

Nesta página será usada a nomenclatura "CieloEC" para referenciar o roteamento no e-SiTef.

Assim, a loja pode configurar o e-SiTef para que as transações feitas com cartões VISA, por exemplo, sejam roteadas pela CieloEC enquanto que as feitas com MASTERCARD sejam roteadas pela CIELO.

Interfaces e-SiTef suportadas para integração

É possível utilizar as seguintes interfaces para a integração com o roteamento CieloEC:

  • Interface Pré Autorização REST
  • Interface Pagamento REST
  • Interface Cancelamento REST
  • Interface Pagamento HTML
  • Interface Pré-Autorização HTML

Observação: Esta integração também aceita o envio de dados de autenticação 3DS (eci, xid e cavv). Saiba mais.

Autorizadoras permitidas

As seguintes autorizadoras são suportadas pelo roteamento CieloEC:

  • CRÉDITO

    • VISA (1)
    • MASTERCARD (2)
    • AMERICAN EXPRESS (3)
    • ELO (41)
    • AURA (6)
    • JCB (43)
    • DINERS (33)
    • DISCOVER (44)
  • DÉBITO

    • VISA ELECTRON (221)
    • MASTERCARD DÉBITO (286)
  • TRANSFERÊNCIA

    • BRADESCO (8)
    • BANCO DO BRASIL (408)
  • ZERO DÓLLAR

    • VISA (1)
    • VISA ELECTRON (221)
    • MASTERCARD (2)
    • MASTERCARD DÉBITO (286)
    • ELO (41)

Credenciais necessárias

A loja deve obter com a CieloEC as credenciais listadas abaixo, e repassá-las à Software Express ou fazer o cadastro como explicado mais a frente neste mesmo documento.

CampoDescriçãoFormato
merchantIDIdentificador da loja na CieloEC.< 36 AN
merchantKeyChave pública para a autenticação dupla na CieloEC.< 40 AN

Importante para Pagamento HTML: No caso de uma autorizadora da loja não ter cadastrado essas credenciais, essa autorizadora não será exibida na tela de seleção de cartão de crédito durante a operação de pagamento.

Cadastro das informações pelo portal do lojista

O próprio lojista pode cadastrar as informações obtidas com a CieloEC no Portal do Lojista do e-SiTef. Para essa finalidade, o lojista deve selecionar a autorizadora e entrar na tela de edição como no exemplo exibido abaixo:

Portal CieloEC

Cadastro do SoftDescriptor no e-SiTef

O cadastro do softDescriptor é opcional, possui tamanho 13, não aceita caracteres especiais e está disponível apenas para Visa e Mastercard.

Fluxos

Nesta seção serão apresentadas as particularidades do fluxo transacional CieloEC.

Pagamento REST

Essa interface suporta o envio da de campos de autenticação externa

Crédito

É possível enviar os seguintes campos na etapa de efetivação do pagamento:

ParâmetroDescriçãoFormatoObrigatório
card
holderNome do portador impresso no cartão< 25 ANNÃO
external_authentication
eciEletronic Commerce Indicator – indica o nível de segurança da transação com autenticação do dono do cartão< 3 NNÃO
xidIdentificador da transação de autenticação do dono do cartão, feita em serviço externo ao e-SiTef< 40 NNÃO
cavvCardholder Authentication Verification Value - Código que indica o resultado da autenticação do dono do cartão.< 40 NNÃO
versionVersão do 3DS utilizado no processo de autenticação.1 ANSIM para versão 2 do 3DS
reference_idRequestID retornado no processo de autenticação.36 ANSIM para versão 2 do 3DS

Crédito com autenticação

É possível enviar o seguinte campo na etapa de criação da transação:

ParâmetroDescriçãoFormatoObrigatório
authorizer_authenticationDefine se o lojista deseja um pagamento com autenticação. Enviar true caso positivo.< 5 ANSIM para crédito com autenticação

Caso o pagamento seja bem sucedido, o serviço retornará a transação com status PEN (pendente) e terá o seguinte campo:

ParâmetroDescriçãoFormato
authentication_urlURL para qual o lojista deve redirecionar o comprador para a realização da autenticação.< 56 AN

Após uma autenticação bem sucedida, o pagamento estará sempre confirmado (status CON), ou seja, não é possível um crédito com autenticação sem auto confirmação.

Na imagem abaixo é possível verificar o funcionamento do fluxo de uma transação com autenticação:

Crédito com autenticação CieloEC

Débito

Com exceção das transações efetuadas por meio do Corona Voucher, todas as operações de débito sempre exigem autenticação e, com isso, independem do envio do campo authorizer_authentication. O fluxo a ser seguido é o mesmo de um crédito com autenticação.

Toda operação de débito é auto-confirmada, logo não permitimos realizar débito com confirmação tardia.

Crédito com análise de fraude

Para realizar um crédito com análise de fraude, é necessário enviar o campo additional_data contendo informações adicionais para anti-fraude. Seu valor segue o formato JSON conforme o exemplo abaixo:

{
   "amount":"1000",
   "authorizer_id":"1",
   "installments":"1",
   "installment_type":"4",
   "additional_data":{
      "payer":{
         "name":"Comprador",
         "surname":"credito AF",
         "email":"compradorteste@live.com",
         "city":"Rio de Janeiro",
         "state":"RJ",
         "address_street_name":"Rua Jupiter",
         "address_street_number":"174",
         "address_zip_code":"21241140",
         "born_date":"1991-01-02T08:30:00",
         "address_street_complement":"AP 201",
         "address_country":"BRA"
      },
      "shipment":{
         "method":"LOW_COST",
         "name":"Sr Comprador Teste",
         "phones":[
            {
               "number":"21114740",
               "ddd":"16",
               "ddi":"55"
            }
         ],
         "receiver_address":{
            "complement":"AP 201",
            "city":"Rio de Janeiro",
            "state":"RJ",
            "country":"BRA",
            "zip_code":"21241140",
            "street_number":"174",
            "street_name":"Rua Jupiter"
         }
      },
      "connections":[
         {
            "from":"RAO",
            "to":"SAO",
            "flight_date":"2020-01-02T20:15:00"
         }
      ],
      "gift":"false",
      "browser":{
         "email":"compradorteste@live.com",
         "agent":"Chrome",
         "cookies_accepted":"false",
         "host_name":"Teste",
         "ip_address":"200.190.150.350"
      },
      "items":[
         {
            "title":"ItemTeste",
            "quantity":"1",
            "id":"1487337308522",
            "risk":"HIGH",
            "hedge":{
               "time":"NORMAL",
               "host":"OFF",
               "nonSensical":"OFF",
               "obscenities":"OFF",
               "phone":"OFF",
               "velocity":"HIGH"
            },
            "passenger":{
               "name":"Comprador accept",
               "email":"compradorteste@live.com",
               "rating":"ADULT",
               "phone":{
                  "number":"999994444",
                  "ddd":"11",
                  "ddi":"55"
               },
               "legal_document":"1234567890",
               "customer_class":"Gold"
            },
            "unit_price":"1000",
            "category_id":"other",
            "gift_category":"OFF"
         }
      ],
      "extra_param":{
         "acquirer_params":[
            {
               "key":"95",
               "value":"Eu defini isso"
            }
         ]
      },
      "anti_fraud":"enabled_before_auth",
      "anti_fraud_institution":"AUTHORIZER",
      "anti_fraud_criteria":"ALWAYS",
      "finger_print_id":"074c1ee676ed4998ab66491013c565e2",
      "returns_accepted":"true",
      "journey_type":"OUTWARD"
   }
}

Na tabela a seguir estão descritos os campos do JSON:

ParâmetroDescriçãoFormatoObrigatório
anti_fraud_institutionInstituição que efetuará a análise de fraude para a loja. Deve ser enviado com o valor AUTHORIZER.< 10 ANSIM para análise de fraude
anti_fraudHabilita o serviço de análise de fraude. Valores permitidos:

enabled_before_auth – a análise de fraude será realizada ANTES da autorização do pagamento. Caso a análise seja rejeitada, o pagamento não será iniciado.

enabled_after_auth – a análise de fraude será realizada APÓS a autorização do pagamento. Caso a análise seja rejeitada, o pagamento que já foi autorizado será cancelado.
< 19 ANSIM para análise de fraude
anti_fraud_criteriaCritério de execução da análise de fraude. Valores permitidos:

ON_SUCCESS – só realiza a análise se tiver sucesso na transação.
ALWAYS – sempre realiza a análise.
< 10 ANNÃO
finger_print_idIdentificador utilizado para cruzar informações obtidas pelo Browser do internauta com os dados enviados para análise. Saiba mais< 50 ANNÃO
giftIndica se o pedido é para presente ou não.< 5 T/FNÃO
returns_acceptedDefine se devoluções são aceitas para o pedido.< 5 T/FNÃO
journey_typeTipo de viagem. Valores permitidos:

ROUND_TRIP – ida e volta.
OUTWARD - ida
RETURN- volta.
< 10 ANNÃO
payer Dados adicionais do comprador
nameNome do comprador. Obs.: a concatenação de nome com o sobrenome não pode ultrapassar 255 caracteres.< 200 ANNÃO
surnameSobrenome do comprador. Obs.: a concatenação de nome com o sobrenome não pode ultrapassar 255 caracteres.< 200 ANNÃO
emailE-mail do comprador.< 255 ANNÃO
born_dateData de nascimento do comprador, no formato YYYY-MM-DDTHH:MM:SS Ex.: 1991-01-02T08:30:0019 ANNÃO
adress_street_nameEndereço do comprador.< 255 ANNÃO
adress_street_numberNúmero do endereço do comprador.< 15 ANNÃO
adress_street_complementComplemento do endereço do comprador.< 50 ANNÃO
adress_zip_codeCEP do endereço do comprador. Ex.: 21241140.< 9 ANNÃO
cityCidade do endereço do comprador.< 9 ANNÃO
stateEstado do endereço do comprador. Ex. SP2 ANNÃO
addres_countryPaís do endereço do comprador. Ex. BRA< 35 ANNÃO
shipment
.receiver_address
Dados adicionais do endereço de entrega
street_nameEndereço de entrega.< 255 ANNÃO
street_numberNúmero do endereço de entrega.< 15 ANNÃO
complementComplemento do endereço de entrega.< 50 ANNÃO
zip_codeCEP do endereço de entrega. Ex.: 21241-140.< 9 ANNÃO
cityCidade do endereço de entrega.< 50 ANNÃO
stateEstado do endereço de entrega.< 2 ANNÃO
countryPaís do endereço de entrega seguindo a ISO 3166-1. Ex.: BRA3 ANNÃO
browser Dados adicionais do navegador
cookies_acceptedIdentifica se o browser do cliente aceita cookies. Enviar ‘true’ caso positivo.< 5 ANNÃO
emailE-mail registrado no browser do comprador.< 100 ANNÃO
host_nameNome do host onde o comprador estava antes de entrar no site da loja.< 60 ANNÃO
ip_addressEndereço IP do comprador. É altamente recomendável o envio deste campo.< 15 ANNÃO
agentNome do browser utilizado pelo comprador. Ex.: Chrome.< 40 ANNÃO
items[] Dados adicionais do produto
gift_categoryCampo que avaliará os endereços de cobrança e entrega para diferentes cidades, estados ou países. Pode assumir os seguintes valores:

OFF - Ignora a análise de risco para endereços divergentes.
YES - Em caso de divergência entre endereços de cobrança e entrega, marca com risco pequeno.
NO - Em caso de divergência entre endereços de cobrança e entrega, marca com risco alto.
< 3 ANNÃO
riskNível do risco do produto. Pode assumir os seguintes valores:

LOW - O produto tem um histórico de poucos chargebacks.
NORMAL - O produto tem um histórico de chargebacks considerado normal.
HIGH - O produto tem um histórico de chargebacks acima da média.
< 6 ANNÃO
titleNome do produto.< 255 ANNÃO
quantityQuantidade do produto a ser adquirido.< 15 NNÃO
idCódigo comerciante identificador do produto.< 255 ANNÃO
unit_pricePreço unitário do produto em centavos.< 15 NNÃO
category_idTipo do produto. Pode assumir os seguintes valores: art, baby, coupon, donation, computing, camera, video_game, television, car_electronic, electronic, automotive, entertainment, fashion, game, home, musical, phone, service, learning, ticket, travel, virtual_good, physical, other, adult_content, gift_certificate, handling, shipping, shipping_and_handling ou subscription< 21 ANNÃO
items[]
.hedge
Dados adicionais da compra do produto
timeNível de importância da hora do dia do pedido do cliente. Pode assumir os seguintes valores:

LOW - Baixa importância no horário do dia em que foi feita a compra, para a análise de risco.
NORMAL - Média importância no horário do dia em que foi feita a compra, para a análise de risco.
HIGH - Alta importância no horário do dia em que foi feita a compra, para a análise de risco.
OFF - O horário da compra não afeta a análise de risco.
< 6 ANNÃO
hostNível de importância do e-mail e endereços IP dos clientes em risco de pontuação. Pode assumir os seguintes valores:

LOW - Baixa importância do e-mail e endereço IP na análise de risco.
NORMAL - Média importância do e-mail e endereço IP na análise de risco.
HIGH - Alta importância do e-mail e endereço IP na análise de risco.
OFF - E-mail e endereço IP não afetam a análise de risco.
< 6 ANNÃO
non_sensicalNível dos testes realizados sobre os dados do comprador com pedidos recebidos sem sentido. Pode assumir os seguintes valores:

LOW - Baixa importância da verificação feita sobre o pedido do comprador, na análise de risco.
NORMAL - Média importância da verificação feita sobre o pedido do comprador, na análise de risco.
HIGH - Alta importância da verificação feita sobre o pedido do comprador, na análise de risco.
OFF - Verificação do pedido do comprador não afeta a análise de risco.
< 6 ANNÃO
obscenitiesNível de obscenidade dos pedidos recebidos. Pode assumir os seguintes valores:

LOW - Baixa importância da verificação sobre obscenidades do pedido do comprador, na análise de risco.
NORMAL - Média importância da verificação sobre obscenidades do pedido do comprador, na análise de risco.
HIGH- Alta importância da verificação sobre obscenidades do pedido do comprador, na análise de risco.
OFF - Verificação de obscenidade no pedido do comprador não afeta a análise de risco.
< 6 ANNÃO
phoneNível dos testes realizados com os números de telefones. Pode assumir os seguintes valores:

LOW - Baixa importância nos testes realizados com números de telefone.
NORMAL - Média importância nos testes realizados com números de telefone.
HIGH - Alta importância nos testes realizados com números de telefone.
OFF - Testes de números de telefone não afetam a análise de risco.
< 6 ANNÃO
velocityNível de importância de frequência de compra do cliente. Pode assumir os seguintes valores:

LOW - Baixa importância no número de compras realizadas pelo cliente nos últimos 15 minutos.
NORMAL - Média importância no número de compras realizadas pelo cliente nos últimos 15 minutos.
HIGH - Alta importância no número de compras realizadas pelo cliente nos últimos 15 minutos.
OFF - A frequência de compras realizadas pelo cliente não afeta a análise de fraude.
< 6 ANNÃO
items[]
.passenger
Dados adicionais do passageiro
emailE-mail do passageiro.< 255 ANNÃO
legal_documentId do passageiro a quem o bilhete foi emitido.< 32 ANNÃO
nameNome do passageiro.< 120 ANNÃO
ratingClassificação do passageiro. Pode assumir os seguintes valores:

ADULT - Passageiro adulto.
CHILD - Passageiro criança.
INFANT - Passageiro infantil.
YOUTH - Passageiro adolescente.
STUDENT - Passageiro estudante.
SENIOR_CITIZEN - Passageiro idoso.
MILITARY - Passageiro militar.
< 14 ANNÃO
customer_classClassificação da empresa aérea. Pode-se usar valores como Gold ou Platina.< 32 ANNÃO
items[]
.passenger
.phone
Dados adicionais do telefone do passageiro
ddiCódigo do país do telefone do passageiro. Para pedidos fora dos EUA, é recomendável o envio deste campo.< 3 NNÃO
dddCódigo da área do telefone do passageiro.< 3 NNÃO
numberNúmero de telefone do passageiro.< 9 NNÃO
extra_param
.acquirer_params[]
Parâmetros adicionais da adquirente
keyId das informações adicionais a serem enviadas.< 1024 NNÃO
valueValor das informações adicionais a serem enviadas.< 1024 ANNÃO
shipment Dados sobre o serviço de entrega
nameNome do destinatário da entrega.< 255 ANNÃO
methodTipo de serviço de entrega do produto. Pode assumir os seguintes valores:

SAME_DAY – Serviço de entrega no mesmo dia.
ONE_DAY – Serviço de entrega noturna ou no dia seguinte.
TWO_DAY – Serviço de entrega em dois dias.
THREE_DAY – Serviço de entrega em três dias.
LOW_COST – Serviço de entrega de baixo custo.
PICKUP – Produto retirado na loja.
OTHER – Outro método de entrega.
NONE – Sem serviço de entrega, pois é um serviço ou assinatura.
< 9 ANNÃO
shipment
.phones
Dados sobre o telefone do destinatário
ddiCódigo do país do telefone do destinatário da entrega. Para pedidos fora dos E.U.A., é recomendável o envio deste campo.< 3 ANNÃO
dddCódigo da área do telefone do destinatário da entrega.< 3 ANNÃO
numberNúmero de telefone do destinatário da entrega.< 9 ANNÃO
connections[] Dados sobre conexões do voo
flight_dateData, hora e minuto de partida do voo no formato YYYY-MM-DDTHH:MM:SS Ex.: 1991-01-02T08:30:00< 19 ANNÃO
fromCódigo do aeroporto do ponto de origem da viagem. Ex.: CGH.< 3 ANNÃO
toCódigo do aeroporto do ponto de destino da viagem. Ex.: GYN.< 3 ANNÃO

O retorno do pagamento contará com os seguintes campos adicionais:

ParâmetroDescriçãoFormato
payment
.analysis
Dados sobre análise de fraude
codeCódigo de resposta da operação de análise de fraude.< 4 N
messageMensagem de resposta da operação de análise de fraude.< 200 AN
statusStatus da transação de análise de fraude do e-SiTef. Este campo pode assumir os seguintes valores:

NOV – Nova.
EXP – Expirada.
ACC – Aceita
REJ – Rejeitada
REV – Em revisão
INV – Inválida
= 3 AN

Zero Dóllar

A chamada do Zero Dóllar consiste numa chamada de pagamento com o campo amount com valor igual a zero e pode ser efetuada para Visa, Mastercard e Elo, Crédito e Débito, utilizando a interface REST.

Pagamento HTML

Os tópicos abaixo se referem à etapa de criação da transação, em que o lojista envia um documento JSON para o e-SiTef. Para mais informações sobre como efetuar um pagamento pela interface HTML, consulte a página de pagamento via HTML.

Crédito

Nenhuma particularidade em relação a outros meios de pagamento.

Crédito com autenticação

Para realizar um crédito com autenticação, o parâmetro abaixo deve ser enviado:

ParâmetroDescriçãoFormatoObrigatório
authorizer_authenticationDefine se o lojista deseja um pagamento com autenticação. Enviar true caso positivo ou false caso contrário. Este campo deve ser enviado com o valor true caso se deseje confirmar a transação, ou false, caso queira desfazer o pagamento.< 5 ANSIM para crédito com autenticação

Exemplo:

{
    "merchant_id":"LOJATESTE",
    "order_id":"20150925001",
    "amount":"1000",
    "transaction_type":"payment",
    "authorizer_authentication":"true"
}

Débito

Operações de débito sempre exigem autenticação e, com isso, independem do envio do campo authorizer_authentication.

Toda operação de débito é auto-confirmada, logo não permitimos realizar débito com confirmação tardia.

Crédito com análise de fraude

O lojista deverá enviar no elemento additional_data os campos referentes à análise de fraude. Exemplo:

{
   "merchant_id":"LOJACIELOEC",
   "merchant_usn":"9876",
   "order_id":"11",
   "redirect":"M",
   "authorizer_id":"",
   "amount":"1000",
   "installments":"",
   "installment_type":"",
   "style":"N",
   "soft_descriptor":"",
   "transaction_type":"payment",
   "back_url":{
      "url_success":"lojateste/loja/loja-index.jsp?pagina=sucesso",
      "url_failure":"lojateste/loja/loja-index.jsp?pagina=fracasso",
      "url_cancel":"lojateste/loja/loja-index.jsp?pagina=fracasso"
   },
   "additional_data":{
      "payer":{
         "name":"Comprador",
         "surname":"credito AF",
         "email":"compradorteste@live.com",
         "city":"Rio de Janeiro",
         "state":"RJ",
         "address_street_name":"Rua Jupiter",
         "address_street_number":"174",
         "address_zip_code":"21241140",
         "born_date":"1991-01-02T08:30:00",
         "address_street_complement":"AP 201",
         "address_country":"BRA"
      },
      "shipment":{
         "method":"LOW_COST",
         "name":"Sr Comprador Teste",
         "phones":[
            {
               "number":"21114740",
               "ddd":"16",
               "ddi":"55"
            }
         ],
         "receiver_address":{
            "complement":"AP 201",
            "city":"Rio de Janeiro",
            "state":"RJ",
            "country":"BRA",
            "zip_code":"21241140",
            "street_number":"174",
            "street_name":"Rua Jupiter"
         }
      },
      "connections":[
         {
            "from":"RAO",
            "to":"SAO",
            "flight_date":"2020-01-02T20:15:00"
                     }
      ],
      "gift":"false",
      "browser":{
         "email":"compradorteste@live.com",
         "agent":"Chrome",
         "cookies_accepted":"false",
         "host_name":"Teste",
         "ip_address":"200.190.150.350"
      },
      "items":[
         {
            "title":"ItemTeste",
            "quantity":"1",
            "id":"1488392648367",
            "risk":"HIGH",
            "hedge":{
               "time":"NORMAL",
               "host":"OFF",
               "17efine17ical":"OFF",
               "obscenities":"OFF",
               "phone":"OFF",
               "velocity":"HIGH"
            },
            "passenger":{
               "name":"Comprador accept",
               "email":"compradorteste@live.com",
               "rating":"ADULT",
               "phone":{
                  "number":"999994444",
                  "ddd":"11",
                  "ddi":"55"
               },
               "legal_document":"1234567890",
               "customer_class":"Gold"
            },
            "unit_price":"1000",
            "category_id":"other",
            "gift_category":"OFF"
         }
      ],
      "extra_param":{
         "acquirer_params":[
            {
               "key":"95",
               "value":"Eu 17efine isso"
            }
         ]
      },
      "anti_fraud":"enabled_before_auth",
      "anti_fraud_institution":"AUTHORIZER",
      "anti_fraud_criteria":"ALWAYS",
      "finger_print_id":"074c1ee676ed4998ab66491013c565e2",
      "returns_accepted":"true",
      "journey_type":"OUTWARD"
   }
}

Transferência Eletrônica

Nenhuma particularidade em relação a outros meios de pagamento.

Pré-Autorização REST

Crédito

É possível enviar o campo abaixo na etapa de efetivação da pré-autorização:

ParâmetroDescriçãoFormatoObrigatório
card
holderNome do portador impresso no cartão< 25 ANNÃO
external_authentication
eciEletronic Commerce Indicator – indica o nível de segurança da transação com autenticação do dono do cartão< 3 NNÃO
xidIdentificador da transação de autenticação do dono do cartão, feita em serviço externo ao e-SiTef< 40 NNÃO
cavvCardholder Authentication Verification Value - Código que indica o resultado da autenticação do dono do cartão.< 40 NNÃO
versionVersão do 3DS utilizado no processo de autenticação.1 ANSIM para versão 2 do 3DS
reference_idRequestID retornado no processo de autenticação.36 ANSIM para versão 2 do 3DS

Crédito com análise de fraude

Para realizar um crédito com análise de fraude, é necessário enviar o campo additional_data contendo informações adicionais de anti-fraude. O formato de seu valor é o mesmo descrito aqui.

No retorno da pré-autorização, serão devolvidos adicionalmente os seguintes campos:

ParâmetroDescriçãoFormato
pre_authorization
.analysis
Dados sobre análise de fraude
codeCódigo de resposta da operação de análise de fraude.< 4 N
messageMensagem de resposta da operação de análise de fraude.< 200 AN
statusStatus da transação de análise de fraude do e-SiTef. Este campo pode assumir os seguintes valores:

NOV – Nova.
EXP – Expirada.
ACC – Aceita
REJ – Rejeitada
REV – Em revisão
INV – Inválida
= 3 AN

Parcelamento

Dados de parcelamento devem ser enviados na etapa de efetivação da pré-autorização e caso não sejam enviados, o e-SiTef assume que a transação é à vista. Em seguida, na captura, os mesmos dados de parcelamento devem ser enviados.

Pré-Autorização HTML

Os tópicos abaixo se referem à etapa de criação da transação, em que o lojista envia um documento JSON para o e-SiTef. Para mais informações sobre como efetuar uma pré-autorização pela interface HTML, consulte a página de pré-autorização.

Crédito com/sem análise de fraude

Os parâmetros a serem enviados seguem o mesmo formato de um pagamento HTML.

Parcelamento

Na etapa de captura, os mesmos dados de parcelamento utilizados na pré-autorização devem ser enviados.

Cancelamento REST

Saiba mais sobre essa interface.

Cartões de testes

A Cielo disponibiliza o seguinte número de cartão para testes:

BandeiraNúmero do CartãoVencimentoCVV
VISA402400719769293112/2022123

Restrições

O roteamento CieloEC não suporta pagamentos do tipo IATA (International Air Transport Association).

Campos de MCC Dinâmico

Inicialização da transação de pagamento ou de pré-autorização REST

Parâmetros de requisição

Adicionalmente aos campos mencionados no Serviço de criação de transação REST, os campos abaixo são usados no cenário específico de MCC dinâmico da integração com o Cielo ECommerce:

ParâmetroDescriçãoFormatoObrigatório
soft_descriptorFrase personalizada que será impressa na fatura do portador. Para informação referente ao MCC dinâmico, equivale ao nome do sublojista.< 18 ANSIM
additional_data Elemento para envio de dados adicionais.
mccMCC do sublojista.= 4 NSIM
subacquirer_merchant_idCódigo do sublojista. Campo legado!!! Dar preferência ao additional_data.subacquirer_merchant.id< 15 NNÃO
additional_data.subacquirer_merchant Elemento para envio de dados referentes ao lojista de uma subadquirente.
idCódigo do sublojista.< 15 NSIM
phone_numberNúmero de Telefone do sublojista.< 14 ANNÃO
addressEndereço do sublojista.< 48 ANNÃO
cityCidade do sublojista.< 13 ANNÃO
stateEstado do sublojista, em formato de sigla de dois dígitos (ex.: SP).= 2 ASIM
countryPaís do sublojista. Seguir o padrão ISO 3166-1 alpha-2 (ex.: BR).= 2 ASIM
zip_codeCódigo postal do sublojista.< 9 ANSIM
identification_numberCNPJ do sublojista.< 18 NSIM
payment_facilitator_idCódigo do facilitador.< 11 NSIM

Exemplo

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
  "merchant_usn": "19035815234",
  "order_id": "1616438400044",
  "installments": "1",
  "installment_type": "4",
  "authorizer_id": "2",
  "amount": "1300",
  "soft_descriptor": "L012121",
  "additional_data": {
    "mcc": "1111",
    "subacquirer_merchant": {
      "id": "12345",
      "address": "Avenida Paulista, 2000",
      "city": "São Paulo",
      "state": "SP",
      "country": "BR",
      "zip_code": "01107001",
      "identification_number": "53455823000178",
      "payment_facilitator_id": "654321",
      "phone_number": "+55 11 99999-9999"
    }
  }
}

Resposta:

{
    "code": "0",
    "message": "OK. Transaction successful.",
    "payment": {
        "status": "NOV",
        "nit": "6215a32a557f5dc4627b540f517e40abd6a8411cf89a2e073913aa25d7c95590",
        "order_id": "1616438400044",
        "merchant_usn": "19035815234",
        "amount": "1300"
    }
}

Parâmetros na efetivação do pagamento ou da pré-autorização REST

Adicionalmente aos campos mencionados nos Serviço de efetivação de pagamento REST e Serviço de efetivação de Pré-Autorização REST, os campos abaixo são usados no cenário específico de MCC dinâmico da integração com a Cielo EC:

ParâmetroDescriçãoFormatoObrigatório
soft_descriptorFrase personalizada que será impressa na fatura do portador. Para informação referente ao MCC dinâmico, equivale ao nome do sublojista. Obrigatório somente se não foi enviado no soft_descriptor da etapa de inicialização da transação.< 18 ANCOND.
mccMCC do sublojista. Obrigatório somente se não foi enviado no additional_data.mcc da etapa de inicialização da transação.= 4 NCOND.
subacquirer_merchant_idCódigo do sublojista. Obrigatório somente se não foi enviado no additional_data.subacquirer_merchant.id da etapa de inicialização da transação.< 15 NCOND.

ATENÇÃO!

É na efetivação que enviamos os dados acumulados de MCC dinâmico. Porém, se o campo mcc não for enviado em nenhum momento nem estiver cadastrado, os outros campos de MCC dinâmico não serão repassados. Este campo é necessário para identificar que o lojista deseja enviar dados de subadquirência.

Exemplo

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/preauthorizations/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
    "card": {
        "number": "4024007197692931",
        "expiry_date": "1222",
        "security_code": "123"
    }
}


Resposta:

{
    "code": "0",
    "message": "OK. Transaction successful.",
    "payment": {
        "authorizer_code": "6",
        "authorizer_message": "Operation Successful",
        "status": "CON",
        "nit": "6215a32a557f5dc4627b540f517e40abd6a8411cf89a2e073913aa25d7c95590",
        "order_id": "1616438400044",
        "customer_receipt":"=== CUSTOMER RECEIPT ===",
        "merchant_receipt":"=== MERCHANT RECEIPT ===",
        "authorizer_id": "2",
        "acquirer_id": "201",
        "acquirer_name": "Cielo e-Commerce",
        "authorizer_date": "22/03/2021T15:40",
        "authorization_number": "316176",
        "merchant_usn": "19035815234",
        "esitef_usn": "210322068747730",
        "host_usn": "362400",
        "tid": "9fcd1663-0662-4761-9b9b-b269217cfc32",
        "amount": "1300",
        "payment_type": "C",
        "authorizer_merchant_id": "6d29e58f-b29f-4e7e-8bf2-4d53b71acc1e",
        "payment_date": "22/03/2021T15:40"
    }
}

Tabela de correspondência de campos

Segue abaixo a tabela de correspondência entre os campos de MCC dinâmico definidos pela interface do Cielo ECommerce e os campos do e-SiTef.

Campo Cielo ECCampo e-SiTefObservações
Softdescriptor(1)soft_descriptorO campo soft_descriptor do e-SiTef pode ser enviado na etapa de criação da transação ou cadastrado pela equipe de atendimento do e-SiTef.
EstablishmentCode(3)additional_data / subacquirer_merchant / payment_facilitator_id ou paymentFacilitatorIdO campo PaymentFacilitatorID do Cielo ECommerce pode ser enviado na etapa de criação da transação ou ser configurado quando um roteamento de uma autorizadora é feito via e.Rede REST. Neste último caso, o seu valor pode ser alterado pelo Portal do Lojista ("Autorizadoras" > "Configurar Autorizadoras") ou por solicitacão à equipe de atendimento do e-SiTef.
Mcc(2)additional_data / mcc ou mccO campo mcc do e-SiTef pode ser enviado na etapa de criação da transação, na efetivação do pagamento ou da pré-autorização REST ou cadastrado pela equipe de atendimento do e-SiTef.
EstablishmentCode(2)additional_data / subacquirer_merchant_id ou additional_data / subacquirer_merchant / id ou subacquirer_merchant_id ou subacquirerMerchantIdO campo SubMerchant / SubMerchantID pode ser enviado na etapa de criação da transação, na efetivação do pagamento ou da pré-autorização REST ou ser configurado quando um roteamento de uma autorizadora é feito via Cielo ECommerce. Neste último caso, o seu valor pode ser alterado pelo Portal do Lojista ("Autorizadoras" > "Configurar Autorizadoras") ou por solicitacão à equipe de atendimento do e-SiTef.
Identity(2)additional_data / subacquirer_merchant / identification_numberEste campo pode ser enviado na criação da transação. É possível cadastrar um valor padrão. Entre em contato com o atendimento do e-SiTef para cadastrar ou alterar o valor padrão deste campo em sua loja.
Address(2)additional_data / subacquirer_merchant / addressEste campo pode ser enviado na criação da transação. É possível cadastrar um valor padrão. Entre em contato com o atendimento do e-SiTef para cadastrar ou alterar o valor padrão deste campo em sua loja.
City(2)additional_data / subacquirer_merchant / cityEste campo pode ser enviado na criação da transação. É possível cadastrar um valor padrão. Entre em contato com o atendimento do e-SiTef para cadastrar ou alterar o valor padrão deste campo em sua loja.
State(2)additional_data / subacquirer_merchant / stateEste campo pode ser enviado na criação da transação. É possível cadastrar um valor padrão. Entre em contato com o atendimento do e-SiTef para cadastrar ou alterar o valor padrão deste campo em sua loja.
CountryCode(2)additional_data / subacquirer_merchant / countryEste campo pode ser enviado na criação da transação. É possível cadastrar um valor padrão. Entre em contato com o atendimento do e-SiTef para cadastrar ou alterar o valor padrão deste campo em sua loja.
PostalCode(2)additional_data / subacquirer_merchant / zip_codeEste campo pode ser enviado na criação da transação. É possível cadastrar um valor padrão. Entre em contato com o atendimento do e-SiTef para cadastrar ou alterar o valor padrão deste campo em sua loja.
PhoneNumber(2)additional_data / subacquirer_merchant / phone_numberEste campo pode ser enviado na criação da transação. É possível cadastrar um valor padrão. Entre em contato com o atendimento do e-SiTef para cadastrar ou alterar o valor padrão deste campo em sua loja.
Legenda das estruturas
(1) Estrutura Payment
(2) Estrutura PaymentFacilitator.SubEstablishment
(3) Estrutura PaymentFacilitator

EPX

A loja tem a possibilidade de configurar o roteamento de transações feitas com cartão de crédito no e-SiTef por vários meios de pagamento, um desses meios é o EPX.

Interfaces e-SiTef suportadas para integração

É possível utilizar as seguintes interfaces para a integração com o roteamento EPX:

  • Pré Autorização REST
  • Pagamento REST
  • Cancelamento REST
  • Pagamento HTML
  • Pré-Autorização HTML
  • Cancelamento no Portal do Lojista

Credenciais necessárias

A loja deve obter com o EPX as credenciais listadas abaixo, e repassá-las à Software Express ou fazer o cadastro no Portal do Lojista do e-SiTef.

ParâmetroDescrição
CUST_NBRNível de hierarquia do banco patrocinador do lojista nos sistemas internos do EPX.
MERCH_NBRNível de hierarquia de liquidação nos sistemas internos do EPX.
DBA_NBRNível de hierarquia de "doing business as" (DBA) nos sistemas internos do EPX.
TERMINAL_NBRNível de hierarquia do terminal nos sistemas internos do EPX.

Parâmetros de serviço de criação de transação

Requisição

ParâmetroDescriçãoFormatoObrigatório
amountValor total da compra (em centavos). Exemplo: 1,00 = 100 ou 1.100,00 = 110000 – enviar o valor sem a vírgula e ponto.< 12 NSim
merchant_usnNúmero sequencial único enviado pela loja na criação da transação.< 12 NNão
order_idCódigo do pedido para ser exibido ao comprador, definido pelo lojista. É aconselhável que seja diferente a cada pedido para que facilite a rastreabilidade.< 40 ANNão
soft_descriptorTexto adicional que será apresentado junto ao nome do estabelecimento na fatura do cartão de crédito do comprador.< 30 ANão
additional_data Campos adicionais
tax_amountÉ um campo de referência que contém o valor do imposto incluído no valor da transação (em centavos).< 12 NNão
tax_exemptIndica se a transação é isenta de impostos. Enviar um dos seguintes valores:
Y - transação é isenta de impostos.
N - transação não é isenta de impostos e necessita do envio do campo tax_amount.
< 1 ANão
tip_amountContém o valor da gorjeta incluída no valor da transação (em centavos).< 12 NNão
additional_data
.extra_param
Parâmetros extras
acquirer_params[]Representa os campos opcionais que o comerciante pode usar para armazenar informações sobre a transação.< 80 ANNão
additional_data
.payer
Dados do comprador
born_dateData de nascimento do comprador, no formato AAAA-MM-DDTHH:MM:SS. Ex.: 1991-01-02T08:30:0019 NNão
nameNome do comprador< 25 ANão
surnameSobrenome do comprador< 25 ANão
identification_numberDocumento de identificação do comprador (CPF/RG).< 20 ANNão
additional_data
.payer
.address
Endereço do comprador
street_nameNome da rua do comprador. Este campo será enviado ao EPX concatenado com `street_number.< 30 ANNão
street_numberNúmero do endereço do comprador.< 30 ANNão
stateEstado do endereço do comprador. Ex.: SP< 2 ANão
zip_codeCEP do endereço do comprador< 9 ANNão
additional_data
.payer
.phones
Telefone do comprador
numberContém o número de telefone do cliente.< 10 NNão
typeCampo utilizado para diferenciar os tipos de telefone:
6 - Celular
2 - Comercial
1 - Residencial
1 NNão

IMPORTANTE: o EPX NÂO recebe informações relativas a parcelamento e financiamento. Com isso, somente transações à vista são suportadas.

Exemplo de requisição da chamada de criação de transação

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef-hml/api/v1/transactions"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "merchant_usn":"2061433036",
   "order_id":"02061433035",
   "installments":"1",
   "installment_type":"4",
   "authorizer_id":"1",
   "amount":"10000",
   "additional_data":{
      "payer":{
         "address":{
            "zip_code":"12345678",
            "street_number":"123",
            "street_name":"John Street",
            "city":"San Francisco",
            "state":"CA"
         },
         "phones":[
            {
               "number":"12345678901",
               "type":"6"
            }
         ]
      }
   }
}
--verbose

Parâmetros de serviço de efetivação do pagamento e pré-autorização

Requisição

ParâmetroDescriçãoFormatoObrigatório
card Dados do cartão
numberNúmero do cartão do comprador< 19 NSim
barcode_dataContém os dados do código de barras. Este campo deve ser enviado com o campo acquirer.input_type com valor A e suporta os formatos não criptografados PAN ou TLV Visa. Mais detalhes aqui.< 100 ANNão
idContém o código que representa a forma de identificação do portador do cartão. Pode receber os seguintes valores:
0 - Portador presente
1 - Portador não presente
M - Portador presente, cartão ilegível
< 1 ANNão
security_codeCódigo de segurança do cartão.< 4 NNão
expiry_dateData de vencimento do cartão no formato MMAA.4 NNão
issue_numberNúmero de emissão do cartão de crédito.< 3 NNão
issue_dateData de emissão do cartão de crédito no formato MMAA.< 4 ANão
card.crypto Dados da criptografia do cartão
typeIdentifica a encriptação utilizada:
0 - Usar o campo acquirer.input_type para identificar o formato
1 - Formato MagTek V2
2 Formato 3DES (genérica)
1 NNão
card.crypto Dados de EMV do cartão
dataContém as tags EMV, em transações processadas por meio de chip EMV.<510 ANNão
track_1 ou track_2Contém os dados da tarja magnética do cartão de crédito ou débito. track_1 deve ser usado ao processar uma transação com cartão de crédito, e track_2 deve ser usado se a track_1 estiver indisponível ou ao processar uma transação de débito ou EBT.<256 ANNão
acquirer Dados da adquirente
aciIdentifica características específicas da transação. Pode receber os seguintes valores:
R - Transação é recorrente
P - Transação é uma parcela
1 ANNão
input_typeModo de entrada do cartão. Pode receber os seguintes valores:
X - Digitado
A - Código de barras
H - Trilha 1
D - Trilha 2
1 ASim
cash_back_amountValor referente ao reembolso (em centavos).<12 NNão
reference_numberNúmero da conta de luz, telefone ou aluguel sendo paga nesta transação.<25 ANNão
operator_codeContém o nome de usuário da pessoa que está enviando a transação.<25 ANão
soft_descriptor_2Campo usado para substituir a seção de cidade/estado do Merchant Descriptor na fatura do portador do cartão.<40 ANão
terminal Dados do terminal
chip_conditionsCampo usado para indicar o motivo da transação de fallback EMV :
0 - Não aplicável a transações de fallback. Para transações de VSDC deve ser 0
1 - A transação foi iniciada a partir de uma tarja magnética com um service code iniciado em 2 ou 6 e a última leitura no terminal VSDC foi uma leitura de chip bem-sucedida ou não foi uma transação de chip.
2 - A transação foi iniciada em um terminal compatível com chip de uma tarja magnética que contém service code 2 ou 6, e a transação anterior iniciada por esse terminal foi uma leitura de chip malsucedida.
1 NNão
authentication Dados de autenticação
authentication.pin Dados do pin de autenticação
valuePIN Criptografado. Obrigatório quando for digitada a senha online do portador do cartão.< 64 ANNão
authentication.pin.crypto Dados da criptografia do pin de autenticação
ksnKSN da criptografia do PIN. Obrigatório quando for digitada a senha online do portador do cartão.< 20 ANNão

Detalhes do campo barcode_data

PosiçãoTamanhoFormatoDescrição
1-33NTipo:
- 000 = PAN - Sem criptografia
- 001 = Visa - TLV - Sem criptografia
4-NVariávelANSDados de código de barra

Exemplo de requisição da chamada de pagamento

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef-hml/api/v1/payments/1234567890abcdefghijklmnopqrstuvw
xyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "card":{
      "number":"4111111111111111",
      "expiry_date":"1222"
   },
   "acquirer":{
      "input_type":"X"
   }
}
--verbose

Parâmetros de resposta

ParâmetroDescriçãoFormato
balanceSaldo disponível após pagamentos com vouchers (em centavos).< 12 N
avs_resultContém a resposta do Address Verification System para a transação solicitada.1 A
authorization_numberNúmero de autorização.< 6 AN
cvv2_responseContém a resposta CVV2 para a transação solicitada.1 A
emv_dataDados EMV.< 510 AN
tidIdentificação da transação no EPX.< 20 AN
authorizer_response_codeCódigo de resposta do EPX.< 3 AN
authorizer_response_messageMensagem de resposta do EPX.< 80 AN
authorizer_dateData de efetivação do pagamento retornada pelo autorizador no formato DD/MM/AAAA’T’HH:mm. Exemplo: 13/07/2017T16:0316 AN

Exemplo de resposta da chamada de pagamento

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "payment":{
      "authorizer_code":"00",
      "authorizer_message":"EXACT MATCH",
      "status":"CON",
      "nit":"77866520f106682a128d0e2f8ef4c92517c043fa98e3a77a1ffd37ae884ebc47",
      "order_id":"02061433035",
      "customer_receipt":"===== RECEIPT= ====",
      "merchant_receipt":"===== RECEIPT= ====",
      "authorizer_id":"1",
      "acquirer_id":"0",
      "acquirer_name":"EPX",
      "authorizer_date":"02/01/2019T18:15",
      "authorization_number":"053130",
      "merchant_usn":"2061433036",
      "esitef_usn":"190102021262100",
      "tid":"09KGH48QH799RU2QY3V",
      "amount":"10000",
      "payment_type":"C",
      "authorizer_merchant_id":"700010",
      "avs_result":"Y",
      "payment_date":"02/01/2019T18:15"
   }
}

e.Rede REST

A loja tem a possibilidade de configurar o roteamento de transações feitas com cartões de crédito e débito no e-SiTef por vários meios de pagamento, um desses meios é o e.Rede REST. Esta é a plataforma e-commerce da adquirente Rede.

Será usada a nomenclatura "e.Rede REST" para referenciar o roteamento no e-SiTef.

Atenção: O e-SiTef possui o roteamento e-Rede, porém esta integração é uma versão anterior com funcionalidades limitadas e não terá mais suporte a atualizações. Logo, a opção e.Rede REST é a recomendada atualmente.

Interfaces e-SiTef suportadas para integração

É possível utilizar as seguintes interfaces para a integração com o roteamento e.Rede REST:

  • Pagamento REST
  • Pré-Autorização REST
  • Captura REST
  • Cancelamento REST
  • Pagamento HTML
  • Pré-Autorização HTML
  • Cancelamento no Portal do Lojista

Credenciais necessárias

A loja deve obter com a e.Rede as credenciais listadas abaixo, e repassá-las à Software Express ou fazer o cadastro no Portal do Lojista do e-SiTef conforme será explicado mais a frente neste mesmo documento.

CampoDescriçãoFormato
filiationCódigo identificador gerado pela Rede para os estabelecimentos filiados. O PV (ponto de venda) é único para cada estabelecimento.< 8 AN
tokenCódigo de segurança gerado pela Rede utilizado para garantir a integridade da transação. Faz parte, junto com o PV, das credenciais de autenticação da API< 32 AN
threeDSecureOnFailureIndica se deve prosseguir com a autorização em caso de falha na autenticação 3DSNão prossegue ou Prossegue
subacquirerMerchantIdCódigo do sub lojista. Utilizável somente quando for usar o MCC Dinâmico< 32 AN
independentSalesOrganizationIdCódigo da organização de vendas independente. Utilizável somente quando for usar o MCC Dinâmico< 11 AN
paymentFacilitatorIdCódigo do facilitador. Utilizável somente quando for usar o MCC Dinâmico.< 11 N

Aviso importante para o Pagamento HTML: No caso de uma autorizadora da loja não ter cadastrado essas credenciais, essa autorizadora não será exibida na tela de seleção de cartão de crédito durante a operação de pagamento.

Cadastro das informações pelo Portal do Lojista e-SiTef

O próprio lojista pode cadastrar as informações obtidas com a e.Rede no Portal do Lojista do e-SiTef. Para essa finalidade, o lojista deve selecionar a autorizadora e entrar na tela de edição como no exemplo exibido abaixo:

Portal e.Rede REST

Saiba mais detalhes sobre o Portal do Lojista.

Fluxos

Nesta seção serão apresentadas as particularidades do fluxo transacional e.Rede REST.

Atualmente, o e.Rede REST não permite parcelamento com juros da administradora do cartão, ou seja, o campo installments_type não pode receber os valores 3 ou 6. O campo installments permite o máximo de 12 parcelas.

Criação de Transação de Pagamento (HTML e REST)

MCC Dinâmico

Campos relevantes na chamada descrita no Serviço de criação de transação HTML e no Serviço de criação de transação REST:

ParâmetroDescriçãoFormatoObrigatório
soft_descriptor (*)Texto adicional que será apresentado junto ao nome do estabelecimento na fatura do cartão de crédito do comprador. Saiba mais< 13 ANNÃO
additional_data Elemento para envio de dados adicionais.
mcc (*)O MCC (Merchant Category Code) é um código que classifica um negócio pelo tipo de bens ou produtos fornecidos.< 4 NNÃO
postpone_confirmationCampo que permite que loja mantenha a transação como Pendente de Confirmação, e posteriormente, confirmá-la ou desfazê-la.< 5 ANÃO

(*) Aviso sobre SoftDescriptor e MCC: No contexto de marketplace ou facilitador de pagamentos, é permitido o uso de ambos os campos pela requisição ou utilizando dados cadastrados no backoffice do e-SiTef. Os valores enviados via requisição possuem precedência sobre os valores cadastrados. Adicionalmente, para o mesmo contexto, pode ser cadastrado no e-SiTef o id de SubLoja a ser informado no pagamento. Sobre o cadastro destes valores, por favor entre em contato com a equipe de atendimento do e-SiTef.

Autenticação 3DS Rede

Campos relevantes na chamada descrita no Serviço de criação de transação HTML e no Serviço de criação de transação REST:

ParâmetroDescriçãoFormatoObrigatório
authorizer_authenticationDefine se o lojista deseja um pagamento com autenticação na autorizadora. Enviar true caso positivo.< 5 ANSIM para crédito com autenticação
back_url Elemento para envio das urls de redirecionamento utilizadas na autenticação MPI Rede
url_success (*)URL de redirecionamento do cliente em caso de sucesso. Deve possuir apenas o caminho relativo ao domínio.< 87 ANÃO
url_failure (*)URL de redirecionamento do cliente em caso de fracasso. Deve possuir apenas o caminho relativo ao domínio.< 87 ANÃO

É possível realizar um pagamento com autenticação 3DS MPI Rede, desde que esta funcionalidade esteja ativa na conta do lojista na e.Rede. Para utilizar esta funcionalidade no e-SiTef, basta enviar o parâmetro authorizer_authentication com valor true na etapa de criação da transação.

Para pagamentos com cartão de débito, a autenticação é obrigatória, a não ser no caso de Auxílio Emergencial.

(*) Importante: Para pagamentos REST com MPI Rede é obrigatório o envio das informações de backurl referentes aos casos de sucesso e fracasso, para o correto redirecionamento do usuário para a loja ao final do processo de autenticação.

Para cada uma delas o tamanho total da URL (domínio da loja cadastrado no e-SiTef + caminho relativo) deve possuir no máximo 87 caracteres.

Exemplo de requisição de criação de transação para Pagamento REST:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
    "merchant_usn":"123456789",
    "order_id":"pedido001",
    "amount":"2200",
    "authorizer_id":"2",
    "installments":"2",
    "installment_type":"4",
    "authorizer_authentication":"true",
    "back_url":{
        "url_success":"/urlSucesso.html",
        "url_failure":"/urlFracasso.html"
    }
}
{
--verbose

No caso de falha de autenticação, o lojista pode escolher dar prosseguimento no pagamento ou ter o pagamento interrompido(não prosseguir). Este comportamento deve ser cadastrado no backoffice do e-SiTef, sendo que o seu valor padrão é Não prosseguir caso a autenticação falhe. Para esta configuração, por favor consulte a equipe de atendimento do e-SiTef ou isto pode ser feito via Portal do Lojista.

Pagamento REST

Essa interface suporta o envio de dados de autenticação 3DS externa (eci, xid e cavv) na etapa de efetivação do pagamento. Saiba mais.

Esta integração aceita o uso da carteira digital Visa Checkout.

Pagamento HTML

No caso de pagamento com cartão de débito que não seja elegível para o auxílio emergencial, o e-SiTef forçará a autenticação 3DS com MPI Rede, independente do envio do campo authorizer_authentication na etapa de criação da transação.

Esta integração aceita o uso da carteira digital Masterpass.

Confirmação de Pagamento

É possível confirmar um valor inferior ao valor das autorizações criadas via HTML ou via REST utilizando o campo additional_data.postpone_confirmation igual a true.

Para isso, envie na chamada de confirmação REST o valor de amount desejado:

ParâmetroDescriçãoFormatoObrigatório
confirmEste campo deve ser enviado com o valor true caso se deseje confirmar a transação, ou false, caso queira desfazer o pagamento.< 5 T/FSIM
amountValor em centavos do valor que será confirmado. Caso não seja enviado, o valor completo da transação será confirmado.< 12 NNÃO

No e.Rede REST, a confirmação de pagamento gera um novo "NSU da autorizadora" e "data de efetivação do pagamento".

Pré-Autorização REST

Essa interface suporta o envio o envio de dados de autenticação externa 3DS (eci, xid e cavv). Saiba mais.

Também é possível o envio dos campos soft_descriptor e mcc na etapa de criação de transação, da mesma forma que no Pagamento REST (veja acima).

Esta integração aceita o uso da carteira digital Visa Checkout.

No fluxo de Pré-Autorização/Captura, os dados de parcelamento devem ser enviados somente na pré-autorização.

Pré-Autorização HTML

Esta integração aceita o uso da carteira digital Masterpass.

Também é possível o envio dos campos soft_descriptor e mcc na etapa de criação de transação, da mesma forma que no Pagamento HTML (veja acima).

No fluxo de Pré-Autorização/Captura, os dados de parcelamento devem ser enviados somente na pré-autorização.

Recorrência

O e.Rede REST aceita o parâmetros de sinalização de recorrência de transações. Para isso, envie na chamada de efetivação de pagamento REST o campo acquirer.recurrency com o valor true. Caso não seja a primeira transação da recorrência, envie também o TID da primeira transação da recorrência no campo acquirer.recurrency_tid.

Para mais informações consulte a página sobre o Serviço de Efetivação de Pagamento REST.

ParâmetroDescriçãoFormatoObrigatório
acquirer Dados específicos necessários dependendo da adquirente/roteamento.
recurrencyFlag que define se o pagamento é ou não recorrente.< 5 T/FNÃO
recurrency_tidId da transação (TID) na bandeira, referente à primeira transação da recorrência. Identificador que diferencia a primeira recorrência das subsequentes. Só é utilizado quando for uma recorrência. Campo utilizado somente para as bandeiras Visa e Mastercard.< 16 ANNÃO

Cancelamento

O Cancelamento de uma transação pode ser feito no Portal do Lojista ou via Web Service REST.

As solicitações de cancelamento podem ser realizadas em até 7 dias para transações de débito e para transações de crédito o padrão é de até 90 dias, mas pode variar conforme o ramo de atuação de cada estabelecimento.

Para cancelamentos solicitados no mesmo dia da transação de autorização ou autorização com captura automática, o processamento será realizado imediatamente, caso contrário, o processamento será realizado em D+1.

Cancelamento parcial disponível somente em D+1 e para transações com captura.

Campos de MCC Dinâmico

Inicialização da transação de pagamento ou de pré-autorização REST

Parâmetros de requisição

Adicionalmente aos campos mencionados no Serviço de criação de transação REST, os campos abaixo são usados no cenário específico de MCC dinâmico da integração com o e.Rede REST:

ParâmetroDescriçãoFormatoObrigatório
soft_descriptorFrase personalizada que será impressa na fatura do portador. Para informação referente ao MCC dinâmico, equivale ao nome do sublojista.< 18 ANSIM
additional_data Elemento para envio de dados adicionais.
mccMCC do sublojista.= 4 NSIM
subacquirer_merchant_idCódigo do sublojista. Campo legado!!! Dar preferência ao additional_data.subacquirer_merchant.id< 15 NNÃO
additional_data.subacquirer_merchant Elemento para envio de dados referentes ao lojista de uma subadquirente.
idCódigo do sublojista.< 15 NSIM
addressEndereço do sublojista.< 48 ANNÃO
cityCidade do sublojista.< 13 ANNÃO
stateEstado do sublojista, em formato de sigla de dois dígitos (ex.: SP).= 2 ASIM
countryPaís do sublojista. Seguir o padrão ISO 3166-1 alpha-2 (ex.: BR).= 2 ASIM
zip_codeCódigo postal do sublojista.< 9 ANSIM
identification_numberCNPJ do sublojista.< 18 NSIM
payment_facilitator_idCódigo do facilitador.< 11 NSIM
independent_sales_organization_idCódigo da organização de vendas independente.< 11 NNÃO

Exemplo

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
    "merchant_usn": "21042858195",
    "order_id": "21042858195",
    "amount": "102",
    "installments": "1",
    "installment_type": "4",
    "mcc": "1111",
    "soft_descriptor": "LOJADOZE",
    "additional_data": {
         "subacquirer_merchant": {
            "id": "1234567890",
            "address": "Rua Acre",
            "city": "CAPIVARI",
            "state": "SP",
            "country": "BR",
            "zip_code": "07064-010",
            "identification_number": "71.789.371/0001-42",
            "payment_facilitator_id": "22349202212",
            "independent_sales_organization_id": "1234567"
        }
    }
}

Resposta:

{
    "code": "0",
    "message": "OK. Transaction successful.",
    "pre_authorization": {
        "status": "NOV",
        "nit": "c2d2887a2961a218e6e6effa8a39f281d386d581c8c8b4dc23a3af03b5c6b8c4",
        "order_id": "21042858195",
        "merchant_usn": "21042858195",
        "amount": "102"
    }
}

Parâmetros na efetivação do pagamento ou da pré-autorização REST

Adicionalmente aos campos mencionados nos Serviço de efetivação de pagamento REST e Serviço de efetivação de Pré-Autorização REST, os campos abaixo são usados no cenário específico de MCC dinâmico da integração com o e.Rede REST:

ParâmetroDescriçãoFormatoObrigatório
soft_descriptorFrase personalizada que será impressa na fatura do portador. Para informação referente ao MCC dinâmico, equivale ao nome do sublojista. Obrigatório somente se não foi enviado no soft_descriptor da etapa de inicialização da transação.< 18 ANCOND.
mccMCC do sublojista. Obrigatório somente se não foi enviado no additional_data.mcc da etapa de inicialização da transação.= 4 NCOND.
subacquirer_merchant_idCódigo do sublojista. Obrigatório somente se não foi enviado no additional_data.subacquirer_merchant.id da etapa de inicialização da transação.< 15 NCOND.

ATENÇÃO!

É na efetivação que enviamos os dados acumulados de MCC dinâmico. Porém, se o campo mcc não for enviado em nenhum momento nem estiver cadastrado, os outros campos de MCC dinâmico não serão repassados. Este campo é necessário para identificar que o lojista deseja enviar dados de subadquirência.

Exemplo

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/preauthorizations/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
    "authorizer_id":"2",
    "installments":"1",
    "installment_type":"4",
    "soft_descriptor":"outraloja",
    "mcc": "2234",
    "subacquirer_merchant_id": "223456",
    "card":{
        "number":"5448280000000007",
        "expiry_date":"0121",
        "security_code":"123"
    }
}


Resposta:

{
    "code":"0",
    "message":"OK. Transaction successful.",
    "pre_authorization":{
        "authorizer_code":"000",
        "authorizer_message":"Transacao OK.",
        "status":"CON",
        "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
        "customer_receipt":"=== CUSTOMER RECEIPT ===",
        "merchant_receipt":"=== MERCHANT RECEIPT ===",                
        "authorizer_id":"2",
        "authorizer_date":"09/11/2018T19:40",
        "acquirer_id":"1005",
        "acquirer_name":"Redecard",
        "authorization_number":"013245",
        "merchant_usn":"20190101",
        "esitef_usn":"181109017689784",
        "order_id":"orderID",
        "sitef_usn":"212194",
        "host_usn":"999212194",
        "amount":"100",
        "issuer":"2",
        "payment_type":"C",
        "authorizer_merchant_id":"000000000000000"
    }
}

Tabela de correspondência de campos

Segue abaixo a tabela de correspondência entre os campos de MCC dinâmico definidos pela interface do e.Rede REST e os campos do e-SiTef.

Campo e.Rede RESTCampo e-SiTefObservações
softDescriptorsoft_descriptorO campo softDescriptor do e.Rede REST pode ser enviado na etapa de criação da transação, na efetivação do pagamento ou da pré-autorização REST ou cadastrado pela equipe de atendimento do e-SiTef.
PaymentFacilitatorIDadditional_data / subacquirer_merchant / payment_facilitator_id ou paymentFacilitatorIdO campo PaymentFacilitatorID do e.Rede REST pode ser enviado na etapa de criação da transação ou ser configurado quando um roteamento de uma autorizadora é feito via e.Rede REST. Neste último caso, o seu valor pode ser alterado pelo Portal do Lojista ("Autorizadoras" > "Configurar Autorizadoras") ou por solicitacão à equipe de atendimento do e-SiTef.
IndependentSalesOrganizationIDadditional_data / subacquirer_merchant / independent_sales_organization_id ou independentSalesOrganizationIdO campo IndependentSalesOrganizationID do e.Rede REST pode ser enviado na etapa de criação da transação ou ser configurado quando um roteamento de uma autorizadora é feito via e.Rede REST. Neste último caso, o seu valor pode ser alterado pelo Portal do Lojista ("Autorizadoras" > "Configurar Autorizadoras") ou por solicitacão à equipe de atendimento do e-SiTef.
SubMerchant / MCCadditional_data / mcc ou mccO campo SubMerchant / MCC do e.Rede REST pode ser enviado na etapa de criação da transação, na efetivação do pagamento ou da pré-autorização REST ou cadastrado pela equipe de atendimento do e-SiTef.
SubMerchant / SubMerchantIDadditional_data / subacquirer_merchant_id ou additional_data / subacquirer_merchant / id ou subacquirer_merchant_id ou subacquirerMerchantIdO campo SubMerchant / SubMerchantID do e.Rede REST pode ser enviado na etapa de criação da transação, na efetivação do pagamento ou da pré-autorização REST ou ser configurado quando um roteamento de uma autorizadora é feito via e.Rede REST. Neste último caso, o seu valor pode ser alterado pelo Portal do Lojista ("Autorizadoras" > "Configurar Autorizadoras") ou por solicitacão à equipe de atendimento do e-SiTef.
SubMerchant / Addressadditional_data / subacquirer_merchant / addressO campo SubMerchant / Address do e.Rede REST pode ser enviado na criação da transação. É possível cadastrar um valor padrão. Entre em contato com o atendimento do e-SiTef para cadastrar ou alterar o valor padrão deste campo em sua loja.
SubMerchant / Cityadditional_data / subacquirer_merchant / cityO campo SubMerchant / City do e.Rede REST pode ser enviado na criação da transação. É possível cadastrar um valor padrão. Entre em contato com o atendimento do e-SiTef para cadastrar ou alterar o valor padrão deste campo em sua loja.
SubMerchant / Stateadditional_data / subacquirer_merchant / stateO campo SubMerchant / State do e.Rede REST pode ser enviado na criação da transação. É possível cadastrar um valor padrão. Entre em contato com o atendimento do e-SiTef para cadastrar ou alterar o valor padrão deste campo em sua loja.
SubMerchant / Countryadditional_data / subacquirer_merchant / countryO campo SubMerchant / Country do e.Rede REST pode ser enviado na criação da transação. É possível cadastrar um valor padrão. Entre em contato com o atendimento do e-SiTef para cadastrar ou alterar o valor padrão deste campo em sua loja.
SubMerchant / CEPadditional_data / subacquirer_merchant / zip_codeO campo SubMerchant / CEP do e.Rede REST pode ser enviado na criação da transação. É possível cadastrar um valor padrão. Entre em contato com o atendimento do e-SiTef para cadastrar ou alterar o valor padrão deste campo em sua loja.
SubMerchant / Cnpjadditional_data / subacquirer_merchant / identification_numberO campo SubMerchant / Cnpj do e.Rede REST pode ser enviado na criação da transação. É possível cadastrar um valor padrão. Entre em contato com o atendimento do e-SiTef para cadastrar ou alterar o valor padrão deste campo em sua loja.

ATENÇÃO!

Quando um campo puder ser enviado de mais de uma forma, sempre prevalecerá o valor do campo enviado mais recentemente ou mais específico. Ou seja, a prioridade segue a regra: mais recente > mais específico > cadastral.

Exemplo: Se o campo SubMerchant / SubMerchantID for enviado na efetivação, este terá prioridade sobre o enviado na inicialização, o qual tem prioridade sobre o campo cadastral.

Fepas HUB

A loja tem a possibilidade de configurar o roteamento de transações feitas no e-SiTef por vários meios de pagamento, um desses meios é o FEPAS HUB.

O objetivo desta documentação é descrever os campos disponíveis no e-SiTef para viabilizar a venda no FEPAS HUB.

Interfaces e-SiTef suportadas para integração

É possível utilizar as seguintes interfaces para a integração com o roteamento Fepas HUB:

  • Pagamento REST
  • Cancelamento REST
  • Logon REST
  • Carga de Tabelas REST

ATENÇÃO: A funcionalidade de agendamento não é suportada para este roteamento.

Pagamento REST

Os campos a seguir são complementares aos menciados na documentação de Serviço de efetivação de pagamento.

Efetivação de Pagamento REST

Requisição de Pagamento

ParâmetroDescriçãoFormatoObrigatório
resubmission_idID usado para ressubmeter um pagamento negado anteriormente em determinados casos conforme permitido pelo emissor.= 16 NCond.
acquirer_idCódigo do roteamento a ser utilizado na transação.

Pode assumir os valores dos códigos descritos na tabela Códigos de Roteamento.

Caso este campo não seja enviado, a configuração da autorizadora da loja será utilizada para definir o roteamento.
< 4 NNÃO
authentication Atributo do tipo authentication
terminal Atributo do tipo terminal
card Atributo do tipo card
mtt Atributo do tipo mtt

Exemplo de Requisição de Pagamento

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef-hml/api/v1/payments/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
    "card":{
        "expiry_date":"1222",
        "crypto":{
            "ksn":"xxxxxxxxxxx"
        },
        "track_2":"****************************************",
        "pos_entry_mode":{
            "value":"07",
            "pin_capability":"2"
        },
        "emv":{
            "card_sequence_number":"xxxxxx",
            "data":"820258009F2701809F2608B42433F98916B3319F36020074"
        }
    },
    "terminal":{
        "id":"SE111111",
        "type":"2",
        "input_mode":"5",
        "pin_pad_physical_features":"6",
        "handling_type":"1",
        "reader_capabilities":"7"
    },
    "mtt": {
        "id": "1",
        "first_journey_date": "0925",
    },
    "resubmission_id": "0123456789012345"
}
--verbose

Resposta de Pagamento

ParâmetroDescriçãoFormato
resubmission_idID a ser usado para ressubmeter em caso de pagamento negado.= 16 N
payment Atributo do tipo payment
card Atributo do tipo resp_card

Exemplo de Resposta de Pagamento

{
    "code":"0",
    "message":"OK. Transaction successful."
    "payment":{
        "authorizer_code":"000",
        "authorizer_message":"Transacao OK",
        "status":"CON",
        "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
        "order_id":"13034649671",
        "customer_receipt":"====CUPOM COMPRADOR====",
        "merchant_receipt":"====CUPOM ESTABELECIMENTO====",
        "authorizer_id":"2",
        "acquirer_id":"0005",
        "acquirer_name":"FEPAS HUB",
        "authorizer_date":"07/08/2018T16:52",
        "authorization_number":"132030",
        "merchant_usn":"13034649671",
        "esitef_usn":"170713097340300",
        "sitef_usn":"132030",
        "host_usn":"999132030",
        "tid": "000030000016",
        "payment_date":"07/08/2018T16:52",
        "amount":"1000",
        "payment_type":"C",
        "issuer":"2",
        "authorizer_merchant_id":"000000000000005",
        "acquirer_table_load_required":"0",
        "conciliation_authorizer_merchant_id":"6887542",
        "authorization_terminal":{
            "usn":"555845",
            "id":"SE111111"
        }
    },
    "resubmission_id": "0123456789012345"
}

Confirmação de Pagamento REST

Os campos a seguir são complementares aos menciados na documentação de Serviço de confirmação de pagamento.

Requisição de Confirmação

ParâmetroDescriçãoFormatoObrigatório
issuer_scripts_resultsIssuer Scripts Results

Presente se a transação for efetuada com chip EMV.
= N/A ANCond.

Exemplo de Requisição de Confirmação

curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef-hml/api/v1/payments/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr?confirm=true&issuer_scripts_results=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
--header "merchant_id:xxxxxxxxxxxxxxx"
--header "merchant_key:xxxxxxxxxxx"
--verbose

Resposta de Confirmação

Não há campos adicionais.

Exemplo de Resposta de Confirmação

{
    "code": "0",
    "message": "OK. Transaction successful.",
    "payment": {
        "status": "CON"
    }
}

Cancelamento REST

Efetivação de Cancelamento REST

Os campos a seguir são complementares aos menciados na documentação de Serviço de cancelamento.

Requisição de Cancelamento

ParâmetroDescriçãoFormatoObrigatório
terminal Atributo do tipo terminal
card Atributo do tipo card
authentication Atributo do tipo authentication

Exemplo de Requisição de Cancelamento

curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/cancellations/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
    "card":{
        "crypto":{
            "ksn":"xxxxxxxxxxx"
        },
        "pos_entry_mode":{
            "value":"81",
            "pin_capability":"1"
        },
        "track_2":"****************************************",
        "expiry_date":"1222"
    },
    "terminal":{
        "id":"SE111111",
        "type":"0",
        "input_mode":"5",
        "pin_pad_physical_features":"3",
        "handling_type":"1",
        "reader_capabilities":"4",
        "chip_conditions":"2"
    },
    "authentication":{
        "pin":{
            "crypto":{
                "type":"002"
            }
        }
    },
    "amount":"1500"
}
--verbose

Resposta de Cancelamento

ParâmetroDescriçãoFormatoObrigatório
cancellation Atributo do tipo cancellation

Exemplo Resposta de Cancelamento

{
    "code": "0",
    "message": "OK. Transaction successful.",
    "cancellation": {
        "authorizer_code": "00",
        "authorizer_message": "Sucesso",
        "status": "CON",
        "nit": "10f53cd3dab3222e5e37b725dfe368331958866a2d07c4ba7f382a8c5f42fd9e",
        "order_id": "03110843259",
        "customer_receipt": "=== RECIBO DE CANCELAMENTO ===",
        "authorizer_id": "2",
        "acquirer_id": "412",
        "acquirer_name": "FEPAS HUB",
        "authorizer_date": "03/09/2018T11:09",
        "authorization_number": "030020",
        "merchant_usn": "3110843259",
        "esitef_usn": "180903014387861",
        "sitef_usn": "000060",
        "host_usn": "999030021",
        "tid": "000030000014",
        "amount": "1500",
        "payment_type": "C",
        "authorizer_merchant_id": "000000000100250",
        "conciliation_authorizer_merchant_id": "000000000100250",
        "authorization_terminal": {
            "usn": "030021",
            "id": "F1000001"
        },
        "esitef_date": "03/09/2018T11:09",
        "is_host_cancel": "false"
    }
}

Logon REST

O Logon é uma funcionalidade exclusiva do roteamento FEPAS.

Caso o campo version enviado na requisição esteja diferente do campo acquirer_table_load.version da resposta, será necessário realizar a Carga de Tabelas.

Requisição de Logon

ParâmetroDescriçãoFormatoObrigatório
authorizer_idCódigo da autorizadora.< 4 NSIM
acquirer_idCódigo do roteamento a ser utilizado na transação.

Pode assumir os valores dos códigos descritos na tabela Códigos de Roteamento.

Caso este campo não seja enviado, a configuração da autorizadora da loja será utilizada para definir o roteamento.
< 4 NNÃO
versionVersão das tabelas de parâmetros presentes na rede de captura referente a um Autorizador. Cada Autorizador terá uma versão distinta de parâmetros.

Nota: Caso ainda não haja tabelas no estabelecimento, enviar zeros.
< 8 NSIM
terminal Atributo do tipo terminal

NOTA: Apenas o atributo id contido no atributo do tipo terminal é necessário no Logon.

Exemplo de Requisição de Logon

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/acquirer_tables"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
    "authorizer_id":"2",
    "version":"4",
    "terminal": {
        "id":"ES000001"
    }
}
--verbose

Resposta de Logon

ParâmetroDescriçãoFormato
codeCódigo de resposta do e-SiTef. Qualquer código diferente de 0 significa falha. Para maiores informações, consulte a seção de Códigos da API.< 4 N
messageMensagem de resposta do e-SiTef.< 500 AN
acquirer_table Atributo do tipo acquirer_table

Exemplo de Resposta de Logon

{
    "code": "0",
    "message": "OK. Transaction successful.",
    "acquirer_table": {
        "code": "00",
        "message": "Sucesso",
        "acquirer_id": "5",
        "acquirer_name": "Redecard",
        "usn": "000230",
        "merchant_code": "000000000100250",
        "version": "40361885",
        "signature": "R8yxlnT24sSm1Zt77Jj44pohO8LapTNjWt1nqV8zGKg=",
        "date": "06/09/2018T11:32:31"
    }
}

Carga de Tabelas REST

A Carga de Tabelas é uma funcionalidade exclusiva do roteamento FEPAS. Esta requisição só pode ser executada após o Logon e reutiliza as informações retornadas por este, como os valores dos campos: acquirer_table.usn, authorizer_id, version e terminal.id.

Requisição de Carga de Tabelas

ParâmetroDescriçãoFormatoObrigatório
authorizer_idCódigo da autorizadora.

Deve ser o mesmo valor do Logon.
< 4 NSIM
acquirer_idCódigo do roteamento a ser utilizado na transação.

Pode assumir os códigos descritos na tabela Códigos de Roteamento.

Caso este campo não seja enviado, a configuração da autorizadora da loja será utilizada para definir o roteamento.
< 4 NNÃO
versionVersão das tabelas de parâmetros presentes na rede de captura referente a um Autorizador. Cada Autorizador terá uma versão distinta de parâmetros.

Deve ser o mesmo valor do Logon

NOTA: Caso ainda não haja tabelas no estabelecimento, enviar zeros.
< 4 NSIM
terminal Atributo do tipo terminal

NOTA: Apenas o atributo id contido no atributo do tipo terminal é necessário na Carga de Tabelas.

Exemplo de Requisição de Carga de Tabelas

curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/acquirer_tables/<valor do acquirer_table.usn>"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
    "authorizer_id":"2",
    "version":"4",
    "terminal": {
        "id":"ES000001"
    }
}
--verbose

Resposta de Carga de Tabelas

ParâmetroDescriçãoFormato
codeCódigo de resposta do e-SiTef. Qualquer código diferente de 0 significa falha. Para maiores informações, consulte a seção de Códigos da API.< 4 N
messageMensagem de resposta do e-SiTef.< 500 AN
acquirer_table Atributo do tipo acquirer_table

Exemplo de Resposta de Carga de Tabelas

{
    "code": "0",
    "message": "OK. Transaction successful.",
    "acquirer_table": {
        "code": "00",
        "message": "Sucesso",
        "acquirer_id": "5",
        "acquirer_name": "Redecard",
        "usn": "000230",
        "merchant_code": "000000000100250",
        "version": "40361885",
        "signature": "R8yxlnT24sSm1Zt77Jj44pohO8LapTNjWt1nqV8zGKg=",
        "date": "06/09/2018T11:41:49",
        "credit_bins": [{
            "bin": {
                "start": "549202000",
                "end": "549202999"
            },
            "brand_code": "005",
            "is_voucher": "N",
            "features": "24",
            "subtype": "00"
        },
        {
            "bin": {
                "start": "549221000",
                "end": "549221999"
            },
            "brand_code": "005",
            "is_voucher": "N",
            "features": "24",
            "subtype": "00"
        }],
        "public_keys": [{
            "rid": "A000000004",
            "certification_authority_public_key_index": "F3",
            "certification_authority_public_key_exponent_size": "1",
            "certification_authority_public_key_exponent": "03",
            "certification_authority_public_key_modulus_size": "144",
            "certification_authority_public_key_modulus": "98F0C770F23864C2E",
            "checksum_status": "1",
            "certification_authority_public_key_checksum": "FCB86DA7076023DB8F38D992680175A839FFC9A6"
        },
        {
            "rid": "A000000004",
            "certification_authority_public_key_index": "F1",
            "certification_authority_public_key_exponent_size": "1",
            "certification_authority_public_key_exponent": "03",
            "certification_authority_public_key_modulus_size": "176",
            "certification_authority_public_key_modulus": "A0DCF4BDE19C3546B4B",
            "checksum_status": "1",
            "certification_authority_public_key_checksum": "55CD192717EE59A8E80A2B2D77528F6552F23BBE"
        }],
        "emv_params": [{
            "aid_code": "01",
            "aid_length": "07",
            "aid": "A0000000041010                 ",
            "application_type": "01",
            "application_name": "                ",
            "default_value": "03",
            "version_opt1": "0002",
            "version_opt2": "0002",
            "version_opt3": "0002",
            "terminal_country_code": "076",
            "transaction_currency_code": "986",
            "transaction_currency_exponent": "2",
            "merchant_id": "000000000100250",
            "merchant_category_code": "0000",
            "terminal_id": "00000000",
            "terminal_capabilities": "E0F0C8",
            "terminal_capabilities_additional": "FF80B0F001",
            "terminal_type": "22",
            "terminal_action_code_default": "FE50BCA000",
            "terminal_action_code_denial": "0000000000",
            "terminal_action_code_online": "FE50BCF800",
            "terminal_floor_limit": "00000000",
            "transaction_category_code": "R",
            "tdol": "9F02065F2A029A039C0195059F37040000000000",
            "ddol": "9F37040000000000000000000000000000000000",
            "authorization_response_code_offline_approved": "Y1",
            "authorization_response_code_offline_declined": "Z1",
            "authorization_response_code_unable_online_offline_approved": "Y3",
            "authorization_response_code_unable_online_offline_declined": "Z3",
            "contactless_zero_amount": "1",
            "contactless_mode": "4",
            "contactless_transaction_limit": "05F5E0FF",
            "contactless_floor_limit": "00000000",
            "contactless_cvm_limit": "00001389",
            "contactless_application_version": "0000",
            "contactless_selection_mode": "1",
            "contactless_terminal_action_code_default": "FC509C8800",
            "contactless_terminal_action_code_denied": "0000000000",
            "contactless_terminal_action_code_online": "FC509C8800"
        },
        {
            "aid_code": "02",
            "aid_length": "07",
            "aid": "A0000000043060                  ",
            "application_type": "02",
            "application_name": "                ",
            "default_value": "03",
            "version_opt1": "0002",
            "version_opt2": "0002",
            "version_opt3": "0002",
            "terminal_country_code": "076",
            "transaction_currency_code": "986",
            "transaction_currency_exponent": "2",
            "merchant_id": "000000000100250",
            "merchant_category_code": "0000",
            "terminal_id": "00000000",
            "terminal_capabilities": "E0D0C8",
            "terminal_capabilities_additional": "FF80B0F001",
            "terminal_type": "22",
            "terminal_action_code_default": "FE50BCA000",
            "terminal_action_code_denial": "0000000000",
            "terminal_action_code_online": "FE50BCF800",
            "terminal_floor_limit": "00000000",
            "transaction_category_code": "R",
            "tdol": "9F02065F2A029A039C0195059F37040000000000",
            "ddol": "9F37040000000000000000000000000000000000",
            "authorization_response_code_offline_approved": "Y1",
            "authorization_response_code_offline_declined": "Z1",
            "authorization_response_code_unable_online_offline_approved": "Y3",
            "authorization_response_code_unable_online_offline_declined": "Z3",
            "contactless_zero_amount": "1",
            "contactless_mode": "4",
            "contactless_transaction_limit": "05F5E0FF",
            "contactless_floor_limit": "00000000",
            "contactless_cvm_limit": "00001389",
            "contactless_application_version": "0000",
            "contactless_selection_mode": "1",
            "contactless_terminal_action_code_default": "FC501C8800",
            "contactless_terminal_action_code_denied": "0000800000",
            "contactless_terminal_action_code_online": "FC501C8800"
        }],
        "emv_tags": [{
            "aid_code": "46",
            "all_emv_tags": "9f269f109f379f36959c9f025f2a829f1a9f03"
        },
        {
            "aid_code": "45",
            "all_emv_tags": "9f269f109f379f36959c9f025f2a829f1a9f03"
        }],
        "mandatory_emv_tags": [{
            "aid_code": "46",
            "mandatory_emv_tags": "9f269f109f379f36959c9f025f2a829f1a9f03"
        },
        {
            "aid_code": "45",
            "mandatory_emv_tags": "9f269f109f379f36959c9f025f2a829f1a9f03"
        }],
        "optional_emv_tags": [{
            "aid_code": "46",
            "optional_emv_tags": "5f3484"
        },
        {
            "aid_code": "45",
            "optional_emv_tags": "5f3484"
        }],
        "brand_per_credit_aid": [{
            "aid_code": "01",
            "brand_code": "002"
        },
        {
            "aid_code": "01",
            "brand_code": "004"
        }],
        "brand_per_debit_aid": [{
            "aid_code": "02",
            "brand_code": "002"
        },
        {
            "aid_code": "02",
            "brand_code": "005"
        }]
    }
}

Tipos de Dados

authentication

ParâmetroDescriçãoFormatoObrigatório
pin Atributo do tipo authentication.pin

authentication.pin

ParâmetroDescriçãoFormatoObrigatório
valuePIN Criptografado.

Obrigatório quando for digitada a senha online do portador do cartão.
< 16Cond.
crypto Atributo do tipo pin.crypto

pin.crypto

ParâmetroDescriçãoFormatoObrigatório
typeProcesso de Criptografia do PIN.

Pode assumir os valores dos códigos descritos na tabela Códigos de Processo de Criptografia.

Obrigatório apenas quando o PIN é enviado.
= 3Cond.
ksnKSN da criptografia do PIN.

Obrigatório quando for digitada a senha online do portador do cartão.
< 20 ANCond.

terminal

ParâmetroDescriçãoFormatoObrigatório
idIdentificação do terminal.< 8 ANSIM
typeTipo do Atendimento do Terminal.

Pode assumir os valores dos códigos descritos na tabela Códigos de Tipo de Atendimento de Terminal.
= 1 NSIM
input_modeCapacidade de entrada do terminal.

Pode assumir os valores dos códigos descritos na tabela Códigos de Capacidade de Entrada do Terminal.
= 1 NSIM
pin_pad_physical_featuresCaracterísticas Físicas do PIN-pad.

Pode assumir os valores dos códigos descritos na tabela Códigos de Características Físicas do Terminal.
= 1 NSIM
handling_typeTipo de tratamento da senha.

Pode assumir os valores dos códigos descritos na tabela Códigos de Tipo de tratamento da Senha.
= 1 NSIM
reader_capabilitiesHabilitação de Leitores de Cartão.

Pode assumir os valores dos códigos descritos na tabela Códigos de Habilitação de Leitores de Cartão.
= 1 NSIM
chip_conditionsCondições do CHIP.

Pode assumir os valores dos códigos descritos na tabela Códigos de Condições do CHIP.
= 1 NSIM

card

ParâmetroDescriçãoFormatoObrigatório
service_codeService Code, campo obrigatório quando o tipo de transação for trilha ou chip.
Este campo prevê 3 posições, sendo os 3 dígitos após a data de validade da trilha 2, de acordo com a norma ISO/IEC 7813.

Exemplo de trilha 2:
;1234567890123445=99011200XXXX00000000?*
Service Code: 120.
= 3 NCond.
binBIN do Cartão, campo obrigatório para transações digitadas, trilha ou chip.
Este campo prevê 6 posições, sendo os 6 primeiros dígitos após a sentinela de início da trilha 2, de acordo com a norma ISO/IEC 7813.

Exemplo de trilha 2:
;1234567890123445=99011200XXXX00000000?*
Bin do cartão: 123456.
= 6 NCond.
last44 últimos dígitos do cartão, Campo obrigatório para transações digitadas, trilha ou chip.
Este campo prevê 4 posições, sendo os 4 últimos dígitos antes do separador ("=") da trilha 2, de acordo com a norma ISO/IEC 7813.

Exemplo de trilha 2:
;1234567890123445=99011200XXXX00000000?*
4 últimos dígitos: 3445.
= 6 NCond.
track_1Início da trilha 1 criptografada, conforme regra acordada entre a Loja e a Software Express.

Presente se lida a trilha 1.
AN N/ACond.
track_2Leitura da Trilha 2 do cartão ou da identificação do cliente. Criptografado por hardware, conforme regra acordada entre a Loja e a Software Express.

Presente se lida a trilha 2.
< 99Cond.
subtypeSubtipo do cartão.

Pode assumir os valores dos códigos descritos na tabela Códigos de Subtype. Obrigatório em caso de compra com cartão voucher.
= 2 ANCond.
crypto Atributo do tipo card.crypto
pin Atributo do tipo card.pin
pos_entry_mode Atributo do tipo pos_entry_mode
emv Atributo do tipo emv
numberNúmero do Cartão (PAN).

Utilizado no(s) serviço(s) de:
Cancelamento
LLvar n..99 NCond.
expiry_dateData de Vencimento do Cartão.

Utilizado no(s) serviço(s) de:
Cancelamento
= 4 NCond.
security_codeCódigo de Segurança do Cartão.

Utilizado no(s) serviço(s) de:
Cancelamento
= 6 NCond.

card.crypto

ParâmetroDescriçãoFormatoObrigatório
ksnKSN da criptografia do PAN.< 20 ANNÃO

card.pin

ParâmetroDescriçãoFormatoObrigatório
valuePIN Criptografado.

Obrigatório quando for digitada a senha online do portador do cartão.
< 64Cond.

resp_card

ParâmetroDescriçãoFormato
tokenHASH de um cartão armazenado no e-SiTef. Não é permitido enviar um número de cartão aberto (campo 'number') e um cartão armazenado (campo 'token') na mesma requisição.= 88 AN
parPAR (Payment Account Reference).= 29 AN

pos_entry_mode

ParâmetroDescriçãoFormatoObrigatório
valueModo de entrada do cartão.

Pode assumir os valores dos códigos descritos na tabela Códigos de Modo de Entrada.
= 2 NSIM
pin_capabilityCapacidade do terminal em relação à entrada de PIN.

Pode assumir os valores dos códigos descritos na tabela Códigos de Capacidade de Entrada PIN.
= 1 NSIM

emv

ParâmetroDescriçãoFormatoObrigatório
card_sequence_numberNúmero de sequência do Cartão. Corresponde à via do cartão EMV em tratamento (tag 5F34).
Só enviar se a transação efetuada for com chip EMV e o cartão informar este dado.
< 3 NCond.
dataContém as tags EMV, em transações processadas por meio de chip EMV. Seu conteúdo é enviado em bytes no formato ASCII seguindo o formato TLV: tipo, tamanho, conteúdo. Por exemplo, se formos enviar:

Tag: 82 - (Application Interchange Profile), tamanho: 2, valor: 5800;
Tag: 9F27 - (Cryptogram Information Data), tamanho: 1, valor: 80;
Tag: 9F26 - (Application Cryptogram), tamanho: 8, valor: b42433f98916b331.

O campo resultante ficaria:
"data":"820258009F2701809F2608B42433F98916B331"
< 999 N/ACond.

mtt

ParâmetroDescriçãoFormatoObrigatório
idID transação MTT (Mass Transport Transaction). Informa qual o tipo da transação solicitada.

Pode assumir os valores dos códigos descritos na tabela Códigos de ID de Transação MTT.
= 1 NCond.
first_journey_dateData da primeira viagem de transação MTT. Segue o formato: MMDD.= 4 NCond.

payment

ParâmetroDescriçãoFormato
acquirer_table_load_requiredInforma se a Loja necessita realizar uma Carga de Tabelas junto a um Autorizador.

0 - Parâmetros atualizados.
1 - Parâmetros desatualizados - Loja necessita realizar Carga de Tabelas.
= 1 N
conciliation_authorizer_merchant_idCódigo de Estabelecimento da Venda.= 15
authorization_terminal Atributo do tipo authorization_terminal

cancellation

ParâmetroDescriçãoFormato
acquirer_table_load_requiredInforma se a Loja necessita realizar uma Carga de Tabelas junto a um Autorizador.

0 - Parâmetros atualizados;
1 - Parâmetros desatualizados - Loja necessita realizar Carga de Tabelas.
= 1 N
conciliation_authorizer_merchant_idCódigo de Estabelecimento da Venda.= 15 N
authorization_terminal Atributo do tipo authorization_terminal

authorization_terminal

ParâmetroDescriçãoFormato
usnNSU do Terminal da Autorização.= 6 N
idIdentificação do Terminal da Autorização.= 8 AN

acquirer_table

ParâmetroDescriçãoFormato
codeCódigo de resposta da operação no FEPAS.= 2 AN
messageMensagem de resposta do FEPAS.< 999 AN
usnNSU da operação.= 6 N
dateData e hora local.= 19 N
authorizer_idCódigo da autorizadora.< 4 N
merchant_codeCódigo do estabelecimento.< 15 AN
versionVersão das tabelas de parâmetros presentes na rede de captura referente a um Autorizador. Cada Autorizador terá uma versão distinta de parâmetros.

NOTA: Caso ainda não haja tabelas no estabelecimento, serão enviados zeros.
< 8 N
signatureIdentificação do Terminal da Autorização.< 999 AN
acquirer_idCódigo da adquirente.

Retornado no(s) serviço(s) de:
Carga de Tabelas
< 4 N
acquirer_nameNome da adquirente.

Retornado no(s) serviço(s) de:
Carga de Tabelas
N/A AN
credit_bins[] Atributo do tipo product_bins

Retornado no(s) serviço(s) de:
Carga de Tabelas
debit_bins[] Atributo do tipo product_bins

Retornado no(s) serviço(s) de:
Carga de Tabelas
emv_params[] Atributo do tipo emv_params

Retornado no(s) serviço(s) de:
Carga de Tabelas
public_keys[] Atributo do tipo public_keys

Retornado no(s) serviço(s) de:
Carga de Tabelas
mandatory_emv_tags[] Atributo do tipo mandatory_emv_tags

Retornado no(s) serviço(s) de:
Carga de Tabelas
optional_emv_tags[] Atributo do tipo OPTIONAL_EMV_TAGS

Retornado no(s) serviço(s) de:
Carga de Tabelas
emv_tags[] Atributo do tipo emv_tags

Retornado no(s) serviço(s) de:
Carga de Tabelas
brand_per_credit_aid[] Atributo do tipo brand_per_x_aid

Retornado no(s) serviço(s) de:
Carga de Tabelas
brand_per_debit_aid[] Atributo do tipo brand_per_x_aid

Retornado no(s) serviço(s) de:
Carga de Tabelas

product_bins

ParâmetroDescriçãoFormato
brand_codeContém o código identificando a bandeira do range.

Pode assumir os valores dos códigos descritos na tabela Códigos de Bandeira.
= 2 AN
is_voucherInforma se o cartão é do tipo Voucher.

Valores possíveis:
S - Sim
N - Não
= 1 AN
featuresMapa de bits composto por 1 byte binário (2 caracteres ASCII hexadecimal) indicando as características da coleta da transação.

A posição 8 corresponde ao bit mais significativo.

Se o bit estiver ligado, a funcionalidade correspondente estará habilitada.

Ordem do byte: 87654321

A relação dos bits pode ser consultada no Mapa de Features.
= 2 AN
subtypeSubtipo do cartão.

Pode assumir os valores dos códigos descritos na tabela Códigos de Subtype.
= 2 AN
bin Atributo do tipo bin

bin

ParâmetroDescriçãoFormato
startContém o BIN inicial do Range.= 9 N
endContém o BIN final do Range (este campo é igual ao anterior quando tratamento individual de BIN).= 9 N

emv_params

ParâmetroDescriçãoFormato
aid_codeCódigo do AID.= 2 N
aid_lengthTamanho do AID, em bytes (de 05 a 16).= 2 N
aidAID - Application Identifier (alinhado à esquerda).= 32 H
application_typeTipo de Aplicação.

Valores possíveis:
01 - Crédito
02 - Débito
= 2 N
application_nameEtiqueta default da aplicação.= 61 AN
default_valuePadrão da aplicação. 03 - EMV.= 2 N
version_opt_1Application Version Number (Terminal) - opção #1.= 4 h
version_opt_2Application Version Number (Terminal) - opção #2.= 4 h
version_opt_3Application Version Number (Terminal) - opção #3.= 4 h
terminal_country_codeTerminal Country Code.= 3 N
transaction_currency_codeTransaction Currency Code.= 3 N
transaction_currency_exponentTransaction Currency Exponent.= 1 N
merchant_idMerchant Identifier.= 15 AN
merchant_category_codeMerchant Category Code.= 4 N
terminal_idTerminal Identification.= 8 AN
terminal_capabilitiesTerminal Capabilities.

É o mapa de bits indicando as capacidades do terminal. O formato e os valores podem ser consultados no Mapa de Capacidades do Terminal.
= 6 H
terminal_capabilities_additionalAdditional Terminal Capabilities.= 10 H
terminal_typeTerminal Type.

Pode assumir os valores dos códigos descritos na tabela Códigos de Tipo de Terminal.
= 2 N
terminal_action_code_defaultTerminal Action Code - Default.= 10 H
terminal_action_code_denialTerminal Action Code – Denial.= 10 H
terminal_action_code_onlineTerminal Action Code – Online.= 10 H
terminal_floor_limitTerminal Floor Limit.= 8 H
transaction_category_codeTransaction Category Code.= 1 AN
tdolTransaction Category Code. Default Transaction Certificate Data Object List (TDOL) (completado com bytes "00" à direita).= 40 H
ddolDefault Dynamics Data Authentication Data Object List (DDOL) (completado com bytes "00" à direita).= 40 H
authorization
_response_code
_offline_approved
Authorization Response Code - offline approved.= 2 AN
authorization
_response_code
_offline_declined
Authorization Response Code - offline declined.= 2 AN
authorization
_response_code
_unable_online_offline_approved
Authorization Response Code - unable to go online - offline approved.= 2 AN
authorization
_response_code
_unable_online_offline_declined
Authorization Response Code - unable to go online - offline declined.= 2 AN
contactless_zero_amountIndica a ação para cartão com chip sem contato se o valor da transação estiver zerado.

Valores possíveis:
0 - Não suporta.
1 - Suporta, porém somente online.
= 1 N
contactless_modeCapacidade de tratamento do terminal para o referido AID, caso este seja localizado em um cartão com chip sem contato.

Pode assumir os valores dos códigos descritos na tabela Códigos de Capacidade de Tratamento de Terminal.
= 1 N
contactless_transaction_limitTerminal/Reader Contactless Transaction Limit.= 8 H
contactless_floor_limitTerminal/Reader Contactless Floor Limit.= 8 H
contactless_cvm_limitTerminal/Reader CVM Required Limit.= 8 H
contactless_application_versionPayPass Mag Stripe Application Version Number (Terminal).= 4 H
contactless_selection_modeIndica a forma de seleção da aplicação do cartão sem contato.

Valores possíveis:
0 - A aplicação é selecionada automaticamente pela prioridade.
1 - Deve ser mostrado menu de seleção caso exista outra aplicação compatível.
= 1 N
contactless
_terminal_action
_code_default
Terminal Action Code – Default (para cartões sem contato).= 10 H
contactless
_terminal_action
_code_denied
Terminal Action Code – Denied (para cartões sem contato).= 10 H
contactless
_terminal_action
_code_online
Terminal Action Code – Online (para cartões sem contato).= 10 H

public_keys

ParâmetroDescriçãoFormato
ridRID - Registered Application Provider Identifier.= 10 H
certification_authority
_public_key_index
Certification Authority Public Key Index.= 2 H
certification_authority
_public_key_exponent_size
Tamanho em bytes do Certification Authority Public Key Exponent (1 ou 3).= 1 N
certification_authority
_public_key_exponent
Certification Authority Public Key Exponent (alinhado à esquerda).= 6 H
certification_authority
_public_key_modulus_size
Tamanho em bytes do Certification Authority Public Key Modulus (até 248).= 3 N
certification_authority
_public_key_modulus
Certification Authority Public Key Modulus (alinhado à esquerda).= 496 H
checksum_statusStatus do Check Sum (Hash SHA-1).

Valores possíveis:
0 - Não utilizado.
1 - Presente.
= 1 N
certification_authority
_public_key_checksum
Certification Authority Public Key Check Sum (Hash SHA-1).= 40 h

mandatory_emv_tags

ParâmetroDescriçãoFormato
aid_codeCódigo AID.= 2 N
mandatory_emv_tagsContém a lista de Tags EMV obrigatórias a serem enviadas nos dados EMV das mensagens de solicitação ou advice de transações do fluxo EMV Completo, tanto online como off-line, após o First Generate AC.

Exemplo: 9F269F27959F10.
N/A AN

optional_emv_tags

ParâmetroDescriçãoFormato
aid_codeCódigo AID.= 2 N
optional_emv_tagsContém a lista de Tags EMV opcionais a serem enviadas nos dados EMV das mensagens de solicitação ou advice de transações do fluxo EMV Completo, tanto online como off-line, após o First Generate AC.N/A AN

emv_tags

ParâmetroDescriçãoFormato
aid_codeCódigo AID.= 2 N
all_emv_tagsContém a lista de Tags EMV a serem enviadas no Bit 55 das mensagens de confirmação ou advice de transações do fluxo EMV Completo, tanto online como off-line, após o Second Generate AC.

Exemplo: 9F269F27959F10.
N/A AN

brand_per_x_aid

ParâmetroDescriçãoFormato
aid_codeCódigo AID.= 2 N
brand_codeContém o código AID.= 3 N

Tabelas & Mapas

Códigos de Roteamento

CódigoDescrição
2005Rede
2013GoodCard
2047Sorocred
2052Tricard
2054Up Brasil
2072Bigcard
2077Valecard
2094Cabal
2125Cielo
2201VR
2206Global Payments
2265Stone
2309Adiq
5001Alelo

Códigos de Bandeira

CódigoDescrição
001Visa
002Mastercard
003Amex
005Hipercard
006Diners
008JCB
012Sorocred
014Policard
016Elo
017Cabal
043Tricard
054Valecard
058VR
065Alelo
158Bigcard
235Up
999Bandeira desconhecida

Mapa de Features

BitDescrição
8Reservado para uso futuro.
7Transação magnética solicita os quatro últimos dígitos.
6Permite Fallback magnético.
5Reservado para uso futuro.
4Reservado para uso futuro.
3Transação magnética solicita CVV2/CVC2.
2Reservado para uso futuro.
1Permite CVV inexistente ou ilegível.

Códigos de Subtype

CódigoDescrição
01Débito/Voucher Alimentação
02Débito/Voucher Refeição
03Débito/Voucher Cultura
00O cartão não é um débito/voucher

Mapa de Capacidades do Terminal

Formato:

ABCxxxxx DEFGKxxx HIJMxxxx

PosiçãoDescrição
ADigitação de número do cartão.
BCartão magnético.
CCartão com chip de contatos.
DVerificação em cartão com chip de PIN "em aberto".
EVerificação online de PIN com criptografia.
FAssinatura em papel.
GVerificação em cartão com chip de PIN com criptografia.
KAceita o método "No CVM" (sem verificação do portador).
HSDA - Autenticação estática de dados do cartão com chip.
IDDA - Autenticação dinâmica de dados do cartão com chip.
JCaptura de cartão.
MAutenticação offline CDA.

Códigos de Tipo de Terminal

CódigoDescrição
21Online.
22Off-line com capacidade online.
23Somente off-line.
24Online, não atendido.
25Off-line com capacidade online, não atendido.
26Somente off-line, não atendido.

Códigos de Capacidade de Tratamento de Terminal

CódigoDescrição
0Não suporta.
1Suporta VISA MSD.
2Suporta VISA qVSDC.
3Suporta MasterCard PayPass Mag Stripe.
4Suporta MasterCard PayPass M/Chip.
5Suporta Amex Expresspay Magstripe Mode.
6Suporta Amex Expresspay EMV Mode.

Códigos de Processo de Criptografia

CódigoDescrição
0013DES entre Loja e Autorizador (bypass Software Express).
0023DES entre Loja e Software Express, que realiza o translate para Autorizador.
003DUKPT 3DES entre Loja e Autorizador (bypass Software Express).
004DUKPT 3DES entre Loja e Software Express, que realiza o translate para Autorizador.

Códigos de Tipo de Atendimento do Terminal

CódigoDescrição
0Terminal com atendimento (estabelecimento possui operador para o terminal).
2Terminal com auto-atendimento.

Códigos de Capacidade de Entrada do Terminal

CódigoDescrição
0Indefinido.
2Sem terminal (URA/Voz).
5Leitor de chip.

Códigos de Características Físicas do Terminal

CódigoDescrição
3PIN-pad com leitor de chip.
6PIN-pad com leitor de chip e cartão sem contato.

Códigos de Tipo de tratamento da Senha

CódigoDescrição
1Sem senha.
2Senha online.
3Senha off-line.

Códigos de Habilitação de Leitores de Cartão

CódigoDescrição
4Leitor tarja e chip habilitados.
5Leitor tarja e cartão sem contato habilitado.
6Leitor chip e cartão sem contato habilitado.
7Leitor tarja, chip e cartão sem contato habilitado. PIN-pad com leitor de chip.

Códigos de Condições do CHIP

CódigoDescrição
1Trilha sem fallback.
2Trilha com fallback.

Códigos de Modo de Entrada

CódigoDescrição
01Entrada manual do número do cartão (digitado).
02Tarja magnética.
05Chip.
07Contactless chip.
81Fallback para tarja magnética (usado quando ocorre falha na leitura do chip e a posição 1 do Service Code da trilha = 2 ou 6, sinalizando cartão com chip).
91Contactless tarja magnética.

Códigos de Capacidade de Entrada PIN

CódigoDescrição
1Tem capacidade de entrada de PIN;
2Não tem capacidade de entrada de PIN.

Códigos de ID de Transação MTT

CódigoDescrição
1AVR (transação deve vir com o valor zerado).
2Transação Crédito MTT.
3Debt Recovery (ressubmissão, necessário enviar o campo resubmission_id).
4Debt Recovery e-commerce/MOTO (para transações digitadas).
5Debt Recovery tap online (para transações contactless).

Getnet WS

A loja tem a possibilidade de configurar o roteamento de transações feitas com cartão de crédito no e-SiTef por vários meios de pagamento, um desses meios é a Getnet.

Nesta página será usada a nomenclatura "GetnetWS" para referenciar o roteamento no e-SiTef.

Assim, a loja pode configurar o e-SiTef para que as transações feitas com cartões VISA, por exemplo, sejam roteadas pela GetnetWS enquanto que as feitas com MASTERCARD sejam roteadas pela CIELO.

Interfaces e-SiTef suportadas para integração

É possível utilizar as seguintes interfaces para a integração com o roteamento GetnetWS:

  • Pagamento REST
  • Pré-Autorização REST
  • Cancelamento REST
  • Pagamento HTML
  • Pré-Autorização HTML

Autorizadoras permitidas

As seguintes autorizadoras são suportadas pelo roteamento GetnetWS:

  • VISA
  • MASTERCARD
  • ELO
  • AMERICAN EXPRESS
  • HIPERCARD
  • VISA ELECTRON
  • MAESTRO

Credenciais necessárias

A loja deve obter com a GetnetWS as credenciais listadas abaixo, e repassá-las à Software Express ou fazer o cadastro como explicado mais a frente neste mesmo documento.

CampoDescriçãoFormato
usernameUsuário de acesso.< 20 N
passwordSenha de acesso.< 40 AN
merchantIDCódigo de EC cadastrado na GetnetWS.< 10 AN
terminalIdentificação do Terminal.< 7 AN
subMerchantIdID do Sub comércio.< 15 AN

Importante para Pagamento HTML: No caso de uma autorizadora da loja não ter cadastrado essas credenciais, essa autorizadora não será exibida na tela de seleção de cartão de crédito durante a operação de pagamento.

Cadastro das informações pelo portal do lojista

O próprio lojista pode cadastrar as informações obtidas com a GetnetWS no Portal do Lojista do e-SiTef. Nesse ambiente será possível alterar as configurações e a senha de autenticação das transações. Para essa finalidade, o lojista deve selecionar a autorizadora e entrar na tela de edição como no exemplo exibido abaixo:

No Portal do Lojista, no ambiente de edição da Autorizadora, é possível alterar a senha cadastrada no ambiente e-SiTef. Nesse caso, a alteração ocorrerá somente para esta autorizadora. Note que se as lojas utilizam a mesma conta na Getnet, será necessário que os lojistas alterem manualmente as senhas pra todas as outras autorizadoras.

Ainda nesse ambiente, pode-se também alterar a senha de cadastro na Getnet. É importante lembrar que ao alterar essa senha no ambiente da Getnet todas as lojas associadas à essa conta na Getnet terão que alterar também a senha cadastrada no ambiente e-SiTef indo na tela de edição de suas autorizadoras, caso contrário terão suas transações negadas pela Getnet.

A tela de exemplo de alteração de senha na Getnet segue abaixo:

A nova senha deve seguir as regras definidas pela Getnet. Essas regras encontram-se no documento de integração.

Subadquirência

Informações referentes a subadquirência são cadastradas pela nossa equipe de suporte. Os seguintes dados são necessários:

ParâmetroFormato
ID do subcomércio< 15 AN
Cidade do subcomércio< 13 A
Estado do subcomércio= 2 A
CEP do subcomércio= 8 N
CNPJ ou CPF do subcomércio< 15 AN
Logradouro do subcomércio< 40 AN
MCC= 4 N
Soft-Descriptor< 22 AN Saiba mais sobre esse recurso.

Também é possível enviar os campos abaixo nas requisições feitas ao e-SiTef:

ParâmetroCampoObservações
ID do subcomérciosubacquirer_merchant_idEnviado no serviço de efetivação da transação.
MCCmccEnviado no serviço de efetivação da transação.
Soft-Descriptorsoft_descriptorEnviado no serviço de criação da transação.

Caso os campos acima estejam cadastrados na loja do e-SiTef e sejam enviados na requisição, o valor que consta na requisição tem prioridade.

Recorrências

Para que as recorrências sejam reconhecidas pela GetnetWS, existem algumas regras que explicaremos a seguir.

Os campos usados para a recorrência são apresentados na tabela abaixo.

CampoDescriçãoFormato
acquirer.recurrencyEnviado na requisição. Flag que define se o pagamento é ou não recorrente.< 5 T/F
acquirer.recurrency_tidEnviado na requisição. ID da transação da primeira transação da recorrência. Identificador que diferencia a primeira recorrência das subsequentes.= 18 N
acquirer.recurrency_seq_idEnviado na requisição. Número da parcela da recorrência.< 3 N
payment.tidRecebido na resposta. ID da transação no adquirente.= 18 N

Caso o lojista opte por fazer as recorrências por conta própria, deverá seguir os passos:

  • Passo 1: Primeira recorrência:
    • Enviar acquirer.recurrency com valor true;
    • Armazenar o payment.tid para usar nas recorrências seguintes.
  • Passo N: Recorrências seguintes:
    • Enviar acquirer.recurrency com valor true;
    • Enviar acquirer.recurrency_tid com o valor retornado no payment.tid do Passo 1;
    • Enviar acquirer.recurrency_seq_id com o número da parcela correspondente a recorrência feita (de 1 até 999 no máximo).

Caso o lojista opte por fazer as recorrências por meio do serviço de agendamento do e-SiTef, os parâmetros de recorrência serão enviados automaticamente e o acompanhamento poderá ser feito pelo relatório de agendamentos normalmente.

Caso o lojista opte por fazer as recorrências por meio do serviço de pagamento com agendamento do e-SiTef, os parâmetros de recorrência serão enviados automaticamente e o acompanhamento poderá ser feito pelo relatório de agendamentos normalmente. Porém, uma peculiaridade é que o ID usado para identificar a primeira transação da recorrência é o ID do pagamento inicial e não o ID do primeiro agendamento.

Fluxos

Nesta seção serão apresentadas as particularidades do fluxo transacional GetnetWS.

Pagamento HTML

É possível realizar um pagamento com autenticação 3DS. Para isso, basta enviar o parâmetro authorizer_authentication com valor true na etapa de criação da transação.

Pré-Autorização

Não é possível realizar uma pré-autorização com parcelamento via emissor.

Alteração de Pré-Autorização

É possível re-enviar a requisição de efetivação de pré-autorização acrescida do campo amount para alterar seu valor.

ParâmetroDescriçãoFormatoObrigatório
amountNovo valor da pré-autorização em centavos.< 12 NSIM

Pagamento e Pré-Autorização REST

  • O campo card.holder é obrigatório.
  • A GetnetWS aceita o envio dos dados de autenticação eci, xid e cavv.
ParâmetroDescriçãoFormatoObrigatório
card.holderNome do portador impresso no cartão< 26 ANSIM
external_authentication.eciCódigo ECI da transação Autenticada 3D Secure.= 2 NNÃO
external_authentication.xidIdentificador do MPI para cada transação autenticada.< 40 ANNÃO
external_authentication.cavvCódigo de autenticação criptografado pela Bandeira.< 40 ANNÃO

Cancelamento

O Cancelamento de uma transação pode ser feito no Portal do Lojista. Só poderão ser canceladas as transações efetuadas no dia corrente do cancelamento. O lojista pode cancelar transações de pré-autorização com ou sem captura e transações de pagamento. No caso de cancelar uma transação de pré-autorização com captura, a Getnet efetua o cancelamento da captura, porém, o e-SiTef exibirá essa transação de pré com status cancelada (e captura confirmada).

GlobalPayments WS

A loja tem a possibilidade de configurar o roteamento de transações feitas com cartão de crédito no e-SiTef por vários meios de pagamento, um desses meios é a GlobalPayments.

Neste documento será usada a nomenclatura "GlobalPaymentsWS" para referenciar o roteamento no e-SiTef.

Assim, a loja pode configurar o e-SiTef para que as transações feitas com cartões VISA, por exemplo, sejam roteadas pela GlobalPaymentsWS enquanto que as feitas com MASTERCARD sejam roteadas pela CIELO.

Interfaces e-SiTef suportadas para integração

É possível utilizar as seguintes interfaces para a integração com o roteamento GlobalPaymentsWS:

  • Pagamento REST
  • Pré-Autorização REST
  • Cancelamento REST
  • Pagamento HTML
  • Pré-Autorização HTML
  • Cancelamento via Portal do Lojista

Observação: Esta integração também aceita o envio de dados de autenticação 3DS (eci, xid e cavv). Saiba mais.

Autorizadoras permitidas

Para maiores informações sobre quais autorizadoras são permitidas pela GlobalPaymentsWS, por favor, entrar em contato com ela.

Credenciais necessárias

A loja deve obter com a GlobalPaymentsWS as credenciais listadas abaixo, e repassá-las à Software Express ou fazer o cadastro como explicado mais a frente neste mesmo documento.

CampoDescriçãoFormato
terminalNúmero de terminal que será definido pela GlobalPaymentsWS.< 3 N
merchantCodeNúmero do estabelecimento definido pela GlobalPaymentsWS.< 15 N
secretKeyChave secreta do lojista na GlobalPaymentsWS.AN

Cadastro das informações pelo portal do lojista

O próprio lojista pode cadastrar as informações obtidas com a GlobalPaymentsWS no Portal do Lojista do e-SiTef. Nesse ambiente será possível alterar as configurações. Para essa finalidade, o lojista deve selecionar a autorizadora e entrar na tela de edição como no exemplo exibido abaixo:

Fluxos

Nesta seção serão apresentadas as particularidades do fluxo transacional GlobalPaymentsWS.

Pré-Autorização REST

Serviço de efetivação de pré-autorização

Apesar da interface do e-SiTef possibilitar o envio das parcelas na Captura, a GlobalPaymentsWS requer o envio dessa informação na chamada da Pré-Autorização. Saiba mais.

Serviço de captura de pré-autorização

Na operação de captura, o valor da transação deve ser igual ou menor do que valor da transação de Pré-Autorização.

A GlobalPaymentsWS requisita o envio das parcelas na chamada de Pré-Autorização. Por este motivo, o envio de algum valor para este campo não será considerado na interface de Captura.

A GlobalPaymentsWS assume que todo parcelamento será considerado como sendo SEM Juros. Por isto, o envio de algum valor para o campo installment_type não será considerado na interface de Captura.

Pagamento REST

Essa interface suporta o envio da flag de recorrência, de campos de autenticação externa, além do soft descriptor.

Confirmação tardia

O pagamento REST possui o campo postpone_confirmation, que indica se o pagamento será feito com confirmação automática ou manual, sendo que esta última opção é feita através do serviço de confirmação de pagamento. Porém, por questões da API GlobalPaymentsWS, ao chamar o serviço de efetivação de pagamento com confirmação tardia, na prática é chamada uma requisição de pré-autorização e o serviço de confirmação gera uma requisição de captura.

Serviço de consulta de cartão

Este serviço permite uma consulta para validar o cartão que será utilizado no pagamento, na API da GlobalPaymentsWS. Para seu correto funcionamento, é necessário que a função ZeroDollar esteja habilitada no cadastro da loja na GlobalPayments.

Pagamento HTML

Para pagamentos HTML, na criação da transação no e-SiTef o campo postpone_confirmation permite que a transação de pagamento se torne pendente ao final da interação do usuário com as telas de e-SiTef, e posteriormente esta pode ser confirmada ou desfeita pela Interface REST de Confirmação de Pagamentos HTML.

Neste caso também existe a particularidade de que, quando a transação é criada com o campo postpone_confirmation com valor true, na prática é feita uma requisição de pré-autorização à API GlobalPaymentsWS, e consequentemente, a confirmação feita pela interface REST gera uma requisição de captura.

Cancelamento

Só poderão ser canceladas as transações capturadas ou confirmadas no dia corrente (até as 23:59:59).

O lojista poderá cancelar uma transação via a interface de cancelamento REST ou pelo Portal do Lojista.

A GlobalPaymentsWS aceita cancelamentos parciais apenas de transações de Pré-Autorização. Para as demais transações o cancelamento deve ser feito para o mesmo valor.

Autenticação via HTML

Caso esteja sendo utilizada a interface de Pagamento/Pré Autorização HTML, para realizar a autenticação o seguinte campo deve ser enviado na requisição:

ParâmetroDescriçãoFormatoObrigatório
authorizer_authenticationEste campo deve ser enviado com valor true caso se deseje uma transação com autenticação.

Saiba mais.
< 5 ANSIM

Cartões de testes GlobalPaymentsWS

A GlobalPaymentsWS disponibiliza os seguintes números de cartões para o ambiente de testes, que podem ser utilizados no ambiente de Certificação / Homologação do e-SiTef.

Opção / ResultadoNúmero do cartão de créditoVencimentoCVV
À Vista454881204940000412/20123
Parcelado476112000000014812/17111
Negado111111111111111711/20-

IPG

A loja tem a possibilidade de configurar o roteamento de transações feitas com cartão de crédito no e-SiTef por vários meios de pagamento, um desses meios é a IPG (Internet Payment Gateway) da First Data/fiserv.

Assim, a loja pode configurar o e-SiTef para que as transações feitas com cartões VISA, por exemplo, sejam roteadas pela IPG enquanto que as feitas com MASTERCARD sejam roteadas pela BIN.

Interfaces e-SiTef suportadas para integração

É possível utilizar as seguintes interfaces para a integração com o roteamento IPG:

  • Pagamento REST
    • Consulta de cartão REST
  • Pré-Autorização REST
  • Cancelamento REST

Autorizadoras permitidas

As seguintes autorizadoras são suportadas pelo roteamento IPG:

  • VISA
  • MASTERCARD
  • ELO
  • AMERICAN EXPRESS
  • HIPER
  • SOROCRED
  • CABAL

Credenciais necessárias

A loja deve obter com a IPG as credenciais listadas abaixo, e repassá-las à Software Express ou fazer o cadastro como explicado mais a frente neste mesmo documento.

CampoDescriçãoFormato
ipgMerhantApiKeyIdentificação da loja na IPG.< 32 AN
ipgMerchantApiSecretChave de acesso da loja gerado pelo IPG.< 16 AN
ipgEndPointURLURL da IPG API REST< 200 AN

Cadastro das informações pelo portal do lojista

O próprio lojista pode cadastrar as informações obtidas com a IPG no Portal do Lojista do e-SiTef. Para essa finalidade, o lojista deve selecionar a autorizadora e entrar na tela de edição como no exemplo exibido abaixo:

No Portal do Lojista, no ambiente de edição da Autorizadora, é possível alterar as configurações cadastradas no ambiente e-SiTef. Nesse caso, a alteração ocorrerá somente para esta autorizadora. Note que se as lojas utilizam a mesma conta, será necessário que os lojistas alterem manualmente as senhas pra todas as outras autorizadoras.

Fluxos

As particularidades do fluxo transacional da IPG são explicitadas coforme a seguir:

Consulta de cartão

Para solicitação de consulta de cartão com o campo "routing-id" definido como IPG, serão retornados os detalhes do cartão fornecidos pelo IPG. Para maiores detalhes, clique aqui

Pagamento indicando recorrência

No roteamento da IPG é possível realizar pagamentos indicando que este é um pagamento recorrente (Saiba mais). Para realizar pagamentos indicando recorrência, envie os seguintes parâmetros no pagamento:

  • acquirer.recurrency com o valor true;
  • acquirer.is_first_recurring com o valor true para indicar que a transação é a primeira de uma série de transações recorrentes, ou false caso contrário.

Itaú Shopline

O e-SiTef permite a integração do site do lojista com pagamentos pelo Itaú Shopline, onde o comprador acessa a própria conta pela interface do Itaú para efetuar o pagamento via boleto bancário, transferência bancária ou utilizando cartões Itaucard.

Nesta página será usada a nomenclatura "Itaú Shopline" para referenciar o roteamento no e-SiTef.

Interfaces e-SiTef suportadas para integração

É possível utilizar as seguintes interfaces para a integração com o roteamento Itaú Shopline:

  • Pagamento HTML
  • Reemissão de Boletos

Autorizadoras permitidas

As seguintes autorizadoras são suportadas pelo roteamento Itaú Shopline:

  • Itaú Shopline

Credenciais necessárias

A loja deve obter com o Itaú as credenciais listadas abaixo, e repassá-las à Software Express.

CampoDescrição do campoFormato
codigoEmpresaCódigo da empresa (loja) no Itaú.= 26 AN
chaveChave de criptografia para troca de informações com o Itaú Shopline.= 16 AN

Configurações necessárias no Portal do Itaú Shopline

Algumas configurações devem ser feitas na conta do lojista no Itaú Shopline para a perfeita integração com o e-SiTef.

URL de Retorno

Para um correto funcionamento da confirmação do pagamento, é necessário que o lojista entre no Itaú Bankline com suas credenciais e configure o campo URL de Retorno do Shopline para a URL do e-SiTef abaixo:

Ambiente de Produção
https://esitef-ec.softwareexpress.com.br/e-sitef/itau.se
Ambiente de Homologação
https://esitef-homologacao.softwareexpress.com.br/itau.se

Esta URL é utilizada para que o Itaú confirme o pagamento no e-SiTef. Existe uma limitação no Itaú Shopline de 60 caracteres para a URL, portanto bastante cuidado no cadastro da URL, que são diferentes para a homologação e para a produção.

Note que as alterações no ambiente do Itaú podem demorar um dia útil para ficar disponíveis.

Abaixo segue cópia do manual técnico do Itaú Shopline para acesso aos dados cadastrais.

(Extraído do manual técnico do Itaú Shopline)

Dentro do Itaú Bankline, a rota de acesso a esta função é: Produtos e Serviços > Itaú Shopline > Informações Cadastrais

(...)

Atenção: Qualquer informação alterada neste ambiente estará disponível para utilização 1(um) dia útil após a alteração. Para acessar o Itaú Bankline, é necessário entrar no site o Itaú (http://www.itau.com.br/) e digitar:

  • dados de Agência, Conta Corrente e Senha Eletrônica na barra de acesso ao Itaú Bankline Empresa;
  • ou dados de Usuário Operador e Senha Eletrônica na barra de acesso ao Itaú Bankline Empresa Plus.

Fluxo de Pagamento com Itaú Shopline

Após ter sido configurado essa forma de pagamento para a loja, o fluxo de pagamento ocorre da seguinte forma:

  1. O usuário inicia o pagamento pelo e-SiTef;
  2. A lista de autorizadoras configurada na loja é apresentada para o usuário;
  3. O usuário escolhe a forma de pagamento Itaú Shopline;
  4. Nesse momento será aberta uma nova janela redirecionando o usuário para o site do Itaú Shopline;
  5. O usuário inicia o processo de pagamento no site do Itaú Shopline.
  6. O usuário finaliza o pagamento no ambiente do Itaú Shopline;
  7. O Itaú Shopline redireciona o usuário para o e-SiTef, conforme URL de retorno configurada.
  8. Ao receber o redirecionamento do usuário, o e-SiTef efetua uma consulta ao Itaú e atualiza o status da transação no e-SiTef.
  9. Caso a loja tenha configurado o redirecionamento automático, o usuário é redirecionado à URL de Sucesso ou Fracasso configurado no e-SiTef.
  10. Por fim, caso haja o redirecionamento automático, o usuário retorna ao site da loja. Na figura abaixo podemos visualizar no diagrama o fluxo descrito acima:

Um caso de exceção a esse fluxo é o caso onde a URL de Retorno não foi cadastrada no Itaú. Assim, não haverá redirecionamento do usuário após a finalização do pagamento no Itaú Shopline.

Outro caso possível é iniciar a transação com a autorizadora pré-fixada, onde os passos 2 e 3 não são necessários.

Logo, sugerimos que a configuração descrita em URL de Retorno seja feita corretamente, para possibilitar uma melhor experiência de compra ao usuário.

Aviso de Status

Para cada alteração de status de transação no e-SiTef, resultante de comunicação entre o e-SiTef e o Itaú, é enviado ao servidor da loja um Aviso de Status. Para mais detalhes sobre esta funcionalidade, consulte o Pagamento HTML no item Aviso de Status.

Parâmetros para transação via Itaú Shopline

Os parâmetros usados para se criar uma transação de pagamento com o Itaú Shopline são os mesmos que os apresentados no Pagamento HTML no item Iniciando uma transação de pagamento.

Para pagamentos com Itaú Shopline, as seguintes particularidades devem ser consideradas:

Código de Pedido

Para utilizar a forma de pagamento Itaú Shopline, é necessário que o código de pedido seja sempre diferente para cada transação, e tenha somente oito dígitos. Este código de pedido não pode se repetir por 60 dias (segundo informação do Itaú em 12/2010), e deve ser numérico. Caso a loja envie maior que oito ou contendo caracteres alfanuméricos, o e-SiTef irá:

  • Retirar todos os caracteres não numéricos
  • Manter os oito últimos dígitos que sobrarem (à direita).
  • Enviar “0” caso não sobre nada.

Importante: O e-SiTef não irá verificar se os códigos estão se repetindo, e Itaú Shopline pode até aceitar códigos de pedidos repetidos, porém poderão ocorrer erros como pedidos novos não pagos retornarem como confirmados pelo Itaú. O e-SiTef não se responsabiliza por códigos de pedido repetidos.

Pagamentos Itaú Shopline via Boleto Bancário

No caso do usuário escolher o pagamento Itaú Shopline via boleto bancário, a confirmação do pagamento pode demorar até um dia útil para acontecer por parte do Itaú, e manter-se em status Pendente no e-SiTef durante este período.

Como o Itaú não informa ao e-SiTef quando o pagamento do boleto foi efetuado, o e-SiTef pode demorar mais um dia para confirmar, pois a sonda que atualiza os status de pagamentos de boleto é executada apenas de madrugada. Neste caso, o redirecionamento para a URL de sucesso por parte do e-SiTef no caso de escolha via boleto irá acontecer no momento em que o boleto for gerado pelo Itaú. Caberá à loja verificar o status final da transação junto ao e-SiTef.

Se for constatado que a data do boleto passou dos dias configurados para cancelamento, então será alterado o status da transação para Expirada, para que sejam finalizadas as consultas da situação do pagamento do boleto no Itaú. Caso uma transação de pagamento com status Expirada no e-SiTef seja efetuada no ambiente do Itaú, uma vez que o Itaú notifique o e-SiTef que o pagamento foi realizado com sucesso, a transação será retomada e o pagamento será realizado normalmente, se o pagamento for realizado com sucesso, a transação tem seu status alterado de Expirada para Confirmada.

Atenção ao fato de que, para toda atualização de status em transações do e-SiTef, será enviado um post para a URL de Aviso de Status da loja cadastrada no e-SiTef.

Para que um pagamento via boleto bancário seja feito pelo usuário, é necessário que a loja envie para o e-SiTef as seguintes informações:

CampoDescriçãoFormatoObrigatório
identification_numberNúmero de inscrição do sacado (CPF ou CNPJ)

Se o número de inscrição do sacado for maior que 11 dígitos o campo será considerado CNPJ.
< 20 NSIM
name
Nome completo do sacado.

Para o Itaú Shopline, o nome e sobrenome mais um espaço separador entre eles devem ter, no máximo 200 caracteres alfanuméricos.
< 200 AN
SIM
surname
address_street_name
Endereço do sacado.

Para o Itaú Shopline, o logradouro, número, o complemento do endereço mais os espaços separadores entre eles devem ter no máximo 200 caracteres alfanuméricos.
< 200 AN
SIM
address_street_number
address_street_complement
address_zip_codeCEP do sacado= 8 NSIM
cityCidade do sacado< 100 ANSIM
stateEstado do sacado= 2 ANSIM
neighborhoodBairro do sacado< 15 ANSIM

Segue abaixo exemplo de uso na Interface HTML do e-SiTef, com o JSON do objeto request enviado no POST:

JSON
{
"merchant_id":"codigoDaLoja",
"merchant_usn":"98765",
"order_id":"abc123456",
"redirect":"A",
"authorizer_id":"7",
"amount":"1000",
"installments":"1",
"installment_type":"4",
"additional_data":{
"payer":{
"name":"Jose",
"surname":"Silva",
"identification_number":"09719224703",
"address_street_name":"Rua Jose Ninguem",
"address_street_number":"11",
"address_street_complement":"ap 12",
"address_zip_code":"01230120",
"city":"Sao Paulo",
"state":"SP",
"neighborhood":"Campos Eliseos"
}
}
}

Reemissão de boletos

É possível disponibilizar aos compradores a Reemissão de boletos do Itaú Shopline.

Esta funcionalidade está disponível através da URL:

Ambiente de Produção
https://esitef-ec.softwareexpress.com.br/e-sitef/reissue.se?nit=XXX
Ambiente de Homologação
https://esitef-homologacao.softwareexpress.com.br/e-sitef-hml/reissue.se?nit=XXX

Deve-se informar como parâmetro do POST o nit utilizado da transação original de pagamento, feita via Itaú Shopline. O simples acesso a esta URL já permite a visualização direta do boleto reemitido com os mesmos dados da primeira emissão.

Caso a transação de pagamento não esteja no estado esperado, é apresentada uma mensagem de erro.

Atenção

Nunca deve ser usado o IP ao invés do domínio esitef-ec.softwareexpress.com.br (ou esitef- homologacao.softwareexpress.com.br para ambiente de homologação). O IP pode mudar a qualquer instante e sem aviso prévio, logo é importante sempre utilizar o domínio para acessar o e-SiTef.

Mercado Pago

Esta documentação descreve a integração do e-SiTef com a plataforma de pagamento Mercado Pago. Além de explicar sobre as configurações que devem ser, necessariamente, efetuadas no ambiente do e-SiTef.

Interfaces e-SiTef suportadas para integração

É possível utilizar as seguintes interfaces para a integração com o roteamento Mercado Pago:

  • Pagamento HTML

Credenciais necessárias

A loja deve obter no portal do Mercado Pago as credenciais listadas abaixo, e repassá-las à Software Express ou fazer o cadastro no Portal do Lojista do e-SiTef.

ParâmetroDescriçãoObrigatório
public_keyChave pública da aplicação para saber, por exemplo, os meios de pagamento e criptografar os dados do cartão.SIM
access_tokenChave privada da aplicação para gerar pagamentos.SIM

Códigos de autorizadora

Abaixo estão os códigos a serem utilizados nessa integração:

  • 440: PIX
  • 402: demais formas de pagamento com Mercado Pago

Atenção: No ambiente de homologação do Mercado Pago não é possível simular uma transação PIX aprovada. A transação ficará pendente.

Parâmetros específicos do Mercado Pago

Serviço de criação de pagamento HTML

Abaixo estão os parâmetros de requisição específicos do Mercado Pago para o serviço de criação de pagamento HTML:

ParâmetroDescriçãoTamanhoObrigatório
additional_data Dados adicionais da transação.
application_feeValor de comissão do Mercado Pago em centavos< 12 NNÃO
binary_modeModo binário de aprovação. Quando definido como true, o pagamento só pode ser aprovado ou negado (não fica pendente).< 5 ANNÃO
discount_campaign_idIdentificador da campanha de desconto< 1024 ANNÃO
discount_amountValor do cupom de desconto em centavos< 12 NNÃO
acquirer_expiry_dateData de expiração do pagamento no formato AAAA-MM-DDTHH:MM:SS= 19 ANNÃO
acquirer_expiry_date_fromData a partir da qual a iniciação do pagamento estará ativa no formato AAAA-MM-DDTHH:MM:SS= 19 ANNÃO
acquirer_expiry_date_toData de expiração da iniciação do pagamento no formato AAAA-MM-DDTHH:MM:SS= 19 ANNÃO
acquirer_expiresBooleano que indica se a iniciação do pagamento expira.< 5 ANNÃO
descriptionRazão de pagamento ou título do item< 1024 ANNÃO
extra_infoInformações adicionais.< 1024 ANNÃO
max_installmentsNúmero máximo de parcelas.< 2 NNÃO
additional_data
.items[]
Dados de carrinho de compras. Obrigatório o envio de pelo menos um item, e a soma dos preços do carrinho deve ser igual ao valor total da transação (campo amount, na raiz do JSON).
idID do produto.< 1024 ANNÃO
titleNome do item.< 1024 ANNÃO
descriptionDescrição do item.< 1024 ANNÃO
picture_urlURL da imagem do item.< 1024 ANNÃO
category_idCategoria do item: art, baby, coupon, donation, computing, camera, video_game, television, car_eletronic, automotive, entertainment, fashion, game, home, musical, phone, service, learning, ticket, travel, virtual_good ou other< 1024 ANNÃO
quantityQuantidade do item.< 7 NSIM
unit_pricePreço unitário do item em centavos.< 12 NSIM
additional_data
.payer
Dados do comprador.
nameNome do comprador.< 1024 ANNÃO
surnameSobrenome do comprador.< 1024 ANNÃO
emailE-mail do comprador.< 1024 ANNÃO
creation_dateData da criação da conta no formato DD/MM/AAAA= 10 ANNÃO
identification_typeTipo de identificação do comprador.< 1024 ANNÃO
identification_numberNúmero de identificação do comprador.< 1024 ANNÃO
typeTipo de identificação do pagador associado: guest, customer ou registered< 10 ANNÃO
additional_data
.payer
.phones[]
Telefone do comprador.
dddCódigo da área do telefone.< 1024 ANNÃO
numberNúmero do telefone do comprador.< 1024 ANNÃO
additional_data
.payer
.address
Endereço do comprador.
street_nameEndereço do comprador.< 1024 ANNÃO
street_numberNúmero do endereço do comprador.< 1024 ANNÃO
zip_codeCEP do comprador.< 1024 ANNÃO
additional_data
.shipment
Endereço de entrega.
modeModo de envio:
  • custom = Customizado
  • me2 = Mercado Envios
  • not_specified = Não especificado
< 1024 ANNÃO
local_pickupPreferência de remoção de pacotes em agência (booleano). Apenas para mode = me2.< 5 ANNÃO
dimensionsTamanho do pacote em cm x cm x cm, gr. Apenas para mode = me2.< 1024 ANNÃO
default_shipping_methodEscolha um método de envio padrão no checkout. Apenas para mode = me2.< 1024 ANNÃO
costCusto do transporte em centavos. Apenas para mode = custom.< 12 NNÃO
free_shipmentPreferência de frete grátis (booleano). Apenas para mode = custom.< 5 ANNÃO
additional_data
.shipment
.free_methods[]
Oferecer um método de frete grátis. Apenas para mode = me2.
idIdentificador do método de envio< 1024 ANNÃO
additional_data
.shipment
.address
Endereço de entrega.
zip_codeCEP do endereço de entrega.< 1024 ANNÃO
street_numberNúmero do endereço de entrega.< 1024 ANNÃO
street_nameNome da rua de entrega.< 1024 ANNÃO
floorNúmero do andar de entrega.< 1024 ANNÃO
apartmentNúmero do apartamento de entrega.< 1024 ANNÃO
citycidade de entrega.< 1024 ANNÃO
stateEstado de entrega.< 1024 ANNÃO
additional_data
.payment_method
.excluded_payment_methods[]
Métodos de pagamento a serem excluídos do fluxo de pagamento Mercado Pago.
idID do método de pagamento a ser excluído:
  • debelo = Elo Debito
  • debmaster = Mastercard Débito
  • visa = Visa
  • master = Mastercard
  • hipercard = Hipercard
  • amex = American Express
  • elo = Elo
  • debvisa = Visa Débito
  • pec = Pagamento na lotérica sem boleto
  • bolbradesco = Boleto
< 1024 ANNÃO
additional_data
.payment_method
.excluded_payment_types[]
Tipos de pagamento a serem excluídos do fluxo de pagamento Mercado Pago.
idID do tipo de pagamento a ser excluído: debit_card, credit_card ou ticket.< 1024 ANNÃO
additional_data
.payment_method
.ad_tracks[]
Tracks que serão executados durante a interação do usuário no fluxo de Pagamento.
typeTipo da track:
  • google_ad: Configure uma tag de acompanhamento de conversões do Google Ads no GTM. Valores necessários: conversion_id e conversion_label.
  • facebook_ad: Permite configurar um pixel do Facebook. Valores necessários: pixel_id.
< 1024 ANNÃO
conversion_idConversion ID da track.< 1024 ANNÃO
conversion_labelConversion Label da track.< 1024 ANNÃO
pixel_idPixel ID da track.< 1024 ANNÃO

Exemplo de JSON:

{
   "merchant_id":"LOJAMERCADOPAGO",
   "merchant_usn":"123456",
   "amount":"100",
   "soft_descriptor":"softDescriptor",
   "additional_data":{
      "extra_info":"extraInfo",
      "items":[
         {
            "title":"Camiseta",
            "quantity":"1",
            "unit_price":"100",
            "picture_url":"https://abc.def/item/552292339/zoom/10.jpg",
            "category_id":"fashion",
            "description":"Camiseta Preta",
            "id":"id"
         }
      ],
      "payer":{
         "name":"Jonas",
         "surname":"Melo",
         "email":"a@b.com",
         "date_created":"11/02/2015",
         "address":{
            "zip_code":"12345678",
            "street_number":"751",
            "street_name":"Rua Major Vitor"
         },
         "phones":[
            {
               "number":"912341234",
               "ddd":"11"
            }
         ],
         "identification_type":"CPF",
         "identification_number":"86670573049"
      },
      "payment_method":{
         "excluded_payment_methods":[
            {
               "id":"debelo"
            }
         ],
         "excluded_payment_types":[
            {
               "id":"debit_card"
            }
         ]
      },
      "shipment":{
         "mode":"not_specified",
         "local_pickup":"true",
         "dimensions":"23x23x23, 23g",
         "default_shipping_method":"45",
         "cost":"2",
         "free_shipment":"true",
         "address":{
            "zip_code":"87654321",
            "street_number":"920",
            "street_name":"Rua General Henrique",
            "floor":"1",
            "apartment":"23",
            "city":"São Mateus",
            "state":"AM"
         },
         "free_methods":[
            {
               "id":"621"
            }
         ]
      },
      "max_installments":"12",
      "application_fee":"1",
      "acquirer_expiry_date":"2021-06-02T11:05:27",
      "acquirer_expiry_date_from":"2021-06-01T11:05:27",
      "acquirer_expiry_date_to":"2021-06-03T11:05:27",
      "acquirer_expires":"false",
      "ad_tracks":[
         {
            "conversion_id":"conversionId",
            "type":"google_ad",
            "conversion_label":"conversionLabel"
         }
      ]
   }
}

PagSeguro

Esta documentação descreve a integração com a plataforma de pagamento PagSeguro e as configurações necessárias no ambiente do e-SiTef.

ATENÇÃO: Em ambiente de homologação, o comportamento do PagSeguro será simulado pelo e-SiTef a fim de tornar o processo de homologação mais confiável e satisfatório, uma vez que o ambiente de testes (Sandbox) do PagSeguro ainda não fornece todas as funcionalidades disponíveis em produção.

Dessa maneira, o comportamento das transações feitas com a autorizadora PagSeguro no ambiente de homologação pode não refletir o ambiente de produção.

Apesar do esforço empregado em manter o simulador sempre atualizado, mudanças efetuadas pelo PagSeguro podem ocorrer sem que haja aviso prévio à equipe e-SiTef.

Interfaces suportadas

  • Pagamento HTML
  • Cancelamento REST
  • Cancelamento Portal

Configurações necessárias no e-SiTef

Antes de efetuar transações PagSeguro com o e-SiTef, devem ser seguidos os passos de configuração apresentados a seguir.

Dados cadastrais do PagSeguro

  • A loja deve possuir um cadastro ativo no PagSeguro. Mais informações no site oficial do PagSeguro
  • A tabela a seguir mostra as credenciais PagSeguro que devem ser obtidas pela loja, e que posteriormente serão cadastradas no e-SiTef:
ParâmetroDescriçãoObrigatório
emailIdentificação do clienteSIM
tokenChave de acessoSIM

Inserir dados cadastrais no e-SiTef

  • Tendo em mãos os dados cadastrais PagSeguro citados acima, o lojista deve solicitar à equipe de atendimento do e-SiTef:

    • A ativação do PagSeguro como uma autorizadora ativa no cadastro do e-SiTef.
    • Caso não possua, um usuário e senha de acesso ao Portal do Lojista no e-SiTef.
  • Assim que a Autorizadora PagSeguro estiver associada à loja, o lojista deve acessar o Portal do Lojista e informar os dados cadastrais do PagSeguro no item "Configuração de Autorizadoras". Além dos parâmetros email e token citados anteriormente.

Para mais detalhes de como cadastrar os dados no portal do lojista, consulte a seção específica do Portal do Lojista.

Código de Autorizadora para PagSeguro no e-SiTef

Para realizar pagamentos com a autorizadora pré-definida, envie o código 403 que se refere a autorizadora PagSeguro.

Parâmetros para transação via PagSeguro

Os parâmetros usados para fazer uma transação de pagamento com o PagSeguro devem ser enviados ao e-SiTef obrigatoriamente no formato JSON, através da URL do ambiente de homologação disponibilizada:

https://esitef-homologacao.softwareexpress.com.br/e-sitef/init.se

Para maiores informações sobre a interface de pagamento HTML, consulte a seção específica nessa documentação.

ATENÇÃO: Transações que entrarem em disputa no PagSeguro permanecerão com o status confirmado (CON) no e-SiTef assim como os seus possíveis resultados (devolução ou pagamento confirmado). Cabe ao comprador verificar a situação da transação junto ao PagSeguro.

Abaixo estão listados os parâmetros que a loja pode enviar ao e-SiTef para possibilitar ao comprador fazer um pagamento no PagSeguro.

ParâmetroDescriçãoFormatoObrigatório
additional_data
extra_infoInformações adicionais.< 1024NÃO
currencyIndica a moeda na qual o pagamento será feito, no formato ISO 4217. No momento, a única opção disponível é BRL (Real).< 1024NÃO
extra_amountEspecifica um valor extra que deve ser adicionado ou subtraído ao valor total do pagamento. Esse valor pode representar uma taxa extra a ser cobrada no pagamento ou um desconto a ser concedido, caso o valor seja negativo.

Formato: centavos.
Exemplo: 123456 (R$ 1234, 56) ou -123456 (R$-1234,56)
< 1024NÃO
additional_data
.items[]
idIdentificação do item.< 1024NÃO
titleTítulo do item.< 1024SIM
quantityQuantidade do item.< 1024SIM
unit_pricePreço unitário do item em centavos.< 1024SIM
descriptionDescrição do item.< 1024NÃO
shipping_costRepresentam os custos de frete de cada item sendo pago.< 1024NÃO
weightCorrespondem ao peso (em gramas) de cada item sendo pago. Utilizado para calcular o frete, caso não seja informado o custo do frete (shipping_cost).

Exemplo: 3000 (3kg)
< 1024NÃO
additional_data
.payer
nameNome do comprador.< 1024NÃO
surnameSobrenome do comprador.< 1024NÃO
emailE-mail do comprador.< 1024NÃO
phone_area_codeCódigo da área do telefone.< 1024NÃO
phone_numberNúmero do telefone do comprador.< 1024NÃO
identification_typeTipo de identificação do comprador.
Somente o valor CPF é aceito.
< 1024NÃO
identification_numberNúmero de identificação do comprador.< 1024NÃO
address_street_nameEndereço do comprador.< 1024NÃO
address_street_numberNúmero do endereço do comprador.< 1024NÃO
born_dateEspecifica a data de nascimento do comprador que está realizando o pagamento. Formato ISO 8601.< 1024NÃO
additional_data
.shipment
costInforma o valor total de frete do pedido.
Formato: centavos.
Exemplo: 123456 (R$ 1234, 56)
< 1024NÃO
typeInforma o tipo de frete a ser usado para o envio do produto.

Valores aceitos:
1 – Encomenda Normal (PAC)
2 – SEDEX
3 – Tipo de frete não especificado.
< 1024NÃO
additional_data
.shipment
.receiver_address
zip_codeCEP do endereço a ser entregue.

Formato: Número de 8 dígitos.
Exemplo: 12345678
< 1024NÃO
street_numberNúmero do endereço a ser entregue.< 1024NÃO
street_nameEndereço a ser entregue.< 1024NÃO
floorNúmero do andar a ser entregue.< 1024NÃO
apartmentNúmero do apartamento a ser entregue.< 1024NÃO
districtInforma o bairro do endereço de envio do produto.< 1024NÃO
complementInforma o complemento (bloco, apartamento, etc.) do endereço de envio do produto.< 1024NÃO
cityInforma a cidade do endereço de envio do produto.< 1024NÃO
stateInforma o estado do endereço de envio do produto.

Exemplo: SC (Santa Catarina), SP (São Paulo), etc.
< 1024NÃO
countryInforma o país do endereço de envio do produto.

No momento apenas o valor BRA é permitido
< 1024NÃO
additional_data
.extra_param
.metadata[]
keyPermite adicionar informações extras, agrupadas ou não, em sua requisição de pagamento.

São aceitos apenas os valores descritos aqui.
< 1024NÃO
valuePermite especificar valores para os metadados definidos em sua requisição de pagamento.< 1024NÃO
groupPermite agrupar dois ou mais metadados, como por exemplo CPF e nome de um mesmo passageiro.< 1024NÃO

Fluxo de pagamento PagSeguro

Após enviar os dados de criação da transação e escolher o meio de pagamento PagSeguro, o seguinte fluxo de telas será iniciado:

  • Uma Janela LightBox do PagSeguro será aberta no browser para efetuar o pagamento:

"Lightbox PagSeguro"

  • Caso a transação seja abortada, a seguinte tela será exibida:

"Transação abortada"

  • Caso a transação seja confirmada, a tela a seguir será apresentada:

"Caso de pagamento confirmado" d

  • Caso a transação não seja confirmada, a seguinte tela será apresentada:

"Tela de aguarde"

Aviso de Status - dados específicos

No Aviso de Status para pagamento feitos com o PagSeguro, são retornados adicionalmente os seguintes campos:

ParâmetroDescriçãoTamanho
pagseguro_status_paymentStatus da transação no PagSeguro.
1 = Aguardando pagamento
2 = Em análise
3 = Paga
4 = Disponível
5 = Em disputa
6 = Devolvida
7 = Cancelada
< 15 AN
pagseguro_typeTipo da transação no PagSeguro. Normalmente, tipo 1 = Pagamento< 5 AN
pagseguro_cancellation_sourceOrigem do cancelamento no PagSeguro, apenas quando o parâmetro pagseguro_payment_status for igual a 7.
INTERNAL = PagSeguro
EXTERNAL = Instituições Financeiras
< 10 AN
pagseguro_discount_amountValor do desconto dado.< 10 AN
pagseguro_fee_amountValor total das taxas cobradas.< 10 AN

ATENÇÃO: os dados apresentados são dados devolvidos pelo PagSeguro, logo o e-SiTef não possui controle sobre estes. Além disso, estes podem não retornar sempre.

Transação de Estorno - Cancelamento REST

Para realizar o estorno de uma transação PagSeguro, utilize a interface de Cancelamento REST. Para mais detalhes, consulte a seção específica na documentação.

Portal do Lojista

Para orientações gerais sobre o Portal do Lojista, por favor consulte a seção específica nesta documentação.

URL de acesso ao Portal do Lojista - Produção:

https://esitef-ec.softwareexpress.com.br/e-sitef-loja

URL de acesso ao Portal do Lojista - Homologação:

https://esitef-homologacao.softwareexpress.com.br/e-sitef-loja/

  • Para realizar o estorno de uma transação PagSeguro, acesse o Portal do Lojista e clique no menu Cancelamento, conforme imagem abaixo:

"Menu de cancelamento"

Procure pela transação que se deseja realizar o estorno utilizando os filtros:

"Menu de cancelamento"

Clique na transação que se deseja realizar o estorno, a seguinte tela se abrirá:

"Menu de cancelamento"

  • Verifique se os dados estão corretos e clique em Cancelar Pagamento e, em seguida, confirme. Caso a transação seja estornada com sucesso, um comprovante de estorno semelhante ao abaixo será apresentado:

"Menu de cancelamento"

Apêndices

Valores de chave para Metadata

ValorDescriçãoFormato
PASSENGER_CPFCPF do passageiro[0-9]{11}
PASSENGER_PASSPORTPassaporte do passageiro.+
ORIGIN_CITYCidade de origem.+
DESTINATION_CITYCidade de destino.+
ORIGIN_AIRPORT_CODECódigo do aeroporto de origem.+
DESTINATION_AIRPORT_CODECódigo do aeroporto de destino.+
GAME_NAMENome do jogo.+
PLAYER_IDID do jogador.+
TIME_IN_GAME_DAYSTempo no jogo em dias[0-9]+
MOBILE_NUMBERCelular de recarga([0-9]{2})?([0-9]{2})([0-9]{4,5}[0-9]{4})
PASSENGER_NAMENome do passageiro.+

Exemplo de JSON

{
    "merchant_id": "CODIGO_LOJA",
    "order_id": "1123456",
    "redirect": "M",
    "authorizer_id": "600",
    "amount": "2000",
    "installments": "1",
    "back_url": {
        "url_success": "url relativa de sucesso cadastrada no e-SiTef",
        "url_failure": " url relativa de fracasso cadastrada no e-SiTef",
        "url_cancel": " url relativa de cancelameto cadastrada no e-SiTef"
    },
    "additional_data": {
        "extra_info": "dados extras",
        "currency":"BRL",
        "items": [
            {
                "description": "descricao",
                "id": "123",
                "quantity": "2",
                "title": "Produto 1",
                "unit_price": "1000",
                "weight": "4000",
                "shipping_cost": "1000"
            },
            {
                "description": "descricao",
                "id": "1234",
                "quantity": "3",
                "title": "Produto 2",
                "unit_price": "2000",
                "weight": "3000",
                "shipping_cost": "1000"
            }
        ],
        "payer": {
            "name": "João",
            "surname": "Silva",
            "email": "joao.silva@exemplo.com",
            "phone_area_code": "11",
            "phone_number": "78945123",
            "identification_type": "CPF",
            "identification_number": "12345678906",
            "address_street_name": "Rua do Exemplo",
            "address_street_number": "123",
            "born_date": "12/12/1900"
        },
        "shipment": {
            "cost": "2000",
            "type": "1",
            "receiver_address": {
                "zip_code": "12345678",
                "street_number": "Rua do Exemplo",
                "street_name": "123",
                "floor": "3",
                "apartment": "901",
                "city": "São Paulo",
                "complement": "Sobreloja 3",
                "country": "BRA",
                "district": "Jardim do Exemplo",
                "state": "SP"
            }
        },
        "extra_param": {
            "metadata": [
                {
                    "key": "PASSENGER_CPF",
                    "value": "12345678901",
                    "group": "1"
                },
                {
                    "key": "PASSENGER_PASSPORT",
                    "value": "1594825512",
                    "group": "1"
                }
            ]
        }
    }
}

PayPal

Esta página tem como objetivo apresentar as configurações e procedimentos necessários para a integração do site do lojista como meio de pagamento PayPal, através da Interface de Pagamento HTML do e-SiTef, e também para estornos via interface WebService e pelo Portal do Lojista.

Interfaces e-SiTef suportadas para integração

É possível utilizar as seguintes interfaces para a integração com o roteamento Paypal:

  • Interface de Pagamento HTML 2.0
  • Interface WebService Refund para estornos
  • Portal do Lojista para estornos

Código de Autorizadora no e-SiTef para PayPal

O código de autorizadora para a utilização ddo PayPal é o 400. Para mais códigos de autorizadora, visite a página de Autorizadoras.

Credenciais necessárias

Antes de efetuar transações PayPal com o e-SiTef, devem ser seguidos os passos de configuração apresentados a seguir.

Dados de cadastro da loja no PayPal

A loja deverá criar um cadastro no PayPal caso já não o possua. Mais informações em www.paypal.com.br. Siga as instruções em Criar conta PayPal. Dentro da sua conta, crie as credenciais necessárias.

O PayPal permite, a partir da conta cadastrada como Empresarial (ou Business), que sejam criadas contas virtuais para o sandbox - o ambiente de testes do PayPal. Para o processo de homologação no e-SiTef, sugere-se que seja criada uma conta no sandbox. Procure pela opção no site dentro da sua conta PayPal.

Abaixo estão os dados Cadastrais PayPal da loja que devem ser obtidas pela sistema PayPal:

Nome do campo no e-SiTefDescrição do campoObrigatório
USERNome de Usuário associado à conta PayPalSIM
PWDSenha do USERSIM
SIGNATUREAssinatura associada ao USERSIM

Importante: As credenciais do sandbox do PayPal podem ser utilizados no processo de homologação. Porém no ambiente de produção, devem ser cadastradas as credenciais da conta real da loja no PayPal.

Inserir dados cadastrais no e-SiTef

Tendo os dados cadastrais PayPal citados acima em mãos, o lojista deve solicitar à equipe de atendimento do e-SiTef:

  • A ativação da Autorizadora PayPal no cadastro da loja no e-SiTef.
  • Caso não possua, um usuário e senha de acesso para o Portal do Lojista do e-SiTef.

O próprio lojista pode cadastrar as informações obtidas com a PayPal no Portal do Lojista do e-SiTef. Para mais informações, acesse a página de Configuração de Autorizadora no Portal do Lojista.

Imagem de cabeçalho ou logotipo customizado na página PayPal

O lojista poderá optar entre um logotipo ou um imagem de cabeçalho (header) para ser apresentado na tela do PayPal. As dimensões do logotipo são 190 pixels x 60 pixels e as dimensões do header são 915 pixels x 85 pixels. A imagem deverá ser enviada à equipe do PayPal, que se encarregará de editar a mesma, combinando com o logotipo do e-SiTef.

Fluxo de Pagamento com PayPal

O PayPal proporciona um modelo de pagamento seguro por meio do Express Checkout, uma solução de pagamento em que as chamadas são feitas com dados exclusivos para cada cliente e um token único é retornado para cada transação criada. O e-SiTef se integra ao PayPal utilizando esta API.

O fluxo do processo de pagamento no e-SiTef via PayPal segue como abaixo:

  1. O usuário inicia o pagamento pelo e-SiTef;
  2. A lista de autorizadoras configurada na loja é apresentada para o usuário;
  3. O usuário escolhe a forma de pagamento PayPal;
  4. Nesse momento será aberta uma nova janela redirecionando o usuário para o site PayPal;
  5. O usuário inicia o processo de pagamento no site do PayPal, onde ocorre a autenticação do usuário e a autorização do pagamento;
  6. O usuário finaliza o pagamento no ambiente do PayPal;
  7. O PayPal redireciona o usuário para o e-SiTef.
  8. Ao receber o redirecionamento do usuário, o e-SiTef efetua uma consulta ao PayPal e atualiza o status da transação no e-SiTef.
  9. Caso a loja tenha configurado o redirecionamento automático, o usuário é redirecionado à URL de Sucesso ou Fracasso configurado no e-SiTef.

O diagrama de fluxo abaixo ilustra um fluxo de pagamento PayPal via e-SiTef:

Fluxo PayPal

Um caso de exceção a esse fluxo é o caso onde se inicia a transação com a autorizadora PayPal pré-fixada, onde os passos 2 e 3 não são necessários.

Aviso de Status

Para cada alteração de status de transação no e-SiTef, resultante de comunicação entre o e-SiTef e o PayPal, é enviado ao servidor da loja um Aviso de Status. Para mais detalhes sobre esta funcionalidade, consulte a página sobre Aviso de Status.

Parâmetros para transação de pagamento via PayPal

Os parâmetros usados para se criar uma transação de pagamento com o PayPal são os mesmos que os apresentados no documento de Criação de transação de pagamento via HTML.

Em adição aos parâmetros comuns, é possível enviar na requisição os campos específicos para o Paypal descritos abaixo:

Nome do parâmetroDescriçãoTamanhoObrigatório
additional_dataObjeto do tipo ADDITIONALDATANÃO

ADDITIONALDATA (additional_data)

Nome do parâmetroDescriçãoTamanhoObrigatório
extra_infoInformações adicionais.< 127 ANNÃO
item_amountSoma dos valores dos itens do pedido em centavos. Aqui se devem multiplicar os valores unitários (unit_price) dos itens com sua respectiva quantidade (quantity), para cada item. Limitado a US$10000 em qualquer moeda.< 1024 NNÃO
purchase_summaryCampo para envio de texto customizado para o texto "Resumo da Compra" na tela de pagamento.< 1024 ANNÃO
insurance_amountTotal dos valores de seguro dos itens do pedido em centavos. Limitado a US$10000 em qualquer moeda.< 1024 NNÃO
handling_amountCusto de processamento da venda em centavos. Limitado a US$10000 em qualquer moeda.< 1024 NNÃO
tax_amountTotal das taxas inclusas nos itens do pedido em centavos. Limitado a US$10000 em qualquer moeda.< 1024 NNÃO
itemsObjeto do tipo ITEMSNÃO
payerObjeto do tipo PAYERNÃO
shipmentObjeto do tipo SHIPMENTNÃO
extra_paramObjeto do tipo EXTRAPARAMNÃO

ITEMS (items)

Nome do parâmetroDescriçãoTamanhoObrigatório
idIdentificação do item.< 127 ANNÃO
titleTítulo do item.< 127 ANNÃO
urlURL do item.< 1024 ANNÃO
quantityQuantidade do item.< 10 NNÃO
unit_pricePreço unitário do item em centavos. Limitado a US$10000 em qualquer moeda.< 1024 NNÃO
weightCorrespondem ao peso de cada item do pedido. Unidade de medida em gramas(g).

Ex: 2,3 kg -> 2300
< 10 NNÃO
descriptionDescrição do item.< 127 ANNÃO
tax_amountValor da taxa do item em centavos. Limitado a US$10000 em qualquer moeda.< 1024 NNÃO
lengthComprimento do item. Unidade de medida em centímetros (cm).< 10 NNÃO
widthLargura do item. Unidade de medida em centímetros (cm).< 10 NNÃO
heightAltura do item. Unidade de medida em centímetros (cm).< 10 NNÃO
typeTipo do item:

Digital – O item é um produto digital. Ex: e-books, músicas, etc.
Physical – O item é um produto físico.
< 10 NNÃO

PAYER (payer)

Nome do parâmetroDescriçãoTamanhoObrigatório
emailE-mail do comprador.< 127 ANNÃO
identification_typeTipo de identificação do comprador. Para o Brasil:

BR_CPF - CPF do comprador
BR_CNPJ - CNPJ do comprador.
< 10 ASIM (NO BRASIL)
identification_numberNúmero de identificação do comprador.< 14 ANSIM (NO BRASIL)

SHIPMENT (shipment)

Nome do parâmetroDescriçãoTamanhoObrigatório
costInforma o valor total de frete do pedido.

Formato: centavos. Limitado a US$10000 em qualquer moeda.
Ex: 123456 (R$ 1234,56)
< 1024 NNÃO
discount_amountDesconto aplicado ao frete, em centavos. Limitado a US$10000 em qualquer moeda.< 1024 NNÃO
receiver_addressObjeto do tipo RECEIVERADDRESSNÃO

RECEIVERADDRESS (receiver_address)

Nome do parâmetroDescriçãoTamanhoObrigatório
zip_codeCEP do endereço a ser entregue.< 20 ANSIM (*)
street_nameEndereço a ser entregue. Até 100 caracteres combinados com o campo street_number.< 100 ANSIM (*)
street_numberNúmero do endereço a ser entregue. Até 100 caracteres combinados com o campo street_name.< 100 ANSIM (*)
complementInforma o complemento (bloco, apartamento, etc.) do endereço de envio do produto.< 100 ANSIM (*)
cityInforma a cidade do endereço de envio do produto.< 40 ANSIM (*)
stateInforma o estado do endereço de envio do produto. Exemplo: SC (Santa Catarina), SP (São Paulo), etc.< 2 ANSIM (*)
countryInforma o país do endereço de envio do produto. Segue o padrão ISO 3166-1 alpha-3 (3 letras).

Ex: Brasil: BRA
< 2 ASIM (*)
nameNome de referência da pessoa do endereço de envio do produto.< 32 ANSIM (*)
phone_area_codeCódigo do área do telefone do endereço de envio do produto. Até 20 caracteres combinados com o campo phone_number.< 20 ANSIM (*)
phone_numberNúmero do telefone do endereço de envio do produto. Até 20 caracteres combinados com o campo phone_area_code.< 20 ANSIM (*)

EXTRAPARAM (extra_param)

Nome do parâmetroDescriçãoTamanhoObrigatório
acquirer_paramsObjeto do tipo ACQUIRERPARAMSNÃO

ACQUIRERPARAMS (acquirer_params) (**)

Nome do parâmetroDescriçãoTamanhoObrigatório
keyChave do parâmetro a ser enviado para a adquirente ou autorizadora.< 1024 ANNÃO
valueValor do parâmetro a ser enviado para a adquirente ou autorizadora.< 1024 ANNÃO

(*) Esse campo deixa de ser obrigatório quando o item em questão for exclusivamente digital, ou seja, não houver entrega de produto físico. Exemplo: livro digital, música, etc.

ATENÇÃO: O campo que define se o item é digital ou não é o campo type do objeto item.

(**) acquirer_params: Este objeto coleta conjunto de parâmetros em formato chave+valor (key+value), quando existem parâmetros específicos que devem ser enviados para um adquirente ou autorizadora. No caso do PayPal, os seguintes parâmetros são possíveis de envio:

ChaveValor
reqConfirmShippingIndica se é necessário que o endereço de envio existente no PayPal precisa ser um endereço validado. Para isso deve atribuir à variável um dos valores abaixo:

0 - Se não é necessário que o endereço de envio seja um endereço confirmado;
1 - Se é necessário que o endereço de envio seja um endereço confirmado.

Para produtos digitais ou virtuais (Ex: livros eletrônicos e músicas digitais - produtos que são entregues via web), o parâmetro é obrigatório e deve receber o valor 0 (zero).
noShippingDetermina se a página do PayPal deve mostrar os campos de endereço para envio do pedido. Para produtos digitais ou virtuais (Ex: livros eletrônicos e músicas digitais - produtos que são entregues via web), este parâmetro é obrigatório e deve ser 1.

0 - É mostrado o endereço de envio na página do PayPal;
1 - PayPal não mostra campos do endereço de envio;
2 - Se a loja não passa o endereço de envio, PayPal obtém ele por meio do perfil da conta do comprador.
allowNoteTorna possível para o comprador enviar uma nota para a loja a partir da página do PayPal. Valores possíveis para o parâmetro:

0 - O comprador não é capaz de enviar uma nota para a loja;
1 - O comprador é capaz de enviar uma nota para a loja.
addrOverrideDetermina se a página do PayPal deve mostrar o endereço de envio encaminhado pela loja e não o existente no sistema do PayPal para um determinado cliente. O cliente não consegue editar o endereço, se o mostrado for oriundo do PayPal. Valores possíveis para o parâmetro:

0 - O PayPal mostra o endereço de envio proveniente da loja.
1 - O PayPal não mostra o endereço de envio proveniente da loja
localeCodeCódigo da localidade da página do PayPal mostrada durante o processo de compra. O parâmetro pode assumir um dos seguintes valores, de acordo com a localidade:
AU - Austrália
AT - Áustria
BE - Bélgica
BR - Brasil
CA - Canadá
CH - Suíça
CN - China
DE - Alemanha
ES - Espanha
GB - Reino Unido
FR - França
IT - Itália
NL - Holanda
PL - Polônia
PT - Portugal
RU - Rússia
US - Estados Unidos

Para línguas específicas em um país:

da_DK - Dinamarquês (somente para a Dinamarca)
he_IL - Hebraico (todas as localidades)
id_ID - Indonésio (apenas para a Indonésia)
jp_JP - Japonês (somente para o Japão)
no_NO - Norueguês (somente para a Noruega)
pt_BR - Português Brasileiro (apenas para Portugal e Brasil)
ru_RU - Russo (para a Lituânia, Letônia, e Ucrânia)
sv_SE - Sueco (apenas para a Suécia)
th_TH - Tailandês (apenas para a Tailândia)
tr_TR - Turco (Somente para a Turquia)
zh_CN - Chinês simplificado (apenas para China)
zh_HK - Chinês tradicional (apenas para Hong Kong)
zh_TW - Chinês tradicional (apenas para Taiwan)

NOTA: Se o parâmetro não existir, o PayPal seleciona a língua com base nos dados da loja, do cliente e da sessão.
pageStyleNome do estilo da página customizada para páginas de pagamento associadas a um botão ou link. Corresponde a variável Page_style em HTML.
hdrBorderColorCor (em HTML hexadecimal de 6 dígitos) da borda do cabeçalho da página de pagamento. A cor padrão é preta.
hdrBackColorCor (em HTML hexadecimal de 6 dígitos) de fundo do cabeçalho da página de pagamento. A cor padrão é branca.
payFlowColorCor (em HTML hexadecimal de 6 dígitos) de fundo da página de pagamento. A cor padrão é branca.
cartBorderColorCor (em HTML hexadecimal de 6 dígitos) da borda do resumo do pedido ou carrinho. A cor da borda é branca no topo da borda e gradativamente ela vai acentuando-se até a cor de referência ao decorrer da borda.
landingPageTipo de página de acesso. Valores possíveis para o parâmetro:

Billing - Quando o usuário não tem conta no PayPal é aberta uma página de cadastro.
Login - É aberta uma página de login no PayPal.

Se o parâmetro não for declarado explicitamente, o valor padrão é Login.
buyerEmailOptinenablePermite que o comprador possa inserir seu endereço de e-mail na página do PayPay para ser notificado de promoções ou eventos especiais. Valores possíveis para o parâmetro:
0 - PayPal não habilita o comprador a opção de cadastrar seu e-mail para eventuais avisos.
1 - Habilita o comprador a opção de cadastrar seu e-mail para eventuais avisos.
paymentRequest_0_paymentReasonIdentificador do tipo de transação. Valores possíveis para o parâmetro:

None - Transação sem tipo.
Refund - Transação de reembolso.
paymentRequest_0_insuranceOptionOfferedIndica se o comprador terá a opção de seguro na página de “review” do PayPal. Pode ser especificado para até 10 pagamentos em um transação de compra, em que o valor de n varia entre 0 e 9, inclusive . Valores possíveis para o parâmetro:

true - Com opção.
false - Sem opção.
paymentRequest_0_customCampo de livre uso. Pode ser especificado para até 10 pagamentos em um transação de compra, em que o valor de n varia entre 0 e 9, inclusive.
paymentRequest_0_noteTextNota para o lojista. Pode ser especificado para até 10 pagamentos em um transação de compra, em que o valor de n varia entre 0 e 9, inclusive.

Importante: Apesar do PayPal oferecer suporte a vários grupos de itens, o e-SiTef suporta apenas 1 grupo por compra.

Exemplos de request JSON para iniciar transações PayPal

Seguem exemplos de requests JSON para iniciar uma transação PayPal. Exemplo de request mínimo:

Objeto JSON request mínimo:

{
    "merchant_id":"CODIGOLOJA",
    "amount":"1000",
    "authorizer_id":"400",
    "additional_data":{
        "currency":"BRL",
        "payer":{
            "identification_type":"BR_CPF",
            "identification_number":"12345678901"
        }
    }
}

Exemplo de request completo:

{
    "merchant_id":"CODIGOLOJA",
    "merchant_usn":"1234567890",
    "order_id":"pedido45687",
    "authorizer_id":"400",
    "amount":"1000",
    "redirect":"M",
    "style":"P",
    "soft_descriptor":"MINHALOJA",
    "additional_data":{
        "item_amount":"1000",
        "tax_amount":"0",
        "insurance_amount":"0",
        "handling_amount":"0",
        "extra_info":"descricao",
        "currency":"BRL",
        "items":[
            {
                "id":"1",
                "title":"bola 1",
                "quantity":"1",
                "unit_price":"500",
                "currency":"BRL",
                "url":"http://sportv.globo.com/platb/files/1103/2011/08/bola_futebol.gif",
                "type":"Physical",
                "description":"bola para jogar 1",
                "weight": "100",
                "length": "20",
                "width": "20",
                "height": "20",
                "tax_amount": "0"
            },
            {
                "id":"2",
                "title":"bola 2",
                "quantity":"2",
                "unit_price":"250",
                "currency":"BRL",
                "url":"http://sportv.globo.com/platb/files/1103/2011/08/bola_futebol.gif",
                "type":"Physical",
                "description":"bola para jogar 2",
                "weight": "200",
                "length": "20",
                "width": "20",
                "height": "20",
                "tax_amount": "0"
            }
        ],
        "payer":{
            "email":"js@softexpress.com.br",
            "identification_type":"CPF",
            "identification_number":"09719224703"
        },
        "shipment":{
            "cost": "0",
            "discount_amount": "0",
            "receiver_address":{
                "zip_code": "12345678",
                "street_number": "Rua do Exemplo",
                "street_name": "123",
                "name": "Rafael do Mel",
                "phone_area_code": "11",
                "phone_number": "912341234",
                "city": "São Paulo",
                "complement": "Sobreloja 3",
                "country": "BRA",
                "state": "SP"
            }
        },
        "extra_param": {
            "acquirer_params": [
                {
                    "key": "reqConfirmShipping",
                    "value": "0"
                },
                {
                    "key": "noShipping",
                    "value": "1"
                },
                {
                    "key": "allowNote",
                    "value": "1"
                },
                {
                    "key": "addrOverride",
                    "value": "1"
                },
                {
                    "key": "localeCode",
                    "value": "pt_BR"
                },
                {
                    "key": "pageStyle",
                    "value": ""
                },
                {
                    "key": "hdrBorderColor",
                    "value": ""
                },
                {
                    "key": "hdrBackColor",
                    "value": ""
                },
                {
                    "key": "payFlowColor",
                    "value": ""
                },
                {
                    "key": "cartBorderColor",
                    "value": ""
                },
                {
                    "key": "landingPage",
                    "value": ""
                },
                {
                    "key": "buyerEmailOptinenable",
                    "value": "0"
                },
                {
                    "key": "paymentRequest_0_paymentReason",
                    "value": "none"
                },
                {
                    "key": "paymentRequest_0_insuranceOptionOffered",
                    "value": "false"
                },
                {
                    "key": "paymentRequest_0_custom",
                    "value": ""
                },
                {
                    "key": "paymentRequest_0_noteText",
                    "value": "Obrigado por comprar na Loja Teste!"
                }
            ]
        }
    }
}

Cancelamento de transações PayPal

O cancelamento ou estorno de transações PayPal estão disponíveis no e-SiTef através de duas interfaces:

  • WebService Cancel REST e;
  • Portal do Lojista.

Cancelamento via Portal do Lojista

Ao realizar um cancelamento de uma transação PayPal via Portal do Lojista a seguinte tela será exibida durante o processo:

Cancelamento via Portal

Abaixo estão as descrições dos campos do formulário:

Nome do parâmetroDescriçãoObrigatório
ValorValor a ser estornado na transação.SIM
Tipo de ReembolsoTipo de estorno que se deseja realizar sobre o pagamento.

Valores permitidos:
Total - É desejado o estorno completo do pagamento.
Parcial – É desejado o estorno parcial do pagamento.
SIM
Fonte do ReembolsoFonte de fundos do lojista que será utilizado para realizar o estorno.

Valores permitidos:
Qualquer disponível – O lojista não tem preferência. Será utilizado qualquer fonte de fundos disponível.
Padrão - Será utilizado a fonte de fundos configurada na conta do lojista.
Imediato - Será utilizado o balanço do vendedor como fonte de fundos.
eCheck - Será utilizado a opção eCheck como fonte de fundos. Se o balanço do lojista puder cobrir o estorno, será utilizado o balanço.
SIM
Tentar novamente atéformato AAAA-MM-DDTHH:MM:SS.

Data e hora limite até a qual será realizada a tentativa do estorno.
NÃO
Invoice IDCódigo de pedido do estorno próprio do lojista para futura consulta ou rastreamento.NÃO
Message IDEsse ID identificará de maneira única a mensagem e poderá ser utilizado para requisitar os últimos resultados de um requisição anterior sem a necessidade de criar uma nova requisição. Isso pode ser realizado, por exemplo, em chamadas que foram canceladas por timeout ou erros durante o processo.NÃO
Store IDUtilizado caso seja um Ponto de Venda.NÃO
Terminal IDUtilizado caso seja um Ponto de Venda.NÃO
Refund AdviceIndicador para cliente que já foi recebido algum estorno da determinada transação.

Valores permitidos:
Verdadeiro - caso o cliente já tenho realizado algum estorno na determinada transação.
Falso - caso o cliente não tenha feito nenhum estorno na determinada transação.
NÃO
AnotaçõesMensagem personalizada para lembretes sobre o estorno.NÃO
Detalhes da lojaInformações sobre o estabelecimento do lojista.NÃO

SafraPay

A loja tem a possibilidade de configurar o roteamento de transações feitas com cartão de crédito no e-SiTef por vários meios de pagamento, um desses meios é o SafraPay.

Nesta página será usada a nomenclatura "SafraPay" para referenciar o roteamento no e-SiTef.

Assim, a loja pode configurar o e-SiTef para que as transações feitas com cartões VISA, por exemplo, sejam roteadas pela SafraPay enquanto que as feitas com MASTERCARD sejam roteadas pela CIELO.

Interfaces e-SiTef suportadas para integração

É possível utilizar as seguintes interfaces para a integração com o roteamento SafraPay:

  • Pagamento REST
  • Pré-autorização REST
  • Pagamento HTML
  • Pré-autorização HTML
  • Cancelamento REST
  • Cancelamento via Portal

Autorizadoras permitidas

As seguintes autorizadoras são suportadas pelo roteamento SafraPay:

  • VISA
  • MASTERCARD
  • ELO
  • AMERICAN EXPRESS
  • HIPERCARD

Credenciais necessárias

A loja deve obter com a SafraPay as credenciais listadas abaixo, e repassá-las à Software Express ou fazer o cadastro como explicado mais a frente neste mesmo documento.

CampoDescriçãoFormato
merchantIDCódigo de EC cadastrado na SafraPay.< 15 AN
terminalIdIdentificação do Terminal.< 8 AN

Importante para Pagamento HTML: No caso de uma autorizadora da loja não ter cadastrado essas credenciais, essa autorizadora não será exibida na tela de seleção de cartão de crédito durante a operação de pagamento.

Cadastro das informações pelo Portal do Lojista e-SiTef

O próprio lojista pode cadastrar as informações obtidas com a SafraPay no Portal do Lojista do e-SiTef. Para essa finalidade, o lojista deve selecionar a autorizadora e entrar na tela de edição como no exemplo exibido abaixo:

Portal SafraPay

Saiba mais detalhes sobre o Portal do Lojista.

Fluxos

Nesta seção serão apresentadas as particularidades do fluxo transacional SafraPay.

Pagamento REST/HTML

Abaixo estão listados os campos que são diferenciados e são relevantes para o SafraPay:

REST Begin / HTML Init

Campos relevantes na chamada descrita no Serviço de criação de transação HTML e no Serviço de criação de transação REST:

ParâmetroDescriçãoFormatoObrigatório
soft_descriptorTexto adicional que será apresentado junto ao nome do estabelecimento na fatura do cartão de crédito do comprador. Saiba mais< 30 ANNÃO
additional_data Elemento para envio de dados adicionais.
postpone_confirmationCampo que permite que loja mantenha a transação como Pendente de Confirmação, e posteriormente, confirmá-la ou desfazê-la.< 5 ANÃO
transaction_initiated_byIndica se a transação foi iniciada pelo Lojista ou pelo Comprador. Relevante quando utilizado em conjunto com, por exemplo, transações recorrentes que são iniciadas pelo Lojista (merchant).

Valores permitidos:
customer – Transação iniciada pelo Comprador.
merchant – Transação iniciada pelo Lojista.
< 8 ANNÃO
total_order_amountMontante final da compra.< 8 ANNÃO
tax_amountMontante da taxa.< 8 ANNÃO
additional_data.payer Elemento para envio de dados referentes ao comprador.
idIdentificação do comprador.< 200 ANNÃO
nameNome do comprador.
Obs.: a concatenação de nome com o sobrenome não pode ultrapassar 255 caracteres.
< 200 ANNÃO
surnameSobrenome do comprador.
Obs.: a concatenação do nome com o sobrenome não pode ultrapassar 255 caracteres.
< 200 ANNÃO
identification_numberNúmero de identificação do comprador.< 200 ANNÃO
identification_typeTipo da identificação informada pelo comprador (RG, CPF, etc.).< 200 ANNÃO
emailE-mail do comprador.< 255 ANNÃO
additional_data.
payer.phones[]
Apenas 1 telefone será repassado para o Safrapay.
ddiDDI do telefone.< 255 ANNÃO
dddDDD do telefone.< 15 ANNÃO
numberNúmero do telefone.< 50 ANNÃO
additional_data.
shipment.receiver_address
Elemento para envio de dados referentes ao endereço de entrega.
street_nameEndereço de entrega.< 255 ANNÃO
street_numberNúmero do endereço de entrega.< 15 ANNÃO
complementComplemento do endereço de entrega.< 50 ANNÃO
countyBairro do endereço de entrega.< 150 ANNÃO
zip_codeCEP do endereço de entrega. Ex.: 21241-140.< 9 ANNÃO
cityCidade do endereço de entrega.< 50 ANNÃO
stateEstado do endereço de entrega.= 2 ANNÃO
countryPaís do endereço de entrega seguindo a AN 3166-1. Ex.: BRA= 3 ANNÃO
additional_data.
billing_data.address
Elemento para envio de dados referentes ao endereço de cobrança.
street_nameEndereço de cora.< 255 ANNÃO
street_numberNúmero do endereço de cora.< 15 ANNÃO
complementComplemento do endereço de cora.< 50 ANNÃO
countyBairro do endereço de cora.< 150 ANNÃO
zip_codeCEP do endereço de cora. Ex.: 21241-140.< 9 ANNÃO
cityCidade do endereço de cora.< 50 ANNÃO
stateEstado do endereço de cora.= 2 ANNÃO
countryPaís do endereço de cora seguindo a AN 3166-1. Ex.: BRA= 3 ANNÃO
additional_data.items[] Elemento para envio de dados referentes aos produtos do comprador.
titleNome do produto.< 255 ANNÃO
quantityQuantidade do produto a ser adquirido.< 15 NNÃO
idCódigo comerciante identificador do produto.< 255 ANNÃO
unit_pricePreço unitário do produto em centavos.< 15 NNÃO
discount_amountValor em centavos de desconto sobre o produto< 12 ANNÃO

Atualmente, o SafraPay não permite parcelamento com juros da administradora do cartão, ou seja, o campo installments_type não pode receber o valor 3 e o valor 6.

Efetivação de Pagamento

Campos relevantes na chamada descrita no Serviço de efetivação de pagamento:

ParâmetroDescriçãoFormatoObrigatório
external_authentication Este elemento recebe campos de autenticação MPI.
eciEletronic Commerce Indicator – indica o nível de segurança da transação com autenticação do dono do cartão< 3 NNÃO
xidIdentificador da transação de autenticação do dono do cartão, feita em serviço externo ao e-SiTef< 40 NNÃO
cavvCardholder Authentication Verification Value - Código que indica o resultado da autenticação do dono do cartão.< 40 NNÃO
cavv_key_indicatorIndicador de 2 digitos utilizado pela bandeira ELO.< 2 NNÃO
unpredictable_numberIndicador numérico utilizado pela bandeira ELO.-NÃO
auth_tracking_numberIndicador numérico utilizado pela bandeira ELO.-NÃO

Entre os campos de resposta do Serviço de efetivação de pagamento, o campo issuer será preenchido com o código de bandeira do cartão que foi reconhecido no pagamento. Abaixo está a lista de códigos e bandeira:

CódigoBandeira
1VISA (crédito)
20002VISA (débito)
2MASTERCARD
20001MASTERCARD (débito)
4AMEX
12HIPERCARD (crédito)
20037HIPERCARD (débito)
31ELO (crédito)
20032ELO (débito)

Confirmação de Pagamento

É possível confirmar um valor inferior ao valor das autorizações criadas via HTML e via via REST utilizando o campo additional_data.postpone_confirmation igual a true.

Para isso, envie na chamada de confirmação REST o valor de amount desejado:

ParâmetroDescriçãoFormatoObrigatório
confirmEste campo deve ser enviado com o valor true caso se deseje confirmar a transação, ou false, caso queira desfazer o pagamento.< 5 T/FSIM
amountValor em centavos do valor que será confirmado. Caso não seja enviado, o valor completo da transação será confirmado.< 12 NNÃO

Recorrência

O SafraPay aceita o parâmetros de sinalização de recorrência de transações. Para isso, envie na chamada de efetivação de pagamento REST o campo acquirer.recurrency com o valor true.

Para mais informações consulte a página sobre o Serviço de Efetivação de Pagamento REST.

Pré-Autorização

Normalmente, o parcelamento de uma pré-autorização é processado no Serviço de Captura de Pré-Autorização, mas o SafraPay é uma das exceções. O preenchimento dos campos installments e installment_type será processado na efetuação da pré-autorização ou na inicialização de uma transação de pré-autorização. Para maiores detalhes do preenchimento deste campo, veja:

  • Criar uma Pré-autorização REST.
  • Efetuar uma Pré-Autorização REST
  • Criar uma Pré-autorização HTML

Atualmente, o SafraPay não permite parcelamento com juros da administradora do cartão, ou seja, o campo installments_type não pode utilizar o valor 3 e o valor 6 (IATA).

Cancelamento

O Cancelamento de uma transação pode ser feito no Portal do Lojista ou via Web Service REST. Poderão ser canceladas as transações efetuadas no dia corrente do cancelamento (D+0) ou em outros dias (D+N). O lojista pode cancelar transações de pagamento que foram confirmadas como também as que ainda não foram.

É possível também cancelar valores inferiores aos do pagamento original, tanto nas transações confirmadas e não confirmadas. No caso de transações não confirmadas é possível realizar apenas um cancelamento parcial.

O processamento de transações de cancelamento do SafraPay ocorre na janela entre 0 hora até às 6 horas da manhã. Aconselhamos que os cancelamentos não sejam efetuados nesse período.

IATA

O roteamento SafraPay suporta pagamentos com IATA (International Air Transport Association). Portanto, os campos departure_tax e first_installment serão processados no serviço de criação de transação do pagamento REST.

Stone WS

A loja tem a possibilidade de configurar o roteamento de transações feitas no e-SiTef por vários meios de pagamento, um desses meios é o e-commerce Stone, daqui em diante citado como StoneWS.

Nesta página será usada a nomenclatura "StoneWS" para referenciar o roteamento no e-SiTef.

Interfaces e-SiTef suportadas para integração

É possível utilizar as seguintes interfaces para a integração com o roteamento StoneWS:

  • Pagamento REST
  • Pré-Autorização REST
  • Cancelamento REST
  • Pagamento HTML
  • Pré-Autorização HTML

Autorizadoras permitidas

Para maiores informações sobre quais autorizadoras são permitidas pela StoneWS, por favor, entrar em contato com a mesma.

Credenciais necessárias

Para começar a transacionar com a StoneWS, a loja deve obter o SAK(Sale Affliation Key), chave para integração no ambiente da Stone. Para isso, a loja deve solicitar sua credencial de acesso através do e-mail integracoes@stone.com.br, com as seguintes informações:

  • O nome da empresa parceira que realizará transações na Stone
  • O CNPJ da empresa
  • Uma descrição sucinta do negócio parceiro (em uma frase)
  • E-mail para onde a credencial deve ser enviada

Após recebimento, o lojista deve encaminhar o SAK(Sale Affliation Key) para a equipe produção da Software Express. Esses dados podem ser cadastrados também no Portal do Lojista do e-SiTef no item de menu Configurar Autorizadoras.

CampoDescriçãoTipo
salesAffiliationKeyIdentificação do estabelecimento Comercial na adquirente Stone.AN

Cancelamento

O cancelamento pode ser feito do valor parcial ou total das seguintes formas:

  • Através do Cancelamento REST
  • Através do Portal do Lojista

Subadquirência

A subadquirência é um recurso opcional e sua habilitação é feita inicialmente no cadastro da loja na StoneWS, e em paralelo, no sistema administrativo do e-SiTef.

O lojista deve solicitar à equipe de atendimento a habilitação da subadquirência StoneWS no sistema administrativo do e-SiTef.

Dados cadastrais necessários para subadquirência

Uma vez que a loja tenha a subadquirência habilitada, as seguintes informações sobre a loja devem ser cadastradas no sistema administrativo do e-SiTef:

CampoDescriçãoFormato
PaísCódigo de país da Loja= 3 A
EstadoEstado da Loja= 2 A
CidadeCidade da Loja< 25 A
CEPCEP da Loja< 9 N
SoftDescriptorDescrição resumida que será apresentada na fatura do portador do cartão (mais detalhes no item SoftDescriptor).< 30 AN

Todos os dados descritos serão enviados à StoneWS em todas as transações, assim que a subadquirência seja habilitada.

MCC dinâmico

Adicionalmente, o lojista pode alterar o MCC (Merchant Category Code) dinamicamente em transações que envolvam subadquirência. Caso o MCC não seja enviada nas transações, será considerado o MCC padrão definido no cadastro da loja na StoneWS. O MCC dinâmico pode ser enviado conforme os itens a seguir.

CampoDescriçãoFormato
MCCMerchant Category Code - código que indica a categoria do merchant= 4 N

Os valores possíveis de MCC podem ser consultados em uma página descritiva da Stone http://credenciamento.stone.com.br/docs/mcc (link ativo em 2017/09/15) ou pela ISO - 18245.

O campo mcc está descrito em: Serviço de efetivação de pagamento

Auxílio Emergencial

O e-SiTef permite a utilização do Auxílio Emergencial.

Para isso, as condições abaixo devem ser obedecidas.

Interfaces e-SiTef suportadas para integração

É possível utilizar as seguintes interfaces para a utilização do Auxílio Emergencial:

  • Pagamento REST
  • Pagamento HTML (incluindo Link de Pagamento)

Autorizadoras permitidas

As seguintes autorizadoras/bandeiras suportam a utilização do Auxílio Emergencial:

  • ELO DÉBITO
  • VISA ELECTRON

Roteamentos permitidos

O seguinte roteamento/adquirente suporta a utilização do Auxílio Emergencial:

  • Cielo e-Commerce
  • eRede REST
  • SafraPay
  • Getnet WS

Análise Antifraude

As seguinte entidades de análise antifraude suportam o Auxílio Emergencial:

  • Cybersource

Atenção:

É possível enviar uma análise para a entidade de análise antifraude Konduto, porém a modalidade débito não é suportada e a chamada é apenas registrada sem que uma análise seja realizada.

Detalhes para a Análise Antifraude

As observações abaixo são válidas para a interface de Pagamento HTML.

Para utilizar a antifraude com o Auxílio Emergencial, o seguinte parâmetro deve ter obrigatóriamente o seguinte valor:

CampoValor Obrigatório
additional_data.anti_fraudenabled_before_auth

Os valores dos campos abaixos serão ignorados:

Campo
authorizer_authentication
additional_data.postpone_confirmation

Carteiras Digitais

Uma Carteira Digital é uma aplicação que realiza o armazenamento de cartões de crédito/débito/auxílio de forma segura com o objetivo de facilitar o comprador na hora de realizar um pagamento.

Sozinha a Carteira Digital fornece apenas informações de cartão do pagador, sendo necessário um meio de pagamento para que se utilize desses dados para que de fato o pagamento seja efetuado.

É com o papel de ser o Gateway de Pagamento que o e-SiTef se encaixa nesse fluxo.

Está página tem como objetivo esclarecer, de um modo geral, como uma Carteira Digital se integra com os serviços do e-Sitef.

Carteiras Digitais integradas

O e-SiTef está integrado com as seguintes Carteiras Digitais:

  • Google Pay
  • Masterpass
  • Samsung Pay
  • Visa Chechout

Roteamento/Adquirentes com suporte a autenticação 3DS

Ao adicionar um cartão dentro de uma Carteira Digital é possivel (quando suportado) realizar a autenticação (3DS) durante o processo de cadastro. Quando um cartão é registrado dessa forma, Carteira Digital irá repassar estes dados de autenticação para o e-SiTef que por sua vez irá repassar estes dados para as adquirentes.

Os roteamentos/adquirentes que suportam dados de autenticação 3DS são:

  • SiTef [*]
  • Cielo e-Commerce
  • e.Rede REST
  • Getnet WS
  • GlobalPayments WS
  • SafraPay

[*] Consulte nossa equipe de suporte e-SiTef para mais informações sobre suporte a autenticação 3DS no SiTef.

Fluxo de integração via Pagamento REST

Para mais informações sobre o Pagamento REST, acesse a página Pagamento REST - Visão Geral.

Abaixo está apresendo o fluxo geral de integração de Carteiras Digitais com o e-SiTef pela interface de Pagamento REST.

Neste cenário, a integração com a Carteira Digital é dividida entre a Loja Virtual e o e-SiTef:

Wallet REST

  1. O Comprador fecha o carrinho de compras dentro da loja virtual e escolhe como meio de pagmento uma Carteira Digital.
  2. A Loja Virtual, que fez a integração com a primeira etapa da integração da Carteira Digital (abertura da carteira) irá exibir para o Comprador a interface da Carteira Digital.
  3. O Comprador irá escolher, dentro da Carteira Digital, o cartão que deseja utilizar para efetuar o pagamento da compra.
  4. Após o Comprador escolher o cartão, a Carteira Digital irá devolver os dados de cartão e compra criptografados para a aplicação da Loja Virtual.
  5. Com os dados criptografados em mãos, a Loja Virtual irá repassá-los para o nossa interface de Pagamento REST através do campo card.wallet_transaction_id.
  6. O e-SiTef irá receber os dados criptografados e irá descriptografá-los, ou seja, terá acesso aos dados de cartão para enviá-los às adquirentes para efetivamente executar o pagamento.
  7. O e-SiTef retorna para a Loja Virtual o resultado da transação.
  8. A Loja Virtual por sua vez repassa a resposta do e-SiTef para o Comprador.

Fluxo de integração via Pagamento HTML

Para mais informações sobre o Pagamento HTML, acesse a página Pagamento HTML - Visão Geral.

Abaixo está apresendo o fluxo geral de integração de Carteiras Digitais com o e-SiTef pela interface de Pagamento HTML.

Neste cenário, a integração com a Carteira Digital é realizada integralmente pelo e-SiTef:

Wallet HTML

  1. O Comprador fecha o carrinho de compras dentro da loja virtual.
  2. A Loja Virtual inicializa uma transação e redireciona o Comprador para a página de checkout e-SiTef.
  3. O Comprador, já redirecionado para a página de checkout e-SiTef, verifica as possibilidades de pagamento.
  4. O Comprador escolhe como meio de pagamento uma Carteira Digital.
  5. A interface da Carteira Digital será exibida para o Comprador que então escolher o cartão.
  6. A Carteira Digital irá devolver os dados de cartão e compra criptografados para o e-SiTef.
  7. O e-SiTef irá receber os dados criptografados de cartão/compra e irá descriptografá-los, ou seja, terá acesso aos dados de cartão para enviá-los às adquirentes para efetivamente executar o pagamento.
  8. O e-SiTef retorna para o Comprador o resultado da transação.

Conteúdo do campo card.wallet_transaction_id

O conteúdo a ser enviado no campo card.wallet_transaction_id pela interface Pagamento REST varia de acordo com a Carteira Digital a ser integrada. Consulte a documentação específica para mais detalhes.

Carteira Digital VEE via CardSE

Esta documentação descreve a integração com a carteira digital VEE através do e-SiTef, utilizando o roteamento CardSE via SiTef.

Fluxo

  1. O lojista efetua o pagamento junto ao e-SiTef, informando o token referente à transação, gerado no aplicativo VEE pelo comprador. Este token é informado no campo card.wallet_transaction_id. Saiba mais sobre os parâmetros de requisição no Pagamento REST..
  2. O e-SiTef inicia o pagamento com a autorizadora VEE, repassando o token da transação.
  3. A VEE abre a carteira digital no aplicativo do comprador.
  4. O comprador escolhe a forma de pagamento em sua carteira digital e confirma a compra pelo aplicativo da VEE.
  5. A autorizadora responde ao e-SiTef, aprovando ou negando a transação.
  6. O e-SiTef repassa a resposta da autorizadora para o lojista.

Fluxo sem demora na resposta do comprador

Atenção:

Caso o comprador demore para escolher o meio de pagamento, a resposta da transação devolverá o status pendente (PEN) e o e-SiTef iniciará ciclos de consultas (ou sonda) a cada 30 segundos aproximadamente até que o status da transação seja resolvido.

Durante estes ciclos, o lojista deve consultar o status da transação no e-SiTef por meio da consulta de transações.

Se o status da transação permanecer pendente (PEN) após aproximadamente 3 (três) minutos, o e-SiTef irá desfazer a transação junto a autorizadora VEE.

Fluxo com demora na resposta do comprador e status resolvido antes do limite de tempo

Fluxo com demora na resposta do comprador e limite de tempo atingido

Pix via CardSE

Esta documentação descreve a integração com PIX através do e-SiTef, utilizando o roteamento CardSE via SiTef.

Informações cadastrais

Além das informações usuais para cadastro no e-SiTef, para integração com Pix será necessário mais um dado:

CampoDescriçãoFormatoObrigatório
pspPrestador de serviços de pagamento. Se não for enviado, será utilizado o valor cadastrado no SiTef.< 8 NNÃO

Pagamento REST

Fluxo

  1. O lojista cria a transação no e-SiTef passando algumas informações adicionais do Pix e recebe o NIT como resposta.
  2. A loja chama o serviço de efetivação de pagamento e recebe um QR code e a transação com status PEN (pendente).
  3. A loja virtual exibe o QR code para o comprador.
  4. O comprador escaneia o QR code com o aplicativo Pix e passa pelo procedimento de confirmação do pagamento solicitado pelo autorizador.
  5. Enquanto o comprador finaliza o pagamento, o e-SiTef sondará a situação da compra no autorizador até que a transação se encerre.
  6. A loja, por sua vez, deve consultar o status da transação do e-SiTef até que ela saia do status PEN.

Atenção:

Se o status da transação permanecer pendente (PEN) após aproximadamente 3 (três) minutos, o e-SiTef irá desfazer a transação junto ao Pix.

Informações adicionais na criação da transação

Para transações com Pix, deve ser utilizado authorizer_id = 440.

Abaixo estão parâmetros adicionais que podem ser enviados em transações Pix:

ParâmetroDescriçãoFormatoObrigatório
additional_data
pix_pspPrestador de serviços de pagamento. Se não for enviado, será utilizado o valor cadastrado no e-SiTef.< 8 ANNÃO
pix_questionPergunta do lojista para o comprador (será exibida no aplicativo).< 140 ANNÃO
additional_data.pix_data[] Lista de conteúdo livre. Permite enviar dados ao aplicativo do cliente como lista de serviços adquiridos, informações promocionais ou outros dados desejados.
keyIdentificação do campo.< 50 ANNÃO
valueValor do campo.< 200 ANNÃO
additional_data.items[]
eanCódigo EAN do produto.

Atenção: caso o EAN e o SKU sejam enviados simultaneamente, apenas o EAN será considerado.
< 255 ANNÃO
skuCódigo SKU do produto.

Atenção: caso o EAN e o SKU sejam enviados simultaneamente, apenas o EAN será considerado.
< 255 ANNÃO
descriptionDescrição do produto.< 255 ANNÃO
quantityQuantidade do produto a ser adquirido.< 15 NNÃO
quantity_typeTipo da quantidade:
  • u - Unidades
  • g - Gramas
  • ml - Mililitros
< 2 ANNÃO
unit_pricePreço unitário do produto em centavos.< 12 NNÃO

Exemplo:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "merchant_usn":"12042142155",
   "order_id":"12042142155",
   "installments":"1",
   "installment_type":"4",
   "authorizer_id":"440",
   "amount":"1000",
   "additional_data":{
      "pix_psp":"12345678",
      "pix_question":"Deseja receber 10% de desconto para sua proxima compra?",
      "pix_data":[
         {
            "key":"Pontos Ganhos",
            "value":"23"
         },
         {
            "key":"NumPromo",
            "value":"234523452345"
         }
      ],
      "items":[
         {
            "description":"ItemTeste",
            "quantity":"1",
            "sku":"1487337308522",
            "unit_price":"1000",
            "quantity_type":"u"
         },
         {
            "description":"ItemTeste2",
            "quantity":"3",
            "ean":"9283746529384675",
            "unit_price":"2500",
            "quantity_type":"g"
         }
      ]
   }
}
--verbose

Requisição da efetivação do pagamento

Na integração com Pix, não será necessário o envio de nenhum dado do cartão.

Exemplo:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{}
--verbose

Retornos na efetivação do pagamento com tamanho diferente do padrão

ParâmetroDescriçãoFormato
authorization_numberNúmero de autorização.< 100 AN

Retornos adicionais na efetivação do pagamento

ParâmetroDescriçãoFormato
payment
pix_pspPrestador de serviços de pagamento.< 8 AN
pix_answerResposta ao pix_question.< 140 AN
qr_codeQR code a ser exibido ao comprador.< 9999 AN

Atenção:

Em caso de erro de comunicação nesta operação, será necessário criar outra transação.

Exemplo:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "payment":{
      "authorizer_code":"000",
      "authorizer_message":"Transacao OK",
      "status":"PEN",
      "nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
      "order_id":"13034649671",
      "authorizer_id":"2",
      "acquirer_id":"1271",
      "acquirer_name":"CardSE",
      "authorizer_date":"13/07/2017T15:52",
      "authorization_number":"132030",
      "merchant_usn":"13034649671",
      "esitef_usn":"170713097340300",
      "sitef_usn":"132030",
      "host_usn":"000000000",
      "payment_date":"13/07/2017T15:52",
      "amount":"1000",
      "authorizer_merchant_id":"000000000000005",
      "pix_psp":"12345678",
      "pix_answer":"No",
      "qr_code":"The quick brown fox jumps over the lazy dog"
   }
}

Pagamento HTML

Não há diferenças no fluxo para a loja.

Assim como no Pagamento REST, podem ser enviados parâmetros adicionais na criação da transação, usando o mesmo formato.

Cancelamento REST

Requisição da efetivação do cancelamento

Na integração com Pix, não será necessário o envio de nenhum dado do cartão.

Exemplo:

curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/cancellations/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "amount":"1000"
}
--verbose

Retornos adicionais na efetivação do cancelamento

ParâmetroDescriçãoFormato
cancellation
pix_pspPrestador de serviços de pagamento.< 8 AN

Exemplo:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "cancellation":{
      "authorizer_code":"000",
      "authorizer_message":"Transacao OK",
      "status":"CON",
      "nit":" 1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
      "order_id":"09062259711",
      "customer_receipt":"=== COMPROVANTE ===",
      "merchant_receipt":"=== COMPROVANTE ===",
      "authorizer_id":"2",
      "acquirer_id":"1271",
      "acquirer_name":"CardSE",
      "authorizer_date":"09/11/2017T18:23",
      "authorization_number":"092423",
      "merchant_usn":"9062259711",
      "esitef_usn":"171109108051261",
      "sitef_usn":"092424",
      "host_usn":"999092424   ",
      "amount":"1000",
      "payment_type":"O",
      "authorizer_merchant_id":"000000000000000",
      "esitef_date":"09/11/2017T18:23",
      "pix_psp":"12345678"
   }
}

Geração de link de pagamento no Portal do Lojista

Também é possível fazer pagamentos com Pix através de funcionalidade de link de pagamento do Portal Lojista. No entanto, ainda não está disponível a possibilidade do envio das informações adicionais do Pix.

Cadastro de chaves Pix no Portal do Lojista

Ao acessar a configuração de uma autorizadora Pix, será exibido um botão para cadastrar suas chaves Pix:

Ao clicar no botão "Cadastrar Chaves", será exigido o código de autenticação em duas etapas para prosseguir com a operação. Caso esse método de autenticação não esteja habilitado, será exibida na tela instruções sobre qual procedimento deve ser tomado para continuar.

Para mais informações sobre a autenticação em duas etapas e como habilitá-la para realizar cadastro de chaves PIX, clique aqui.

Concluída a autenticação anterior, o usuário será redirecionado para uma tela contendo informações da loja e uma listagem de PSPs:

Selecione o PSP (prestador de serviços de pagamento) que deseja utilizar e clique em "Adicionar":

Preencha a sua chave Pix e suas informações de credencial e clique em "Salvar". Após submeter os seus dados, caso deseje alterar suas informações, clique em "Editar". Se quiser apagá-las, clique em "Remover":

Após realizar todas as alterações desejadas, clique em "Salvar".

Google Pay™

Google Pay permite que os seus clientes armazenem formas de pagamento na própria conta Google para fazer compras mais rápidas e com segurança.

Como Funciona

Quando o comprador clica no botão de pagamento do Google Pay, são exibidas as formas de pagamentos salvas na conta do Google dele. O comprador pode selecionar rapidamente a forma de pagamento desejada e opcionalmente preencher informações adicionais da compra. Após esta interação com a Google Pay, estes mesmos dados serão enviados/processados pelo e-SiTef para efetuar o fluxo de pagamento.

O Google Pay é suportado pelo e-SiTef, no entanto, não é suportado por todos os adquirentes e não está ativado por padrão na sua conta. Entre em contato com um membro de nossa equipe de suporte para obter mais informações.

Atenção: Ao utilizar o Google Pay pelo e-SiTef, o lojista deve estar ciente e aderente à Política de Utilização Aceitável e o mesmo aceita os Termos de Serviço da API Google Pay.


Pagamento REST

Integre-se ao Google Pay

Para começar a processar pagamentos com o Google Pay, você precisa se integrar ao Google via Web ou Android. Durante a integração, você verá que alguns parâmetros são necessários para processar o Google Pay através do e-SiTef:

  • O parâmetro gatewayMerchantId deve ser preenchido com o merchant_id da loja no e-SiTef;
  • O parâmetro gateway deve ser preenchido com softwareexpress;

Este é um exemplo da integração via web, em que é necessário configurar com os dados do e-SiTef:

const tokenizationSpecification = {
  type: 'PAYMENT_GATEWAY',
  parameters: {
    'gateway': 'softwareexpress',
    'gatewayMerchantId': '<ESITEF_MERCHANT_ID>'
  }
};

Este é um trecho de exemplo da integração via Android, em que é necessário configurar com os dados do e-SiTef:

.setPaymentMethodTokenizationType(WalletConstants.PAYMENT_METHOD_TOKENIZATION_TYPE_PAYMENT_GATEWAY)
.addParameter("gateway", "softwareexpress")
.addParameter("gatewayMerchantId", "<ESITEF_MERCHANT_ID>")

Além disso, a loja precisa seguir as diretrizes de layout do Google Pay. Consulte a documentação do Google Pay para as diretrizes da marca.

As seguintes redes de cartões disponíveis no Google Pay são suportadas pelo e-SiTef: VISA, ELECTRON, MASTERCARD, MAESTRO, ELO, ELO_DEBIT, AMEX, DISCOVER e JCB. Os seguintes meios de autorização disponíveis no Google Pay são suportados pelo e-SiTef: PAN_ONLY e 3DS_CRYPTOGRAM. Entre em contato com nossa equipe de suporte para ativar as configurações adequadas para a sua loja.

As telas abaixo demonstram um fluxo de compra na Web recomendado pela Google Pay.

As telas abaixo demonstram um fluxo de compra no Android recomendado pela Google Pay.

Envie os dados para o e-SiTef

Ao concluir a integração com o Google, você terá todas as informações necessárias para realizar um pagamento com o e-SiTef.

O Google responderá com a resposta PaymentData, que inclui a carga criptografada (token). Da resposta do Google contendo as informações do cliente, extraia o token do Google Pay, seguindo as referências da API. Atualmente o token pode ser extraido de paymentData.paymentMethodData.tokenizationData.token. Utilize este token na requisição de efetivação de pagamento no campo card.wallet_transaction_id. Adicionalmente será necessário repassar o campo paymentData.paymentMethodData.info.cardNetwork para o campo wallet_returned_card_brand. Abaixo segue um exemplo desta requisição:

O conteúdo do paymentData.paymentMethodData.tokenizationData.token equivale a uma JSON, mas não há necessidade de tratar este conteúdo. Repasse o valor obtido sem realizar qualquer tratamento para o campo card.wallet_transaction_id.


curl -X POST \
  https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/<NIT> \
  --header "Content-Type: application/json" \
  --header "merchant_id: <MERCHANT_ID>" \
  --header "merchant_key: <MERCHANT_KEY>" \
  --data-binary '{
    "authorizer_id": "405",
    "card": {
        "wallet_transaction_id": "{\"signatures\":\"MEUCIH1PBdMmbWMvaR/ArH08R/OT41Or2yfLqbzj2JG9VGfJAiEA+6NPKT6sAKZeaLacm29wIS8v2tUwPE281JuRBf81imo\\u003d\",\"intermediateSigningKey\":{\"signedKey\":\"{\\\"keyValue\\\":\\\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEm1j1auejJXFzexs/H3TasImWFERsifrx93W7wxZb0dpLxk/FaK8hQN6Ypwep8DaYrEKSp6zvxeE4ezDrssf/Bg\\\\u003d\\\\u003d\\\",\\\"keyExpiration\\\":\\\"1576347458323\\\"}\",\"signatures\":[\"MEYCIQCbAolg3/K2yD0/p3K7gRFhXva79STrj+rZcYp/3vi6ogIhANGT/9GkO9S1lJtnu3C6QQ/kFSR2wxtPJRGfuqSKs9FE\"]},\"protocolVersion\":\"ECv2\",\"signedMessage\":\"{\\\"encryptedMessage\\\":\\\"Dcm8wxtB6Bp7CyHV1OBqTskStqX3K5x7I0fV/2V0KsMLkZHP5nn+IXC+HBLkZtPF0Ov6uBD1eLbOB2KQd1cVmBPm7f4xSsB4DaYTktfk2AaLpR0BZlb9errv4jl4QAxSLdxw8Hk3EKicSmvsUNE2SzFBOONPrvv1qe03ZnzB3Q0ID1ocsBJ09PQ/2jft0WY/Py6iAA4sccZKmxLdo83NJJc1VrfcGLcqwy5InUV4nSxmXrnr/eNQDIx9p4Yf3RSVlS6/t+bEpUjpUSwSNoHwzhlWOve3/Gm+yt+OKheXOWSsXiHJL1rV1ENgDroR2uMUb85OZCF1ulStb6U8xocRVKSKkhAxFVUehz568huQdlEjns+5MMWdZkNgH3cXMgTQxZ6DiUYxMthUhdT8HINXCUYxaT/od/Njh2JZHJb2R4u4HsfViUoIVRHojSaepXP3KI2z4G9hPwKX/MWeEMyiZRUiCHHe0VJoU/8xxg\\\\u003d\\\\u003d\\\",\\\"ephemeralPublicKey\\\":\\\"BG0eCJ8xbPN55ht7b3oDZgFgwG4rZxkRWrOFnmW9wwxUrZS0A6oeMAySLKThMydaGuoTbbiAwK38zx8pnNKgirA\\\\u003d\\\",\\\"tag\\\":\\\"uPvitOn+aGk48RlrwzYSKgDicO5oYtmMEWXzj5rUewo\\\\u003d\\\"}\"}",
      "wallet_returned_card_brand" : "MASTER"
    },
}' 

No exemplo acima, foi definido no campo authorizer_id com o valor 405, que corresponde selecionar a Google Pay como forma de pagamento; e foi definido no campo wallet_transaction_id com o valor do token da Google Pay . Uma execução bem-sucedida do comando acima retornará um JSON semelhante à abaixo.

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "payment":{
      "authorizer_code":"000",
      "authorizer_message":"Transacao OK",
      "status":"CON",
      "nit":"<NIT>",
      "order_id":"13034649671",
      "customer_receipt":"====CUPOM COMPRADOR====",
      "merchant_receipt":"====CUPOM ESTABELECIMENTO====",
      "authorizer_id":"405",
      "acquirer_id":"1005",
      "acquirer_name":"Redecard",
      "authorizer_date":"28/02/2020T08:57",
      "authorization_number":"132030",
      "merchant_usn":"13034649671",
      "esitef_usn":"170713097340300",
      "sitef_usn":"132030",
      "host_usn":"999132030",
      "payment_date":"13/07/2017T15:52",
      "amount":"1000",
      "payment_type":"C",
      "issuer":"2",
      "authorizer_merchant_id":"<MERCHANT_ID>"
   }
}

Para maiores detalhes, veja a documentação do fluxo de pagamento do e-SiTef.


Armazenamento REST

É possível realizar o armazenamento de cartão, sendo que existem algumas exceções de casos, dependendo de como o token da Google Pay foi gerada. Entre em contato com a nossa equipe de suporte para realizar as configurações necessárias para possibilitar este armazenamento.

O armazenamento de cartão REST funciona como se fosse armazenar um cartão qualquer, porém com os seguintes cuidados:

  • Ao invés de enviar os número do cartão, envie o campo wallet_transaction_id.
  • O envio do campo authorizer_id deve ser '405' (Google Pay).

Para maiores detalhes, veja aqui.

Pagamento HTML

Para utilizar o Google Pay com o pagamento HTML, entre em contato com um membro de nossa equipe de suporte para realizar a configuração necessária. É possível determinar quais bandeiras serão aceitas no Google Pay na integração HTML.

Visa Checkout

O e-SiTef possui a carteira digital Visa Checkout como funcionalidade para integração da aplicação da loja.

Esta permite ao lojista não ter contato direto com a coleta de dados de cartão e dados pessoais do usuário, utilizando a interface e estrutura de comunicação desenvolvida pela VISA para pagamentos utilizando essa tecnologia.

Roteamentos suportados

Atualmente, a integração Visa Checkout via Web Services é suportado para pagamentos roteados via SiTef, Cielo e-Commerce e Stone WS.

Interfaces e-SiTef suportadas

As interfaces suportadas no e-SiTef para o uso do Visa Checkout são:

  • Pagamento REST
  • Cancelamento REST
  • Pré-Autorização REST

Configurações necessárias no e-SiTef

Para que uma loja utilize a carteira digital Visa Checkout no e-SiTef, basta solicitar à equipe de suporte / atendimento do e-SiTef para que esta configuração seja feita.

Requisito para integração REST

A aplicação da loja precisa cumprir com o requisito de estar integrado com o Visa Checkout em sua interface gráfica e na comunicação JavaScript dos call-backs, a fim de obter o parâmetro callid. Este é necessário para a integração com a interface de pagamento REST do e-SiTef. Para mais detalhes sobre esta integração, o lojista deve solicitar à VISA o guia de integração e desenvolver a integração com o Visa Checkout Button e o LightBox.

Fluxo de pagamento REST

O fluxo de pagamento para utilizar o e-SiTef com Visa Checkout via Web Services pressupõe que a aplicação da loja já esteja cumprindo os requisitos apresentados no item anterior, isto é, que a aplicação já seja capaz de utilizar as Web Services do e-SiTef com o callid em mãos.

A figura seguinte apresenta o diagrama de fluxos para a integração com o e-SiTef com Visa Checkout via Web Services (REST):

Para pagar transações Visa Checkout via WS, a aplicação do lojista deve enviar o wallet_transaction_id ao invés do número do cartão (number) no objeto card. Opcionalmente, também pode-se enviar o initial_wallet_transaction_id, que informa se é a primeira vez que este wallet_transaction_id está sendo utilizado. Caso não seja definido, considera-se que o valor de initial_wallet_transaction_id é true. Abaixo segue um exemplo com a aplicação curl onde a adquirente solicita o envio do código de segurança para o pagamento:

curl 
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/xxxxxxxxxxxx...xxxxxxxxxxxxx"
--header "Content-Type: application/json"
--header "merchant_id:wwwwwww"
--header "merchant_key:yyyyyyyyyyyyyyyyyyyyyy"
--data-binary
{
   "card":{
      "wallet_transaction_id":"callid_de_teste",
      "initial_wallet_transaction_id":"false",
      "security_code":"123"
   }
}
--verbose

Saiba mais.

Fluxo de Pré Autorização REST

Assim como no pagamento REST, a interface de pré-autorização também pode receber os campos wallet_transaction_id e initial_wallet_transaction_id.

Em caso de pagamentos com valores promocionais pelo uso do Visa Checkout, a VISA sugere que os campos subtotal, discount e promo_code sejam enviados adicionalmente tanto no serviço de efetivição de pré-autorização, quanto no serviço de captura de pré-autorização. Saiba mais.

O envio destes campos não é obrigatório, porém é fortemente recomendado pela VISA para enriquecimento de dados estatísticos de uso do Visa Checkout e melhoria dos serviços relacionados. Estes campos são enviados aos sistemas do Visa Checkout juntamente com informações sobre valor total, moeda e código de pedido (orderId). Para tornar mais claro o uso desses campos, segue um exemplo: supondo uma transação de um produto cujo valor seja R$ 80,00, com um desconto de 10% (R$ 8,00) e resultando num valor líquido de R$ 72,00, os campos devem ser preenchidos conforme a fórmula:

amount: R$ 72,00
subtotal: R$ 80,00
discount: R$ 8,00
amount = subtotal - discount = R$ 80,00 - R$ 8,00 = R$ 72,00

Fluxo de Cancelamento / Estorno REST

Para cancelar ou estornar transações Visa Checkout via WS, a aplicação do lojista deve enviar o wallet_transaction_id ao invés do número do cartão (number) no objeto card. Abaixo segue um exemplo com a aplicação curl onde a adquirente solicita o envio do código de segurança para o estorno:

curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/cancellations/xxxxxxxxxxxx...xxxxxxxxxxxxx"
--header "Content-Type:application/json"
--header "merchant_id:wwwwwww"
--header "merchant_key:yyyyyyyyyyyyyyyyyyyyyy"
--data-binary
{
   "card":{
      "security_code":"zzz",
      "wallet_transaction_id":"callid_de_teste",
   },
   "amount":"1000"
}
--verbose

Saiba mais.

Masterpass

O e-SiTef permite a integração do e-commerce do lojista com pagamentos que fazem autenticação através da carteira digital Masterpass. O comprador faz seu pagamento online sem inserir dados de seu cartão, utilizando apenas dados de usuário (e-mail ou celular) e senha. Para isso, o comprador precisa apenas abrir antes uma conta com a Masterpass e cadastrar suas informações de cartões de crédito e/ou débito.

É importante lembrar que o Masterpass não é um meio de pagamento, ou seja, não processa as transações. Trata-se de uma carteira digital que efetua a autenticação do comprador e fornece os dados para realização do pagamento para o comércio ou para os parceiros de processamento como o e-SiTef.

Interfaces e-SiTef suportadas para integração

As seguintes interfaces do e-SiTef podem ser utilizadas para a integração com Masterpass:

  • Interface de Pagamento HTML 2.0 Saiba mais
  • Interface Web Service de Cancelamento Saiba mais
  • Cancelamentos via Portal do Lojista Saiba mais

Código de Autorizadora no e-SiTef para Masterpass

A cateira digital Masterpass é identificada pelo código (id) de autorizadora abaixo:

"authorizer_id": "407"

Configurações necessárias

Antes de efetuar transações Masterpass com o e-SiTef, devem ser seguidos os passos de configuração apresentados a seguir.

Criação do cadastro da loja no Portal Masterpass

A loja deve entrar em contato com a Software Express e solicitar o seu cadastro na Masterpass para a equipe de Suporte e-SiTef ou equipe Produção e-SiTef que efetuarão este serviço.

Configurações necessárias no e-SiTef

Com a conta criada na Masterpass, os seguintes parâmetros de autorizadora devem ser cadastrados no e-SiTef:

Nome do campo no e-SiTefDescrição do campoObrigatório
merchantCheckoutIdIdentificador único de checkout obtido durante o processo de cadastro da loja na Masterpass.SIM
bandeirasPermitidasIndica quais bandeiras serão apresentadas na carteira (wallet) do cliente no ambiente da Masterpass. Valores permitidos:
- amex (American Express)
- diners
- discover
- maestro
- master (mastercard)
- visa

Os valores devem ser escritos como nos exemplos separados por vírgula (,).

Exemplo permitindo master e visa: visa,master

Exemplo permitindo visa, diner e discover: visa,diners,discover
SIM

Estes parâmetros devem ser informados à equipe de cadastro do e-SiTef.

Bandeiras permitidas

De acordo com a documentação (versão 1 – com última atualização no dia: 01 de fevereiro de 2017), as bandeiras permitidas atualmente pela Masterpass são:

  • Mastercard
  • Visa
  • American Express
  • Discover
  • Maestro
  • Diners

Porém, mudanças podem ocorrer, e, por isso, para uma informação mais atualizada sugerimos fortemente que a loja entre em contato com a Masterpass e confirme essas informações.

Fluxo de Pagamento Masterpass

O fluxo básico de pagamento utilizando a carteira digital Masterpass inicia-se conforme apresentado na integração de pagamentos HTML do e-SiTef.

Na figura abaixo se apresenta o fluxo de um pagamento com autenticação Masterpass:

Aviso de Status

Para cada alteração de status de transação no e-SiTef, resultante de comunicação entre o e-SiTef e a Masterpass, é enviado ao servidor da loja um Aviso de Status. Saiba mais

Propriedades para uma transação de pagamento com a carteira digital Masterpass

As propriedades usadas para se criar uma transação de pagamento com a carteira digital Masterpass são os mesmos que os apresentados no Pagamento HTML, Pré-Autorização HTML e Recarga HTML.

Estorno de pagamentos Masterpass

Os pagamentos feitos no e-SiTef com a carteira digital Masterpass podem ser estornados utilizando a Cancelamento REST ou pelo Portal do Lojista.

Note que é necessário ter o número do cartão em mãos para que o estorno seja possível. Para isso, é preciso armazenar o cartão e efetuar o cancelamento utilizando o token/hash do cartão (Saiba mais) OU entrar em contato direto com o portador do cartão para obter o número.

Samsung Pay

Como Funciona

Quando o comprador clica no botão de pagamento do Samsung Pay, são exibidas as formas de pagamentos salvas na conta do Samsung Pay. O comprador pode selecionar rapidamente a forma de pagamento desejada e opcionalmente preencher informações adicionais da compra. Após esta interação com a Samsung Pay, estes mesmos dados serão enviados/processados pelo e-SiTef para efetuar o fluxo de pagamento.

Para mais informações sobre o fluxo de pagamento com wallets, consulte a página de Visão Geral


Dados cadastrais necessários

Em casos de integração via API REST, será necessário que o lojista utilize o Service ID da Software Express junto a Samsung. Para obter o Service ID de ambiente de homologação/produção entre em contato com nossa equipe de suporte.

Bandeiras suportadas

As seguintes redes de cartões disponíveis na Samsung Pay (Brasil) são suportadas pelo e-SiTef:

Sigla na Samsung PayBandeira
VIVisa
MCMasterCard

Pagamento/Pré-Autorização REST

Na modalidade de Pagamento ou Pré-Autorização o lojista deve realizar a primeira parte da integração com a Samsung Pay (todas as etapas de integração até a obtenção do Reference ID). por favor, entre em contato com o suporta da Samsung para mais detalhes.

O Reference ID deve então ser repassado para as nossas interfaces REST.

Envie os dados para o e-SiTef

Ao concluir a a primeira parte da integração com Samsung Pay, você terá em mãos o Reference ID.

Esse dado deve ser repassado pelo campo card.wallet_transaction_id da interface.


curl -X POST \
  https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/<NIT> \
  --header "Content-Type: application/json" \
  --header "merchant_id: <MERCHANT_ID>" \
  --header "merchant_key: <MERCHANT_KEY>" \
  --data-binary '{
    "authorizer_id": "410",
    "card": {
        "wallet_transaction_id": "exemploReferenceId"
    }
}' 

No exemplo acima, foi definido no campo authorizer_id com o valor 410, que corresponde selecionar a Samsung Pay como forma de pagamento; e foi definido no campo wallet_transaction_id com o valor do Reference ID da Samsung Pay . Uma execução bem-sucedida do comando acima retornará um JSON semelhante à abaixo.

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "payment":{
      "authorizer_code":"000",
      "authorizer_message":"Transacao OK",
      "status":"CON",
      "nit":"<NIT>",
      "order_id":"13034649671",
      "customer_receipt":"====CUPOM COMPRADOR====",
      "merchant_receipt":"====CUPOM ESTABELECIMENTO====",
      "authorizer_id":"410",
      "acquirer_id":"1005",
      "acquirer_name":"Redecard",
      "authorizer_date":"28/02/2020T08:57",
      "authorization_number":"132030",
      "merchant_usn":"13034649671",
      "esitef_usn":"170713097340300",
      "sitef_usn":"132030",
      "host_usn":"999132030",
      "payment_date":"13/07/2017T15:52",
      "amount":"1000",
      "payment_type":"C",
      "issuer":"2",
      "authorizer_merchant_id":"<MERCHANT_ID>"
   }
}

Pagamento/Pré-Autorização HTML

Para utilizar o Samsung Pay com o pagamento/pré-autorização HTML, entre em contato com um membro de nossa equipe de suporte para realizar a configuração necessária. É possível determinar quais bandeiras serão aceitas no Samsung Pay para a integração HTML.

Captura de Pré-Autorização REST e Cancelamento REST/via Portal

O Samsung Pay não permite que um mesmo Reference ID seja utilizado mais de uma vez. Por conta disso operações de duas etapas como Pagamento/Cancelamento, Pré-Autorização/Captura exigem que o cartão do pagador seja armazenado no e-SiTef. O armazenamento pala interface HTML pode ser realizado junto com o pagamento/pre-autorização seguindo a documentação de Pagamento com armazenamento de cartão ou pela interface REST, como descrito no capítulo abaixo.

Armazenamento REST

É possível realizar o armazenamento de cartão utilizando o Reference ID da Samsung Pay. Entre em contato com a nossa equipe de suporte para realizar as configurações necessárias para possibilitar este armazenamento.

O armazenamento de cartão REST funciona como se fosse armazenar um cartão qualquer, porém com os seguintes cuidados:

  • Ao invés de enviar os número do cartão, envie o campo wallet_transaction_id com o conteúdo do Reference ID.
  • O envio do campo authorizer_id deve ser '410' (Samsung Pay).

Para maiores detalhes, veja aqui.

Apple Pay

O Apple Pay agora está disponível!

Vantagens

  • Aumente as taxas de conversão com o Apple Pay.
  • Expanda seus negócios facilitando o pagamento com Apple Pay e com o provedor de serviços de pagamento.
  • Aumente as vendas oferecendo uma experiência de pagamento rápida, simples e segura com o Apple Pay.
  • Melhore a privacidade e a segurança: Cada transação requer autenticação com reconhecimento facial (Face ID), impressão digital (Touch ID) ou senha.

O Apple Pay aumenta as taxas de conversão e adoção do usuário, tornando a compra mais fácil do que nunca. É uma maneira simples e segura de compradores on-line para agilizar a finalização da compra e para os negócios on-line aumentarem as vendas. É uma vitória para os compradores e para as empresas.


Introdução

O Apple Pay é uma carteira digital disponível somente para os dispositivos iOS que contam o Secure Element - um chip que armazena as informações de pagamento de forma segura. A lista dos dispositivos compatíveis encontra-se aqui.

A Apple Pay oferece 2 APIs JavaScript para integração na web - a Apple Pay JS API e o Payment Request API. Para integração com o e-SiTef, foi escolhida a Apple Pay JS API. Ambas APIs estão nativamente disponíveis no navegador Safari.

Como Funciona

Como mencionado anteriormente, devido a sua disponibilidade em dispositivos compatíveis, o botão de pagamento via Apple Pay será exibido somente nos mesmos. Uma vez que o comprador está na tela de pagamento com a forma de pagamento Apple Pay disponível, bastará clicar no botão da mesma para selecionar o cartão desejado para o pagamento. Nos momentos em que o comprador clica no botão da Apple Pay, seleciona o cartão e confirma a transação, ocorrem interações entre o e-SiTef e o Apple Pay, para criação da transação de pagamento e da confirmação do pagamento. Após a última interaçao com a Apple Pay, a transação é processada no e-SiTef para confirmação do pagamento.

Para mais informações sobre o fluxo de pagamento com wallets, consulte a página de Visão Geral

Dados cadastrais necessários

É necessário que o lojista cadastre seu Merchant ID no sistema da Apple. Esse cadastro funciona como a identificação da loja na Apple para o e-SiTef. Também é necessário associar esse registro ao certificado do e-SiTef e a um domínio, que seria o endereço da página de pagamento (onde é disponibilizado o botão de pagamento da Apple Pay). Para este 2º passo, entre em contato com nossa equipe de suporte.

Bandeiras suportadas

As seguintes redes de cartões disponíveis na Apple Pay (Brasil) são suportadas pelo e-SiTef: Visa e MasterCard.

Integre-se com a Apple Pay

Para começar a processar pagamentos com o Apple Pay, você precisa se integrar a Apple via Web. Durante a integração, você verá que alguns parâmetros são necessários para processar o Apple Pay através do e-SiTef:

  • O parâmetro merchantIdentifier deve ser preenchido com o Merchant ID da loja no e-SiTef. Basta ter cadastrado o mesmo no portal da Apple Pay e na configuração da loja no e-SiTef que o mesmo será automaticamente preenchido e enviado na requisição para a Apple Pay;
  • O parâmetro domainName deve ser preenchido com o domínio do site da loja. Basta ter o mesmo cadastrado no portal da Apple Pay, associado com o Merchant ID, que o mesmo será validado corretamente com a Apple Pay.

Esses parâmetros são utilizados na primeira requisição para a Apple Pay (quando o botão da Apple Pay é clicado), chamada "startSession", que tem como função criar a sessão de pagamento, identificando qual é a loja de onde vem a requisição. Os dados informados são validados no servidor da Apple e retornam erro quando os dados informados na requisição não correspondem aos dados cadastrados na Apple.

Segue exemplo de requisição para o startSession:

 curl --location --request POST 'https://apple-pay-gateway-cert.apple.com/paymentservices/startSession' \
--header 'Content-Type: application/json' \
--data-raw '{
    "merchantIdentifier": "merchant.br.com.softwareexpress.teste.e-SiTef",
    "domainName": "esitef-homologacao.softwareexpress.com.br",
    "displayName": "Teste Apple Pay para eSiTef"
}'

A API Apple Pay JS coordena todas as chamadas necessárias para a Apple Pay completar a transação. Após o startSession, o response deste último é repassado para o completeMerchantValidation. Neste momento, a janela de pagamento da Apple Pay validou com sucesso as credenciais da loja e está aguardando a confirmação do pagamento por parte do usuário. Quando o usuário confirma o pagamento, através de senha ou impressão digital, a função onpaymentauthorized é acionada, com a informação do pagamento criptografada dentro do objeto event.

// funcao que integra as operacoes da Apple Pay com as chamadas back-end
var _handleApplePayEvents = function (appleSession) {
    
    // validacao da identificacao da loja
    // primeira funcao chamada ao clicar no botao da Apple Pay
    appleSession.onvalidatemerchant = function (event) {
        // chamada para o startSession e, em seguida, o response é enviado ao completeMerchantValidation
        _validateApplePaySession(event.validationURL, function (merchantSession) {
            appleSession.completeMerchantValidation(merchantSession)
        })
    }

    // Funcao chamada quando o usuario confirma o pagamento pela Apple Pay
    appleSession.onpaymentauthorized = function (event) {
        // Chamada ao back-end do e-SiTef para concluir o pagamento.
        // Deve ser enviado ao back-end o conteúdo do objeto 'event.token'
        // para descriptografia e 
        // validação dos dados de pagamento para autorização.

        // ...
        // em caso de sucesso no processamento do pagamento
        // ...
        appleSession.completePayment(ApplePaySession.STATUS_SUCCESS)

        // em caso de fracasso no processamento do pagamento
        // ...
        appleSession.completePayment(ApplePaySession.STATUS_FAILURE)
        // ...
    }
}

Pagamento/Pré-Autorização REST

Na modalidade de Pagamento ou Pré-Autorização REST o lojista deve realizar a primeira parte da integração com a Apple Pay (todas as etapas descritas na seção anterior para obter o token). Para mais detalhes a respeito deste processo de obtenção do token, recomenda-se entrar em contato com o suporte da Apple Pay.

O token obtido deve então ser repassado para as nossas interfaces REST.

Envie os dados para o e-SiTef

Ao concluir a primeira parte da integração com a Apple Pay, você terá em mãos o token.

Esse dado deve ser repassado pelo campo card.wallet_transaction_id da interface.


curl -X POST \
  https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/<NIT> \
  --header "Content-Type: application/json" \
  --header "merchant_id: <MERCHANT_ID>" \
  --header "merchant_key: <MERCHANT_KEY>" \
  --data-binary '{
    "authorizer_id": "421",
    "card": {
        "wallet_transaction_id": "some token from Apple Pay"
    }
}' 

No exemplo acima, foi definido no campo authorizer_id com o valor 421, que corresponde selecionar a Apple Pay como forma de pagamento e foi definido no campo wallet_transaction_id com o valor do token da Apple Pay. Uma execução bem-sucedida do comando acima retornará um JSON semelhante à abaixo.

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "payment":{
      "authorizer_code":"000",
      "authorizer_message":"Transacao OK",
      "status":"CON",
      "nit":"<NIT>",
      "order_id":"13034649899",
      "customer_receipt":"====CUPOM COMPRADOR====",
      "merchant_receipt":"====CUPOM ESTABELECIMENTO====",
      "authorizer_id":"421",
      "acquirer_id":"1005",
      "acquirer_name":"Redecard",
      "authorizer_date":"12/03/2021T14:33",
      "authorization_number":"132030",
      "merchant_usn":"13034649671",
      "esitef_usn":"170713097340300",
      "sitef_usn":"132030",
      "host_usn":"999132030",
      "payment_date":"12/03/2021T15:52",
      "amount":"1000",
      "payment_type":"C",
      "issuer":"2",
      "authorizer_merchant_id":"<MERCHANT_ID>"
   }
}

Pagamento/Pré-Autorização HTML

Para utilizar a Apple Pay com o pagamento/pré-autorização HTML, entre em contato com um membro de nossa equipe de suporte para realizar a configuração necessária. É possível determinar quais bandeiras serão aceitas no Apple Pay para a integração HTML.

Captura de Pré-Autorização REST e Cancelamento REST/via Portal

O Apple Pay não permite que um mesmo token seja utilizado mais de uma vez. Por conta disso, operações de duas etapas como Pagamento/Cancelamento, Pré-Autorização/Captura exigem que o cartão do pagador seja armazenado no e-SiTef. O armazenamento pela interface HTML pode ser realizado junto com o pagamento/pre-autorização, seguindo a documentação de Pagamento com armazenamento de cartão ou pela interface REST, como descrito na seção a seguir.

Armazenamento REST

É possível realizar o armazenamento de cartão utilizando o token da Apple Pay. Entre em contato com a nossa equipe de suporte para realizar as configurações necessárias para possibilitar este armazenamento.

O armazenamento de cartão REST funciona como se fosse armazenar um cartão qualquer, porém com os seguintes cuidados:

  • Ao invés de enviar os número do cartão, envie o campo wallet_transaction_id com o conteúdo do token.
  • O envio do campo authorizer_id deve ser '421' (Apple Pay).

Para maiores detalhes, veja aqui.

Gerenciamento de chaves do lojista

Para o correto processamento de uma transação pela ApplePay, é necessário haver um cadastro de chaves pública no Apple Server. As chaves públicas e privadas providas pelo Apple Server servirão de base para o decript do payload enviado pela biblioteca Apple JS. Este é o primeiro passo para a configuração de um Merchant para receber pagamentos ApplePay.

Neste guia é possível ver mais detalhes do cadastro de chaves no Apple Server.

Após o registro das chaves é necessário entrar em contato com o nosso suporte e informá-las, para que as mesmas sejam configuradas no cadastro da Loja. A Apple requer que seja possível o registro de dois pares de chaves. Cada chave tem um período de validade e ficará a cargo do logista o gerenciamento da validade e o informe das novas chaves ao suporte da Software Express.

Configurações para Carteiras Digitais

Nesta página serão apresentadas as possíveis configurações das carteiras digitais suportadas pelo e-SiTef (Ex.: Google Pay, Masterpass, Visa Checkout).

Os exemplo abaixo utilizam Google Pay, porém as configurações podem ser aplicadas para qualquer outra carteira.

Configuração de Roteamento/Adquirente

Roteamento/Adquirente único

Ao configurar uma carteira digital no e-SiTef é necessário selecionar o roteamento/adquirente que será responsável pelo processamento das transações realizadas pela carteira escolhida, como no exemplo abaixo:

Para mais informações sobre configuração de Autorizadoras/Roteamentos, acesse a página de Configuração de Autorizadoras no Portal do Loijista.

Roteamento Googlepay

Na configuração ilustrada acima qualquer transação realizadas utilizando Google Pay, independente da bandeira do cartão, será roteada/capturada pela adquirente Cielo.

Roteamentos/Adquirentes múltiplos

Caso seja necessário, é possível configurar o roteamento/adquirente que irá processar a transação de acordo com a bandeira do cartão selecionado dentro da carteira digital:

Para mais informações sobre configuração de Adquirentes/Roteamentos, acesse a página de Configuração de Autorizadoras no Portal do Loijista.

Roteamento Googlepay Múltiplo

Na configuração ilustrada acima as transações realizadas utilizando Google Pay com cartão de bandeira Mastercard serão processadas pela adquirente Rede (antiga Redecard).

As demais bandeiras (Visa, Maestro, etc.) serão processadas pela adquirente padrão configurada para a Google Pay, que neste exemplo será a Cielo.

Essa configuração pode ser realizada para quantas bandeiras forem necessárias.

Integração com soluções antifraude

Visão Geral

O e-SiTef é um gateway de pagamentos multisserviços com capacidade de processamento de transações de cartões de crédito, transferência bancária, geração de boletos, integração com opções de mobile payment e outros serviços que podem ser facilmente agregados à plataforma.

No grupo dos "outros serviços" encontram-se as soluções antifraude de várias empresas como ClearSale, CyberSource e Konduto. As soluções antifraude do e-SiTef incluem o serviço de análise de risco nos pagamentos.

Credenciais necessárias

O e-SiTef possui integração com várias empresas de análise antifraude de forma que o lojista pode escolher com quem fará a análise de risco. Após selecionar a instituição de análise antifraude, o lojista deve entrar em contato com essa instituição e solicitar as credenciais necessárias. Essas credenciais variam de instituição para instituição. Em seguida, o lojista deve passar essas credenciais para a equipe de Produção do e-SiTef que fará o cadastro desses dados. A habilitação do serviço antifraude nos pagamentos da loja só será possível depois do cadastro dessas credenciais no ambiente de produção do e-SiTef.

É importante lembrar que se deve também configurar informações de tempo de expiração e a ação que deve ser executada após esse tempo. Essa configuração é feita no Portal do Lojista. Saiba mais.

Para saber sobre as credenciais necessárias, consulte o capítulo correspondente à instituição desejada.

Restrições

A funcionalidade de análise antifraude pode ser utilizada nas seguintes interfaces do e-SiTef:

  • Pagamento HTML
  • Pagamento REST
  • Pré-autorização REST

Atenção: Para as transações de PRÉ-AUTORIZAÇÃO com análise de risco (antifraude) e roteamentos não-SiTef, deve-se atentar aos cenários em que a análise de risco é feita APÓS a pré-autorização. Nestes cenários, a transação de pré-autorização é confirmada indepentemente do resultado da análise de risco, cabendo ao Lojista decidir - diante da avaliação de antifraude - pela efetivação da sua captura ou não. O mesmo se dá para os casos em que a análise de risco da transação é remetida a uma revisão manual pela instituição de antifraude.

Portanto, não é permitido fazer análise antifraude com as seguintes funcionalidades:

  • Recarga
  • Split

Em decorrência da natureza do próprio fluxo, os seguintes meios de pagamento não podem ser utilizados em conjunto com a análise antifraude:

  • Banco do Brasil
  • e-Commerce Cielo 1.5 (NPC)
  • Itaú Shopline
  • MercadoPago
  • PagSeguro
  • PayPal

Cartão de Débito

Para pagamentos efetuados com cartão de débito não se aplica o fluxo antifraude com a flag after auth.

Atenção: É importante que o lojista envie o máximo de informações ao utilizar os serviços anti-fraude pelo e-SiTef. A qualidade destas informações impactará diretamente e cumulativamente na qualidade da análise de fraudes, trazendo retornos diretos ao lojista.

Serviço de análise de risco na Interface HTML

Após realizar o alinhamento cadastral com o suporte do e-SiTef para habilitar a integração com o serviço de anti-fraude, na inicialização de uma transação Pagamento HTML (Saiba mais) o lojista deve configurar a propriedade anti_fraud e enviar os devidos parâmetros de anti-fraude (depende da instituição que a sua loja foi configurada), sendo que as duas propriedades devem estar no escopo do objeto additional_data.

O campo anti_fraud determina o modo de aplicação da anti-fraude e pode conter os seguintes valores:

  • enabled_before_auth - A análise antifraude será realizada ANTES da autorização do pagamento. Caso a análise seja rejeitada, o pagamento não será iniciado.
  • enabled_after_auth - A análise antifraude será realizada APÓS a autorização do pagamento. Caso a análise seja rejeitada, o pagamento que já foi autorizado será cancelado.

Parâmetros de anti-fraude

Os parâmetros dependem da instituição que fornece o serviço de anti-fraude. Portanto, nem todos os parâmetros de anti-fraude disponíveis no e-SiTef serão efetivamente utilizados.

Abaixo seguem todos os parametros de anti-fraude (independente da instituição). Alguns parâmetros podem aparecer repetidamente (por exemplo, a propriedade gift) e isto ocorre devido a característica de análise de risco de cada instituição. Para maiores detalhes de como cada instituição utiliza cada parametro de antifraude, consulte a página de cada integração de antifraude.

PropriedadesDescriçãoFormatoObrigatório
currencyMoeda a ser utilizada3 ASim
b2b_b2cTipo do ecommerce3 ANão
item_amountValor em centavos da soma total dos valores dos itens< 1024 NSim
total_order_amountValor em centravos dos pedidos< 1024 NSim
delivery_time_cdPrazo de entrega< 50 ANão
qty_payment_typesQuantidade de pagamentos1 NNão
ip (deprecated)IP do pedido< 50 ASim
gift1 - É um presente
0 - Não é um presente
1 NNão
gift_messageMensagem do presente< 8000 ANão
obsObservação do pedido< 8000 ANão
sla_customSLA de análise4 NNão
originOrigem do pedido< 150 ASim
reservation_dateData de reserva de voo. Somente para empresas de passagens aéreas.Formato da data: yyyy-mm-ddThh:mm:ssNão
nationalityNacionalidade do pedido (para pedido de análise internacional)< 50 ANão
list_type_idID do tipo de lista (somente para clientes que possuem lista específica)1 NNão
list_idID da lista na loja< 200 ANão
sequentialSequência de realização do pagamento1 NNão
interestTaxa de juros.
Exemplo: 5.00
< 4 NNão
interest_valueValor absoluto dos juros em centavos.
Exemplo: 1000 (10 reais).
< 20 NNão
shipping_typeId do tipo de entrega. Pode ser:
  • 0 - Outros
  • 1 - Normal
  • 2 - Garantida
  • 3 - ExpressaBR
  • 4 - ExpressaSP
  • 5 - Alta
  • 6 - Econômica
  • 7 - Agendada
  • 8 - Extra Rápida
  • 9 - Impresso
  • 10 - Aplicativo
  • 11 - Correio
  • 12 - Motoboy
  • 13 - Retirada Bilheteria
  • 14 - Retirada Loja Parceira
  • 15 - Cartão de Crédito Ingresso
  • 16 - Retirada Loja
< 2 NNão
itemsInformações relativas aos itens da compraArrays de objeto json (Saiba mais)Sim
payerInformações relativas ao pagadorObjeto json (Saiba mais)Sim
billing_dataInformações relativas a faturaObjeto json (Saiba mais)Sim
shipmentInformações relativas a entregaArray de objeto json (Saiba mais)Sim
browserInformações relativas ao navegador utilizado na compraObjeto json (Saiba mais)Sim
travelInformações relativas a passagem aéreaObjeto json (Saiba mais)Condicional por instituição
passengersInformações relativas ao passageirosArray de objeto json (Saiba mais)Sim, se o item for passagem aérea
connectionsInformações relativas ao navegador utilizado na compraArray de objeto json (Saiba mais)Sim, se o item for passagem aérea
hotel_reservationsInformações relativas a reserva de hotelArray de objeto json (Saiba mais)Sim, se a compra for reserva de hotel
purchase_dataInformações relativas a data da compraObjeto json (Saiba mais)Sim
mddInformações relativas ao mdd (Merchant Data). Campo específico da CybersourceArray de objeto json (Saiba mais)Não

Objeto items

PropriedadesDescriçãoFormatoObrigatório
idIdentificação única do itemNSim
skuCódigo de produto do item.ACondicional por instituição
titleNome do produtoASim
descriptionDescrição do produtoANão
quantityQuantidade de itens< 4 NSim
unit_pricePreço unitário do item< 12 NSim
category_idId da Categoria do Item. Cada instituição de análise possui uma interpretação diferente.Condicional por instituiçãoCondicional por instituição
category_nameNome da categoria do produto< 200 ANão
gift1 - É um presente
0 - Não é um presente
1 NNão
tax_amountMontante da taxaNNão
discount_amountValor de desconto em centavosNNão
creation_dateData de publicação do produto no formato DD/MM/AAAA.ANNão

Objeto payer

PropriedadesDescriçãoFormatoObrigatório
idIdentificação do comprador. Normalmente é o CPF.NSim
nameNome do comprador. Cada instituição de análise possui uma interpretação diferente.Condicional por instituiçãoCondicional por instituição
surnameSobrenome do comprador< 200 ASim
emailEmail do compradorASim
date_createdData de criaçãoASim
passwordSenha do compradorCondicional por instituiçãoCondicional por instituição
cityCidade do endereço sem abreviações< 150 ASim
address_street_complementComplemento do endereço sem abreviações< 250 ANão
address_countryPaís do endereço sem abreviações< 150 ANão
address_countyBairro do endereço sem abreviações< 150 ANão
address_street_numberNúmero do endereço< 15 ANão
stateSigla do estado do endereço - UF2 ANão
address_street_nameNome do logradouro (sem abreviações)< 200 ANão
address_zip_codeCEP do endereço< 10 NNão
address_referenceReferência do endereço (sem abreviações)< 250 ANão
legal_documentDocumento da pessoa de Cobrança< 100 ANão
phonesContatos telefônicos do compradorArray de objeto json (Saiba mais)Não
addressEndereço do compradorObjeto json (Saiba mais)Não

Objeto phones do payer

PropriedadesDescriçãoFormatoObrigatório
ddiDDI do telefone3 NNão
dddDDD do telefone3 NNão
numberNúmero do telefone9 NNão

Objeto address do payer

PropriedadesDescriçãoFormatoObrigatório
street_nameNome do Logradouro.< 200 ASim
street_name2Complemento do do nome do endereço.< 200 ANão
street_numberNúmero do endereço< 15 ASim
apartmentApartamento se houverNNão
complementComplemento do endereço sem abreviações< 250 ANão
countyBairro do endereço sem abreviações< 150 ASim
cityCidade do endereço sem abreviações< 150 ASim
stateSigla do estado do endereço - UF2 ASim
districtDistrito se houverANão
countryPaís do endereço< 150 ANão
zip_codeCEP do endereço< 10 NSim
referenceReferência do endereço sem abreviações< 250 ANão
building_numberNumero da casa. Exemplo: caso seja um condomínio fechado, seria o numero da casa dentro deste condomínio.< 10 ANão

Objeto billing_data

PropriedadesDescriçãoFormatoObrigatório
cliente_idCódigo do cliente< 50 ASim
person1 - Pessoa Física
2 - Pessoa Jurídica
1 NSim
cnpj_cpfCPF ou CNPJ< 100 ASim
identification_numberRG ou inscrição estadual< 100 ANão
nameNome do cliente< 500 ASim
birth_dateData de Nascimento.Data no formato: yyyy-mm-ddThh:mm:ssSim
emailEmail< 150 ANão
genderM - masculino
F - feminino
1 ANão
addressEndereço da faturaObjeto json (Saiba mais)Não
phonesContatos telefônicos da faturaArray de objeto json (Saiba mais)Não
documentsDocumentos da faturaArray de objeto json (Saiba mais)Não

Objeto address do billing_data

PropriedadesDescriçãoFormatoObrigatório
street_nameNome do Logradouro< 200 ASim
street_name2Complemento do nome do logradouro.< 200 ANão
street_numberNúmero do endereço< 15 ASim
apartmentApartamento se houverNNão
complementComplemento do endereço sem abreviações< 250 ANão
countyBairro do endereço sem abreviações< 150 ASim
cityCidade do endereço sem abreviações< 150 ASim
stateSigla do estado do endereço - UF2 ASim
districtDistrito se houverANão
countryPaís do endereço sem abreviações.< 150 ANão
zip_codeCEP do endereço< 10 NSim
referenceReferência do endereço sem abreviações< 250 ANão
building_numberNúmero da casa. Exemplo: caso seja um condomínio fechado, seria o numero da casa dentro deste condomínio.< 10 ANão

Objeto phones do billing_data

PropriedadesDescriçãoFormatoObrigatório
typeTipo de telefone:
  • 0 - Não definido
  • 1 - Residencial
  • 2 - Comercial
  • 3 - Recados
  • 4 - Cobrança
  • 5 - Temporário
  • 6 - Celular
1 NSim
ddiDDI do telefone3 NNão
dddDDD do telefone3 NSim
numberNúmero do telefone9 NSim
extensionRamal do telefone< 10 ANão

Objeto documents do billing_data

PropriedadesDescriçãoFormatoObrigatório
typeCondicional por instituição.ANão
numberNúmero do documentoNSim

Objeto shipment

PropriedadesDescriçãoFormatoObrigatório
idCódigo do cliente< 50 ASim
costValor em centavos do frete< 1024 NNão
typeTipo de pessoa
1 - Pessoa Física
2 - Pessoa Jurídica
< 1 NSim
legal_document1CPF ou CNPJ< 100 ASim
legal_document2RG ou Inscrição Estadual< 100 ANão
nameNome do Cliente< 500 ASim
surnameSobrenome do Cliente< 500 ASim
birth_dateData de nascimento.Data no formato: yyyy-mm-ddThh:mm:ssNão
emailEmail< 150 ANão
genderM - masculino
F - feminino
1 ANão
addressEndereço para a entregaObjeto json (Saiba mais)Condicional por instituição
receiver_addressEndereço para a entregaObjeto json (Saiba mais)Condicional por instituição
phonesContatos telefônicos da entregaArrays de objeto json (Saiba mais)Sim

Objeto address do shipment

Também equivale ao objeto receiver_address do shipment

PropriedadesDescriçãoFormatoObrigatório
street_nameNome do Logradouro.< 200 ASim
street_name2Complemento do nome do Logradouro.< 200 ANão
street_numberNúmero do endereço< 15 ASim
apartmentApartamento se houverNNão
complementComplemento do endereço sem abreviações< 250 ANão
countyBairro do endereço sem abreviações< 150 ASim
cityCidade do endereço sem abreviações< 150 ASim
stateSigla do estado do endereço - UF2 ASim
countryPaís do endereço.< 150 ASim
zip_codeCEP do endereço. Apenas números.< 10 ASim
building_numberNumero da casa. Exemplo: caso seja um condomínio fechado, seria o numero da casa dentro deste condomínio.< 10 ANão

Objeto phones do shipment

PropriedadesDescriçãoFormatoObrigatório
typeTipo de telefone:
  • 0 - não definido
  • 1 - Residencial
  • 2 - Comercial
  • 3 - Recados
  • 4 - Cobrança
  • 5 - Temporário
  • 6 - Celular
1 NSim
ddiDDI do telefone3 NNão
dddDDD do telefone3 NSim
numberNúmero do telefone9 NSim
extensionRamal do telefone< 10 ANão

Objeto browser

PropriedadesDescriçãoFormatoObrigatório
ip_addressEndereço IP15 ASim

Objeto travel

PropriedadesDescriçãoFormatoObrigatório
routeConcatenação das pernas dos vôos/trechos

Para obter os códigos dos aeroportos, use este link
Valor deve respeitar formato: XXX-XXX:XXX-XXXSim
journey_typeTipo de viagem: round_trip ou one_way< 32 ASim
departure_date_timeData e horário de partida do primeiro voo.Formato da data: yyyy-mm-ddThh:mm:ssSim

Objeto passengers

PropriedadesDescriçãoFormatoObrigatório
idId do passageiro< 32 ANão
nameCondicional por instituição< 100 ASim
last_nameÚltimo nome do Passageiro< 100 ACondicional por instituição
frequente_flyer_cardCartão de Milhagem (fidelidade)< 32 ANão
legal_document_typeTipo de documento de identificação:
  • 1 - CPF
  • 2 - CNPJ
  • 3 - RG
  • 4 - IE
  • 5 - Passaporte
  • 6 - CTPS
  • 7 - Título Eleitor
1 NSim
legal_documentNúmero do documento< 50 ASim
birth_dateData de nascimento.Data no formato: yyyy-mm-ddThh:mm:ssNão
emailEmail do passageiro. Deve ser único na arrays de passengers.Formato: name@domain.comNão
statusStatus da reserva da passagem. Exemplo: Reserved< 32 ANão
ratingClassificação do passageiro de acordo com preço do ticket.< 32 ANão
typeClassificação do passageiro.
  • ADT: Adult
  • CNN: Child
  • INF: Infant
  • YTH: Youth
  • STU: Student
  • SCR: Senior Citizen
  • MIL: Military
< 32 ANão
unit_pricePreço unitário da passagem.Formato (em centavos): 1000 (10 reais)Não
phonesContatos telefônicos do passageiroArrays de objeto json (Saiba mais)Sim

Objeto phones do passengers

PropriedadesDescriçãoFormatoObrigatório
ddiDDI do telefone. Apenas números. Exemplo: 55 (Brasil)3 NNão
dddDDD do telefone. Apenas números. Exemplo: 11 (São Paulo)3 NSim
numberNúmero do telefone. Apenas números. Exemplo: 123457899 NSim

Objeto connections

PropriedadesDescriçãoFormatoObrigatório
companyNome da companhia aérea< 50 ASim
flight_numberNúmero do voo6 NSim
flight_dateData e hora da partida da primeira perna do vôo.Condicional por instituiçãoSim
classClasse do assento< 10 ASim
fromOrigemCondicional por instituiçãoSim
toDestinoCondicional por instituiçãoSim
departure_dateData do embarque.Data no formato: yyyy-mm-ddThh:mm:ssSim
arrival_dateData do desembarque.Data no formato: yyyy-mm-ddThh:mm:ssSim

Objeto hotel_reservations

PropriedadesDescriçãoFormatoObrigatório
hotelNome do hotel< 200 ASim
cityCidade do hotel sem abreviações< 150 ASim
stateEstado do hotel sem abreviações< 150 ASim
countryPaís do hotel< 150 ASim
reservation_dateData da Reserva.Data no formato: yyyy-mm-ddThh:mm:ssSim
reservation_expiration_dateData da expiração da reserva.Data no formato: yyyy-mm-ddThh:mm:ssSim
checkin_dateData da chegada.Data no formato: yyyy-mm-ddThh:mm:ssSim
checkout_dateData da saída.Data no formato: yyyy-mm-ddThh:mm:ssSim

Objeto purchase_data

PropriedadesDescriçãoFormatoObrigatório
last_date_inserted_mailData da última alteração do email.Data no formato: yyyy-mm-ddThh:mm:ssNão
last_date_change_passwordData da última alteração da senha.Data no formato: yyyy-mm-ddThh:mm:ssNão
last_date_change_phoneData da última alteração do telefone.Data no formato: yyyy-mm-ddThh:mm:ssNão
last_date_change_mobile_phoneData da última alteração do telefone móvel.Data no formato: yyyy-mm-ddThh:mm:ssNão
last_date_inserted_addressData da última alteração do endereço.Data no formato: yyyy-mm-ddThh:mm:ssNão
purchase_loggedCompra logado1 NNão
purchase_logged_with_facebookCompra logado através do Facebook1 NNão

Objeto mdd

PropriedadesDescriçãoFormatoObrigatório
idPode variar de 1 a 100 definidos pelo comércio em acordo com a Cybersource< 255 ANão
valueValor dos campos definidos pelo comércio em acordo com a Cybersource< 255 ANão

Retorno da análise de risco

O e-SiTef irá devolver na url de aviso de status o status da análise (aprovado, rejeitado, ou em análise), além do código e mensagem retornados pelo serviço, conforme tabela abaixo:

CampoDescriçãoTamanho
analise.statusResultado da análise de risco= 3 A
analise.codigoCódigo de retorno< 3 N
analise.mensagemMensagem de retorno< 30 N

O status da análise de risco pode ser:

StatusDescrição
NOVAnálise ainda não foi enviada
EXPTransação de pagamento expirou antes da análise ser enviada
ACCTransação aceita
REJTransação rejeitada pela instituição de análise de risco
REVTransação requer revisão manual (Saiba mais)
INVAnálise inválida

É importante ressaltar que caso tenha acontecido algum erro, este será descrito em analise.mensagem da URL de retorno.

Para mais detalhes sobre códigos de retorno, cosulte a Lista de Códigos de Retorno da integração de antifraude desejada.

Fluxo da revisão manual

Ao solicitar a análise de anti-fraude, é possível que a instituição responda que a transação será avaliada manualmente. Considerando este cenário, o e-SiTef deixa a transação no estado PPC (Pagamento Pendente de Confirmação) e fica no aguardo de uma conclusão da análise manual.

A instituição deve enviar um aviso indicando a conclusão da análise manual em um determinada URL, o qual deve ser cadastrado na plataforma da instituição. O lojista deve entrar em contato com a instituição e solicitar o registro das seguintes URL para este aviso:

  • Ambiente de Homologação: https://esitef-homologacao.softwareexpress.com.br/e-sitef/processarPost.se?loja=<MerchantID>
  • Ambiente de Produção: https://esitef-ec.softwareexpress.com.br/e-sitef/processarPost.se?loja=<MerchantID> Sendo <MerchantID> a identificação do lojista no e-SiTef. Em caso de dúvida, entre em contato com o nosso suporte para obter essa identificação.

Quando o e-SiTef receber este aviso, algumas validações serão executadas antes de concluir a transação para um estado final. O lojista irá receber um aviso indicando o estado final desta mesma transação.

Configurar expiração para análise manual

Considere o seguinte cenário, a instituição indica que irá realizar a análise manual, mas a análise manual nunca é concluída. Para esta situação, o e-SiTef solicita uma configuração por parte da Loja, para que após um tempo de espera da resposta da análise de risco, uma decisão seja tomada e não mantenha a transação pendente.

Para isso devem-se configurar no Portal do Lojista os parâmetros necessários seguindo os seguintes passos:

"Figura 1: Opção para configuração de Análise de Risco no Portal do Lojista."

Na figura abaixo, pode-se observar a opção de escolha de loja a ser configurada, caso exista mais de uma configurada para o usuário.

"Figura 2: Escolha de loja."

A seguir, são apresentados os campos que serão configurados:

  • Tempo de expiração da análise de risco (dias): Tempo de espera da resposta da analise de risco - em dias – para que o e-SiTef tome uma atitude configurada pela loja.
  • Atitude após o tempo de expiração: Após o Tempo Máximo de espera configurado, a decisão escolhida neste campo será tomada - ou CONFIRMAR ou CANCELAR a transação.

"Figura 3: Campos a serem configurados."

Assim que o botão Enviar for pressionado, a mensagem Configurado com sucesso! será apresentada, confirmando a alteração desta configuração.

ATENÇÃO: Lembrando que esta configuração apenas será alterada pela Loja, que assumirá a total responsabilidade da configuração feita. Caberá ao e-SiTef apenas a efetivação da ação escolhida, conforme configuração.

Serviço de marcação de fraude

Após uma transação com antifraude bem sucedida (pagamento com status CON, PPC, PPN ou EST), a loja pode vir a identificar que, na realidade, tratava-se de uma fraude. Nesse caso, a loja pode realizar uma chamada ao serviço de marcação de fraude para avisar a instituição de análise de risco sobre essa ocorrência. Isso irá refinar o processo de análise dessa instituição, tornando-o mais preciso e evitando mais fraudes futuramente.

Atualmente, esta API suporta as seguintes instituições de antifraude:

  • Konduto
  • Fraud Detect

Detalhes da chamada

  • Recurso: /v1/transactions/{nit}/fraud
  • Método HTTP: POST
  • Formato da requisição: JSON
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.< 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM
Content-TypeDeve ser enviado com o valor application/json.= 15 ANSIM

Exemplos

Abaixo está um exemplo de chamada do serviço de marcação de fraude utilizando a ferramenta cURL.

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr/fraud" 
--header "Content-Type: application/json" 
--header "merchant_id: xxxxxxxx" 
--header "merchant_key: xxxxxxxxxxx" 
--data-binary 
{} 
--verbose

Resposta:

{
   "code":"0",
   "message":"OK. Transaction successful.",
   "analysis":{
      "code":"0",
      "message":"Sucesso"
   }
}

Parâmetros de requisição

Até o momento, não existem parâmetros a serem enviados no corpo da requisição.

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 201. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de marcação de fraude:

ParâmetroDescriçãoFormato
codeCódigo de resposta do e-SiTef. Qualquer código diferente de 0 significa falha. Saiba mais.< 4 N
messageMensagem de resposta do e-SiTef.< 500 AN
analysis
codeCódigo de resposta da instituição de análise de risco.< 4 N
messageMensagem de resposta da instituição de análise de risco.< 500 AN

ClearSale

Credenciais necessárias

Como mencionado no capítulo da "Visão Geral - Credenciais necessárias", cada instituição possui um conjunto de credenciais que devem ser obtida para a integração. Os serviços da ClearSale exigem as seguintes credenciais:

  • app_code (Merchant Code)
  • entity_code - Identificação da loja na ClearSale

IMPORTANTE: As credenciais acima devem ser obtidas com a ClearSale. O lojista deve entrar em contato com a ClearSale e receber as devidas orientações de como obter cada uma dessas credenciais. Após conseguir as credenciais, o lojista deve entrar em contato com o suporte do e-SiTef e passar as credenciais para o cadastro no e-SiTef.

Revisão manual

Conforme explicado no capítulo "Fluxo da revisão manual", a ClearSale é uma das instituições de antifraude que possui o fluxo de revisão manual. Logo, confirme que o cadastro das URL de aviso da revisão manual estão configuradas adequadamente na ClearSale. Em caso de dúvida, entre em contato com o nosso suporte.

Parâmetros antifraude da ClearSale

Abaixo segue uma relação de parâmetros de antifraude processados pela ClearSale. Alguns parâmetros possuem tratamentos diferenciados dependendo da instituição e a coluna de "Detalhe adicional" especifica o tratalmento especial da ClearSale. Para detalhe de cada parametro, veja a lista de parametro de antifraude

Propriedades
e-SiTef
Propriedades
ClearSale
Detalhe adicional
b2b_b2cOrder.B2B_B2C-
item_amountOrder.TotalItems-
total_order_amountOrder.TotalOrder-
delivery_time_cdOrder.DeliveryTimeCD-
qty_payment_typesOrder.QtyPaymentTypes-
ip (deprecated)Order.IP-
giftOrder.Gift-
gift_messageOrder.GiftMessage-
obsOrder.Obs-
sla_customOrder.SlaCustom-
originOrder.Origin-
reservation_dateOrder.ReservationDate-
nationalityOrder.Nationality-
list_type_idOrder.ListTypeID-
list_idOrder.ListID-
sequentialPayment.Sequential-
interestPayment.Interest-
interest_valuePayment.InterestValue-
shipping_typeOrder.ShippingType-
itemsArrays de objeto json (Saiba mais)
payerObjeto json (Saiba mais)
billing_dataObjeto json (Saiba mais)
shipmentArray de objeto json (Saiba mais)
passengersArray de objeto json (Saiba mais)
connectionsArray de objeto json (Saiba mais)
hotel_reservationsArray de objeto json (Saiba mais)
purchase_dataObjeto json (Saiba mais)

Objeto items

Propriedades
e-SiTef
Propriedades
ClearSale
Detalhe adicional
idItem.ID-
titleItem.Name-
quantityItem.Qty-
unit_priceItem.ItemValue-
category_idItem.CategoryIDPreenchimento opcional e numérico com tamanho 1
category_nameItem.CategoryName-
giftItem.Gift-

Objeto payer

Propriedades
e-SiTef
Propriedades
ClearSale
Detalhe adicional
namePayment.NamePreenchimento opcional e formato <150 A
cityPayment.Address.City-
address_street_complementPayment.Address.Comp-
address_countryPayment.Address.Country-
address_countyPayment.Address.County-
address_street_numberPayment.Address.Number-
statePayment.Address.State-
address_street_namePayment.Address.Street-
address_zip_codePayment.Address.ZipCode-
address_referencePayment.Address.Reference-
legal_documentPayment.LegalDocument-

Objeto billing_data

Propriedades
e-SiTef
Propriedades
ClearSale
Detalhe adicional
cliente_idBillingData.ID-
personBillingData.Type-
cnpj_cpfBillingData.LegalDocument1-
identification_numberBillingData.LegalDocument2-
nameBillingData.Name-
birth_dateBillingData.BirthDate-
emailBillingData.Email-
genderBillingData.Gender-
addressObjeto json (Saiba mais)
phonesArray de objeto json (Saiba mais)
documentsArray de objeto json (Saiba mais)

Objeto address do billing_data

Propriedades
e-SiTef
Propriedades
ClearSale
Detalhe adicional
street_nameBillingData.Address.Street-
street_numberBillingData.Address.Number-
complementBillingData.Address.Comp-
countyBillingData.Address.County-
cityBillingData.Address.City-
stateBillingData.Address.State-
countryBillingData.Address.Country-
zip_codeBillingData.Address.ZipCode-
referenceBillingData.Address.Reference-

Objeto phones do billing_data

Propriedades
e-SiTef
Propriedades
ClearSale
Detalhe adicional
typeBillingData.Phones.Phone.Type-
ddiBillingData. Phones. Phone.DDI-
dddBillingData. Phones. Phone.DDD-
numberBillingData. Phones. Phone.Number-
extensionBillingData. Phones. Phone.Extension-

Objeto documents do billing_data

Propriedades
e-SiTef
Propriedades
ClearSale
Detalhe adicional
typeBillingData.TypeValores permitidos: CPF ou CNPJ

Objeto shipment

Propriedades
e-SiTef
Propriedades
ClearSale
Detalhe adicional
idShippingData.ID-
costOrder.ShippingPrice-
typeShippingData.Type-
legal_document1ShippingData.LegalDocument1-
legal_document2ShippingData.LegalDocument2-
nameShippingData.Name-
birth_dateShippingData.BirthDate-
emailShippingData.Email-
genderShippingData.Gender-
receiver_addressObjeto json (Saiba mais)
phonesArrays de objeto json (Saiba mais)

Objeto receiver_address do shipment

Propriedades
e-SiTef
Propriedades
ClearSale
Detalhe adicional
street_nameShippingData.Address.Street-
street_numberShippingData.Address.Number-
complementShippingData.Address.Comp-
countyShippingData.Address.County-
cityShippingData.Address.City-
stateShippingData.Address.State-
countryShippingData.Address.Country-
zip_codeShippingData.Address.ZipCode-

Objeto phones do shipment

Propriedades
e-SiTef
Propriedades
ClearSale
Detalhe adicional
typeShippingData.Phones.Phone.Type-
ddiShippingData.Phones.Phone.DDI-
dddShippingData.Phones.Phone.DDD-
numberShippingData.Phones.Phone.Number-
extensionShippingData.Phones.Phone.Extension-

Objeto passengers

Propriedades
e-SiTef
Propriedades
ClearSale
Detalhe adicional
namePassenger.NamePreencher com o nome completo
frequente_flyer_cardPassenger.FrequentFlyerCard-
legal_document_typePassenger.LegalDocumentType-
legal_documentPassenger.LegalDocument-
birth_datePassenger.BirthDate-

Objeto connections

Propriedades
e-SiTef
Propriedades
ClearSale
Detalhe adicional
companyConnection.Compay-
flight_numberConnection.FlightNumber-
flight_dateConnection.FlightDate-
classConnection.Class-
fromConnection.From-
toConnection.To-
departure_dateConnection.DepartureDate-
arrival_dateConnection.ArrivalDate-

Objeto hotel_reservations

Propriedades
e-SiTef
Propriedades
ClearSale
Detalhe adicional
hotelHotelReservation.Hotel-
cityHotelReservation.City-
stateHotelReservation.State-
countryHotelReservation.Country-
reservation_dateHotelReservation.ReservationDate-
reservation_expiration_dateHotelReservation.ReservationExpirationDate-
checkin_dateHotelReservation.CheckInDate-
checkout_dateHotelReservation.CheckOutDate-

Objeto purchase_data

Propriedades
e-SiTef
Propriedades
ClearSale
Detalhe adicional
last_date_inserted_mailPurchaseInformationData.LastDateInsertedMail-
last_date_change_passwordPurchaseInformationData.LastDateChangePassword-
last_date_change_phonePurchaseInformationData.LastDateChangePhone-
last_date_change_mobile_phonePurchaseInformationData.LasteDateChangeMobilePhone-
last_date_inserted_addressPurchaseInformationData.LastDateInsertedAddress-
purchase_loggedPurchaseInformationData.PurchaseLogged-
purchase_logged_with_facebookPurchaseInformationData.PurchaseLoggedWithFacebook-

Exemplo

Segue abaixo um exemplo de request com os parâmetros mínimos para iniciar uma transação de pagamento com análise de risco. Saiba mais sobre os parâmetros do pagamento.

{
    "merchant_id": "LOJATESTE",
    "merchant_usn": "9876",
    "order_id": "111",
    "redirect": "M",
    "authorizer_id": "",
    "amount": "1000",
    "installments": "",
    "installment_type": "",
    "style": "N",
    "store_card": "",
    "soft_descriptor": "",
    "authenticate": "0",
    "transaction_type": "payment",
    "additional_data": {
        "anti_fraud": "enabled_after_auth",
        "extra_info": "",
        "currency": "BRL",
        "item_amount": "12343",
        "total_order_amount": "13412",
        "interest": "10.3",
        "interest_value": "100",
        "items": [
            {
                "id": "1",
                "title": "bola 1",
                "quantity": "1",
                "unit_price": "50000",
                "currency": "BRL",
                "picture_url": "http://sportv.globo.com/platb/files/1103/2011/08/bola_futebol.gif",
                "category_id": "others",
                "description": "bola para jogar 1",
                "weight": "200",
                "shipping_cost": "1000"
            },
            {
                "id": "2",
                "title": "bola 2",
                "quantity": "2",
                "unit_price": "25000",
                "currency": "BRL",
                "picture_url": "http://sportv.globo.com/platb/files/1103/2011/08/bola_futebol.gif",
                "category_id": "others",
                "description": "bola para jogar 2",
                "weight": "200",
                "shipping_cost": "1000"
            }
        ],
        "payer": {
            "name": "Joaquim",
            "surname": "Severino",
            "email": "js@softexpress.com.br",
            "date_created": "2014-03-12T06:55:17.413-04:00",
            "phone_area_code": "11",
            "phone_number": "11111111",
            "identification_type": "CPF",
            "identification_number": "09719224703",
            "address_street_name": "Rua Jose Ninguem",
            "address_street_number": "11",
            "address_street_complement": "ap 12",
            "address_zip_code": "01230120",
            "born_date": "12/12/1900",
            "city": "Sao Paulo",
            "state": "SP",
            "address_country": "Brazil",
            "address_county": "Campos Eliseos"
        },
        "purchase_data": {
            "purchase_logged_with_facebook": "1",
            "purchase_logged": "1",
            "last_date_inserted_address": "2016-02-19T10:00:00",
            "last_date_change_phone": "2016-02-19T10:00:00",
            "last_date_change_password": "2016-02-19T10:00:00",
            "last_date_inserted_mail": "2016-02-19T10:00:00",
            "last_date_change_mobile_phone": "2016-02-19T10:00:00"
        },
        "billing_data": {
            "phones": [
                {
                    "number": "123123123",
                    "ddd": "11",
                    "ddi": "34",
                    "extension": "1234",
                    "type": "0"
                }
            ],
            "address": {
                "zip_code": "02932900",
                "street_number": "123",
                "street_name": "rua legal",
                "floor": "1",
                "apartment": "1200",
                "complement": "lala",
                "city": "sao paulo",
                "state": "SP",
                "country": "Brazil",
                "county": "jardim lala",
                "reference": "lalelo"
            },
            "email": "email@gmail.com",
            "birth_date": "1990-02-19T10:00:00",
            "name": "John",
            "identification_number": "48515484755",
            "cnpj_cpf": "54861548806",
            "person": "1",
            "client_id": "123",
            "gender": "M"
        },
        "shipment": {
            "id": "98765432",
            "cost": "2000",
            "type": "1",
            "name": "Joao",
            "legal_document1": "1092384",
            "receiver_address": {
                "zip_code": "12345678",
                "street_number": "Rua do Exemplo",
                "street_name": "123",
                "floor": "3",
                "apartment": "901",
                "city": "São Paulo",
                "complement": "Sobreloja 3",
                "country": "brazil",
                "district": "Jardim do Exemplo",
                "state": "SP",
                "county": "jardins"
            },
            "phones": [
                {
                    "number": "123123123",
                    "ddd": "11",
                    "ddi": "34",
                    "extension": "1234",
                    "type": "0"
                }
            ]
        }
    }
}

ATENÇÃO: As transações que ficam pendentes de pagamento podem ser confirmadas ou desfeitas por limite de tempo. Saiba mais.

O e-SiTef considera que o Payment da ClearSale possui os dados do usuário que faz a compra e o BillingData refere-se aos dados do dono do cartão. Considera também que o e-mail do pedido é o e-mail do comprador e a data do pedido é a data de criação da transação de pagamento.

Lista de Códigos de Retorno

Conforme explicado no capítulo "Retorno da análise de risco", os códigos abaixo são as respostas específicas da ClearSale.

CódigoDescriçãoReenviar
00Transação ConcluídaN
01Usuário InexistenteN
02Erro na validação do XMLS
03Erro ao transformar XMLS
04Erro InesperadoS
05Pedido já enviado ou não está em reanaliseS
06Erro no Plugin de EntradaS
07Erro no Plugin de SaídaN

CyberSource

Credenciais necessárias

Como mencionado no capítulo da "Visão Geral - Credenciais necessárias", cada instituição possui um conjunto de credenciais que devem ser obtida para a integração. Os serviços da CyberSource exigem as seguintes credenciais:

  • Merchant ID (Merchant Code) - chave do usuário do lojista no Portal da CyberSource
  • Shared Secret - Chave do lojista no Portal da CyberSource. Caso não seja informada a chave para cadastro, o e-SiTef não realizará consulta de status na CyberSource. Isso significa que se alguma análise de risco ficar pendente, a decisão cadastrada pelo lojista no Portal será ativada, confirmando ou desfazendo a transação.
  • Key ID - ID que identifica a Shared Secret.
  • Org ID - Chave utilizada coletar dados de fingerprint do browser do comprador.
  • Certificado p12 - certificado de segurança necessário para a análise dos pedidos. Este arquivo deve ter o nome do Merchant ID do lojista / integrador no sistema da CyberSource.

IMPORTANTE: As credenciais acima devem ser obtidas com a CyberSource. O lojista deve entrar em contato com a CyberSource e receber as devidas orientações de como obter cada uma dessas credenciais. Após conseguir as credenciais, o lojista deve entrar em contato com o suporte do e-SiTef e passar as credenciais para o cadastro no e-SiTef.

Para obter a Shared Secret e o Key ID siga as orientações em:

https://developer.cybersource.com/api/developer-guides/dita-gettingstarted/authentication/createSharedKey.html

Para obter o Certificado .p12, siga as orientações em:

https://support.cybersource.com/s/article/How-to-Generate-a-Simple-Order-API-Security-Key

Bandeiras permitidas

Seguem abaixo as bandeiras suportadas nas análises da CyberSource:

  • Visa
  • MasterCard
  • American Express
  • Discover
  • Diners Club
  • Carte Blanche
  • JCB
  • EnRoute
  • JAL
  • Delta
  • Dankort
  • Laser
  • Carte Bleue
  • Carta Si
  • Encoded account number
  • UATP
  • GE Money UK card
  • Style
  • Hipercard
  • Aura
  • Elo
  • Elo Débito (Auxílio Emergencial)

Aviso de cancelamento por fraude

Ao cancelar um pagamento por motivos de fraude, é possível avisar a CyberSource sobre o ocorrido e marcar como fraudulenta a transação realizada, consequentemente melhorando a análise de risco.

Atualmente, somente a interface Cancelamento REST pode enviar os dados complementares para a CyberSource. Para isso, é necessário enviar os seguintes campos:

CampoDescrição
anti_fraudObjeto com campos de anti-fraude.
chargebackInforma se o aviso para a CyberSource será realizado ou não.
Valores permitidos: true ou false
Valor default: false
marked_dataInforma quais campos serão relevantes para avisar a CyberSource que esta transação foi uma tentativa de fraude.

Este campo recebe uma lista de valores. Por exemplo: "marked_data":["ship_address","customer_phone","customer_email"].

Campos que podem ser informados:
  • account_key_hash
  • customer_account_id
  • customer_email
  • customer_idaddress
  • customer_phone
  • device_fingerprint
  • ship_address
Caso nenhum valor seja informado, os seguintes campos serão assumidos pela CyberSource: account_key_hash, customer_email e ship_address.

Exemplo:

curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/cancellations/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "card":{
      "security_code":"123",
      "number":"5555555555555555",
      "expiry_date":"1222"
   },
   "amount":"1000",
   "anti_fraud":{
      "chargeback":"true",
      "marked_data":[
         "account_key_hash",
         "customer_account_id",
         "customer_email"
      ]
   }
}
--verbose

Parâmetros antifraude da CyberSource

Abaixo segue a relação de parâmetros antifraude processados pela CyberSource. Alguns parâmetros possuem tratamentos diferenciados dependendo da instituição e a coluna de "Detalhe adicional" especifica o tratalmento especial da CyberSource. Para detalhe de cada parametro, veja a lista de parametro de antifraude

Propriedades
e-SiTef
Propriedades
CyberSource
Detalhe adicional
currencyPurchaseTotals_currency-
itemsArrays de objeto json (Saiba mais)
shipmentArray de objeto json (Saiba mais)
browserObjeto json (Saiba mais)
travelObjeto json (Saiba mais). Obrigatório se o item for passagem aérea
passengersArray de objeto json (Saiba mais)
connectionsArray de objeto json (Saiba mais)
mddArray de objeto json (Saiba mais). Os valores permitidos podem ser consultados aqui.

Objeto items

Propriedades
e-SiTef
Propriedades
CyberSource
Detalhe adicional
idItem_#_ID-
skuItem_#_ productSKUPreenchimento obrigatório
titleItem_#_ productName-
quantityItem_#_Quantity-
unit_priceItem_#_unitPrice-
category_idItem_#_productCodePode receber os seguintes valores:
  • adult_content
  • default
  • electronic_good
  • electronic_software
  • gift_certificate
  • handling_only
  • service
  • shipping_and_handling
  • shipping_only
  • stored_value
  • subscription
. Preenchimento obrigatório.

Quando o valor enviado for diferente de default, os campos item_#_quantity; item_#_productName e item_#_productSKU passam a ser obrigatórios;
tax_amountItem_#_taxAmount-

Objeto shipment

Propriedades
e-SiTef
Propriedades
CyberSource
Detalhe adicional
nameshipTo_firstName-
surnameshipTo_lastName-
addressObjeto json (Saiba mais)
phonesArrays de objeto json (Saiba mais)

Objeto address do shipment

Propriedades
e-SiTef
Propriedades
CyberSource
Detalhe adicional
street_nameshipto_street1Enviar o número e o complemento. Lembrar de colocar o AP, APTO, LOTE, CASA ou BLOCO.
street_name2shipto_street2Enviar o número e o complemento. Lembrar de colocar o AP, APTO, LOTE, CASA ou BLOCO.
street_numbershipto_street1-
apartmentSerá concatenado em shipto_street2-
complementSerá concatenado em shipto_street2-
cityshipto_city-
stateshipto_state-
countryshipto_countryEnviar a sigla no padrão ISO
zip_codeshipto_postalCode-
building_numbershipto_building_number-

Objeto phones do shipment

Propriedades
e-SiTef
Propriedades
CyberSource
Detalhe adicional
ddishipTo_phoneNumber-
dddshipTo_phoneNumber-
numbershipTo_phoneNumber-

Objeto browser

Propriedades
e-SiTef
Propriedades
CyberSource
Detalhe adicional
ip_addressbillTo_ipAddressSe este campo não for enviado, será enviado o IP do cliente

Objeto travel

Propriedades
e-SiTef
Propriedades
CyberSource
Detalhe adicional
routedecisionManager_travelData_completeRoute-
journey_typedecisionManager_travelData_journeyType-
departure_date_timedecisionManager_travelData_journeyType-

Objeto passengers

Propriedades
e-SiTef
Propriedades
CyberSource
Detalhe adicional
iditem_#_passengerId-
nameitem_#_passengerFirstNamePreencher apenas com o primeiro nome
last_nameitem_#_passengerLastNamePreenchimento obrigatório
frequente_flyer_carditem_#_passengerIDO campo billTocustomerID pode abrigar a mesma informação
emailitem_#_passengerEmailSe não único entre os passageiros, a transação será recusada pela CyberSource, com código 102.
statusitem_#_passengerStatus-
typeitem_#_passengerType-
unit_priceitem_#_unitPrice-
phonesArrays de objeto json (Saiba mais)

Objeto phones do passengers

Propriedades
e-SiTef
Propriedades
CyberSource
Detalhe adicional
ddiitem_#_passengerPhone-
ddditem_#_passengerPhone-
numberitem_#_passengerPhone-

Objeto connections

Propriedades
e-SiTef
Propriedades
CyberSource
Detalhe adicional
flight_datedecisionManager_travelData_departureDateTimeOs seguintes formatos são aceitos:
  • yyyy-MM-dd HH:mm z
  • yyyy-MM-dd hh:mm a z
  • yyyy-MM-dd hh:mma z
Sendo:
  • HH = hora em formato de 24 horas
  • hh = hora em formato de 12 horas
  • a = am ou pm (case insensitive)
  • z = timezone do vôo de partida (no caso de offset em relação a GMT, siga este formato: GMT-03:00
fromdecisionManager_travelData_leg_#_originValor deve respeitar esta os códigos de aeroporto, desta referência.
todecisionManager_travelData_leg_#_destinationValor deve respeitar esta os códigos de aeroporto, desta referência. É possível também se considerar a rota completa com o campo decisionManager_travelData_completeRoute. Se todos estes campos forem enviados, o valor de completeRoute será preponderante.
departure_datedecisionManager_travelData_departureDateTime-

Objeto mdd

Propriedades
e-SiTef
Propriedades
CyberSource
Detalhe adicional
idmerchantDefinedData_mddField_idPode variar de 1 a 100 definidos pelo comércio em acordo com a Cybersource
valuemerchantDefinedData_mddField_valueValor dos campos definidos pelo comércio em acordo com a Cybersource

Valores de mdd

Os MDD's são dados adicionais que ajudam na acertividade da análise antifraude da Cybersource e o envio deles é altamente recomendado. Existem três intervalos de ID de MDD's:

  • Entre 1 até 4, são MDD que serão preenchidos pelo próprio e-SiTef.
  • Entre 5 até 20, são MDD independentes da atividade da loja.
  • Entre 21 até 1000, são MDD dependentes da atividade da loja e o preenchimento deve seguir as orientações da Cybersource. Os valores permitidos de id e a descrição do conteúdo value são:
IDResumoDescrição
5Canal de VendaCanal de Venda do produto/serviço. Exemplo de valor: Web, App, Guichê, etc.)
6SOSistema Operacional utilizado pelo cliente final. Exemplo de valor: Android, iOS, Windows, etc.
7Versão da AplicaçãoVersão da aplicação do cliente. Exemplo de valor: 1.0.12
8Provisionado para futuros dadosProvisionado para futuros dados.
9Provisionado para futuros dadosProvisionado para futuros dados.
10Provisionado para futuros dadosProvisionado para futuros dados.
11Nome utilizado no cadastroNome registrado no cadastro (Obs: em caso de compra guest, não enviar valor)
12CPF utilizado no cadastroCPF registrado no cadastro.
13Tempo de cadastro do cliente em diasTempo de cadastro do cliente em dias. Formato: NNNNN
14Dias desde primeiro pedidoQuantidade de dias passados desde o primeiro pedido. Formato: NNNNN
15Dias desde último pedidoQuantidade de dias passados desde o último pedido. Formato: NNNNN
16Quantidade total de pedidosQuantidade total de pedidos realizados pelo CPF cadastrado. Formato: NNNNN
17Dias desde última alteração cadastralQuantidade de dias passados desde a última alteração cadastral. Formato: NNNNN
18Provisionado para futuros dadosProvisionado para futuros dados.
19Provisionado para futuros dadosProvisionado para futuros dados.
20Provisionado para futuros dadosProvisionado para futuros dados.

Exemplo

Exemplo da request de pagamento HTML com análise de risco na CyberSource:

{
   "merchant_id":"CYBERSRCPERMI2",
   "merchant_usn":"803208495",
   "order_id":"866705726000010",
   "redirect":"A",
   "style":"N",
   "amount":"100000",
   "authenticate":"0",
   "transaction_type":"payment",
   "additional_data":{
      "currency":"BRL",
      "items":[
         {
            "title":"bola 1",
            "quantity":"1",
            "unit_price":"50000",
            "category_id":"default",
            "description":"bola para jogar 1",
            "weight":"200",
            "shipping_cost":"1000",
            "id":"1",
            "sku":"1234"
         },
         {
            "title":"bola 2",
            "quantity":"2",
            "unit_price":"25000",
            "category_id":"default",
            "description":"bola para jogar 2",
            "weight":"200",
            "shipping_cost":"1000",
            "id":"2",
            "sku":"123"
         }
      ],
      "payer":{
         "name":"Joaquim",
         "surname":"Severino",
         "email":"allison@confiavel.com",
         "city":"Rio de janeiro",
         "state":"RJ",
         "date_created":"2014-03-12T06:55:17.413-04:00",
         "born_date":"12/12/1900",
         "id":"68408639307",
         "address":{
            "zip_code":"55555000",
            "street_number":"123",
            "street_name":"Rua Jaragua",
            "floor":"123",
            "apartment":"123",
            "complement":"Loja 123",
            "district":"Darada",
            "city":"rio de janeiro",
            "state":"SP",
            "country":"br",
            "county":"Jardim Tottoro",
            "reference":"Esquina das alamedas"
         },
         "phones":[
            {
               "number":"998844551",
               "ddd":"11",
               "ddi":"55"
            }
         ],
         "documents":[
            {
               "type":"cpf",
               "number":"68408639307"
            }
         ]
      },
      "shipment":{
         "type":"1",
         "cost":"2000",
         "name":"Joaquim",
         "surname":"Silva",
         "address":{
            "zip_code":"12345678",
            "street_number":"123",
            "street_name":"Rua do Exemplo",
            "building_number":"55",
            "floor":"3",
            "complement":"CASA",
            "district":"Jardim do Exemplo",
            "city":"São Paulo",
            "state":"SP",
            "country":"br",
            "county":"jardins"
         },
         "phones":[
            {
               "number":"123123123",
               "ddd":"11",
               "ddi":"34"
            }
         ],
         "anti_fraud":"enabled_after_auth",
         "passengers":[
            {
               "id":"3354688841",
               "name":"Joaquim",
               "last_name":"Severino",
               "email":"allison@confiavel.com",
               "customer_class":"standard",
               "unit_price":"100000",
               "type":"ADT",
               "phone":{
                  "number":"998844551",
                  "ddd":"11",
                  "ddi":"55"
               }
            }
         ],
         "billing_data":{
            "client_id":"68408639307",
            "person":"1",
            "gender":"M",
            "name":"Joaquim Severino",
            "birth_date":"1990-02-19T10:00:00",
            "email":"allison@confiavel.com",
            "address":{
               "zip_code":"02932900",
               "street_number":"123",
               "street_name":"rua legal",
               "floor":"1",
               "apartment":"1200",
               "complement":"lala",
               "city":"rio de janeiro",
               "state":"RJ",
               "country":"Brazil",
               "county":"jardim lala",
               "reference":"shopping",
               "phones":[
                  {
                     "number":"123123123",
                     "ddd":"11",
                     "ddi":"34"
                  }
               ]
            },
            "phones":[
               {
                  "number":"123123123",
                  "ddd":"11",
                  "ddi":"34"
               }
            ]
         },
         "browser":{
            "ip_address":"187.75.228.107"
         },
         "mdd":[
            {
               "id":"5",
               "value":"Gichê"
            },
            {
               "id":"6",
               "value":"Linux"
            }
         ],
         "travel":{
            "route":"GIG-SFO:SFO-LAX",
            "departure_date_time":"2019-12-19T09:00:00",
            "journey_type":"Round_Trip"
         }
      }
   }
}

Lista de Códigos de Retorno

Conforme explicado no capítulo "Retorno da análise de risco", os códigos abaixo são as respostas específicas da CyberSource.

CódigoDescrição
100Transação efetuada com sucesso e aprovada pelo Decision Manager
101Um ou mais dos campos requeridos está faltando na requisição
102Um ou mais dos campos requeridos contém dados inválidos
150Erro: Falha geral de sistema
151Erro: A requisição foi recebida mas ocorreu timeout. Esse erro não inclui timeout entre cliente e servidor
152Erro: A requisição foi recebida, mas um serviço não finalizou no tempo de corrida
202Cartão expirado

Konduto

Credenciais necessárias

Como mencionado no capítulo da "Visão Geral - Credenciais necessárias", cada instituição possui um conjunto de credenciais que devem ser obtida para a integração. Os serviços da Konduto exigem as seguintes credenciais:

  • Chave Privada (Identificação da Loja) - Chave Privada do cadastro da loja na Konduto.
  • Chave Pública (Merchant Code) - Chave Publica do cadastro da loja na Konduto.

IMPORTANTE: As credenciais acima devem ser obtidas com a Konduto. O lojista deve entrar em contato com a Konduto e receber as devidas orientações de como obter cada uma dessas credenciais. Após conseguir as credenciais, o lojista deve entrar em contato com o suporte do e-SiTef e passar as credenciais para o cadastro no e-SiTef.

Configuração de URL Web Hook

Para que possamos receber as atualizações de status de transações de análise de risco, é necessário realizar a configuração da URL de Webhook no ambiente de configuração da Konduto.

URL de Produção:

https://esitef-ec.softwareexpress.com.br/e-sitef/processarPost.se?src=konduto

URL de Homologação:

https://esitef-homologacao.softwareexpress.com.br/e-sitef/processarPost.se?src=konduto

Essa URL deve ser configurada para qualquer troca de status. Para realizar essa configuração, por favor entre em contato com o Suporte da Konduto.

Bandeiras permitidas

A Konduto suporta qualquer bandeira de cartão.

IMPORTANTE: Apenas as transações de crédito serão efetivamente analisadas pela Konduto. Transações de débito serão enviadas para a instituição, porém serão apenas armazenadas para relatório e não serão analisadas.

Funcionalidades suportadas

  • Link de Pagamento via Portal
  • Link de Pagamento via HTML
  • Pagamento REST
  • Pré-Autorização REST

Parâmetros antifraude da Konduto (Link de Pagamento via HTML)

Por enquanto, os dados coletados para a análise de risco serão apenas os informados durante o checkout do comprador. Em breve novos campos poderão ser enviados na requisição de criação do pagamento.

Campos coletados durante o Checkout

Os campos coletados durante o checkout são:

CampoDescrição do campoObrigatório
Primeiro Nome do CompradorPrimeiro nome do cliente que está realizando a compra.Sim
Sobrenome do CompradorSobrenome do cliente que está realizando a compra.Sim
CPF do CompradorCPF do cliente que está realizando a compra.Sim
TelefoneTelefone do cliente que está realizando a compra.Sim
E-mailE-mail do clinte que está realizando a compra.Sim
Nome (como está no cartão)Nome que está impresso no cartão utilizado para a compra.Sim
Endereco completoEndereço completo para cobrança.Sim
ComplementoComplemento do endereço de cobrança.Não
CEPCEP do endereço de cobrança.Sim
PaísPaís do endereco de cobrança.Sim
EstadoEstado do endereço de cobrança.Sim
CidadeCidade do endereço de cobrança.Sim

Exemplo

Exemplo da requisição de pagamento HTML com análise de risco na Konduto:

{
   "merchant_id":"KONDUTOTESTE",
   "merchant_usn":"803208495",
   "order_id":"866705726000010",
   "redirect":"A",
   "style":"N",
   "amount":"100000",
   "authenticate":"0",
   "transaction_type":"payment",
   "payment_link":"true",
   "additional_data":{
      "currency":"BRL",
      "anti_fraud":"enabled_after_auth"
   }
}

Antifraude Konduto no Link de Pagamento via Portal

Para habilitar a antifraude Konduto para Links de Pagamento gerados pelo Portal do Lojista, entre em contato com o suporte do e-SiTef.

Antifraude Konduto via REST

Após realizar o alinhamento cadastral com o suporte do e-SiTef para habilitar a integração com o serviço de anti-fraude, na inicialização de uma transação Pagamento REST (saiba mais) ou Pré Autorização REST (saiba mais) o lojista deve enviar a propriedade anti_fraud e enviar os devidos parâmetros de anti-fraude (depende da instituição que a sua loja foi configurada), sendo que as duas propriedades devem estar no escopo do objeto additional_data.

O campo anti_fraud determina o modo de aplicação da anti-fraude e pode conter os seguintes valores:

  • enabled_before_auth - A análise antifraude será realizada ANTES da autorização do pagamento. Caso a análise seja rejeitada, o pagamento não será iniciado. No caso da pré autorização com roteamentos não-SiTef, caso a análise de risco fique como análise manual, o e-SiTef deixa a transação no estado PPC (Pagamento Pendente de Confirmação) e fica no aguardo de uma conclusão da análise manual.
  • enabled_after_auth - A análise antifraude será realizada APÓS a autorização do pagamento. Caso a análise seja rejeitada, o pagamento que já foi autorizado será cancelado. No caso da pré autorização com roteamentos não-SiTef, o e-SiTef deixa a transação no estado PPC (Pagamento Pendente de Confirmação) e fica no aguardo de uma conclusão da análise manual.

Parâmetros antifraude da Konduto

Abaixo segue a relação de parâmetros antifraude processados pela Konduto.

ParâmetroDescriçãoObrigatórioFormato
additional_data Dados adicionais da transação
visitor_idIdentificador do visitante obtido no JavaScript da KondutoNÃO< 40 AN
additional_data
.items[]
Informações relativas aos itens da compra
unit_pricePreço unitário do item em centavosNÃO< 10 N
skuCódigo de produto do itemNÃO< 100 AN
quantityQuantidade de itensNÃO< 10 N
idIdentificação única do item que pode ser o código de barras ou UPC do produto.NÃO< 100 AN
titleNome do produto ou serviçoNÃO< 100 AN
discount_amountValor de desconto do produto em centavosNÃO< 10 N
descriptionDescrição do produtoNÃO< 100 AN
creation_dateIndica a data de publicação do produto no site da loja (Formato: DD/MM/AAAA)NÃO= 10 AN
additional_data
.payer
Informações relativas ao comprador
idIdentificador único do cliente. Pode ser qualquer valor (sequencial, documento, e-mail) desde que seja consistente em pedidos futuros.SIM< 100 AN
nameNome do clienteSIM< 100 AN
surnameSobrenome do clienteSIM< 100 AN
emailEndereço de e-mail do clienteSIM< 100 AN
born_dateData de nascimento do cliente (formato : AAAA-MM-DDTHH:MM:SS)NÃO= 19 AN
identification_numberNúmero de documento fiscal do clienteNÃO< 100 AN
creation_dateData de criação da conta ou cadastro do cliente no site (formato: DD/MM/AAAA )NÃO= 10 AN
is_new_clientBoolean indicando se o cliente está usando uma conta recém-criada nesta compraNÃO< 5 T/F
is_vip_clientBoolean indicando se este é um cliente VIP ou comprador frequente.NÃO< 5 T/F
additional_data
.payer
.phones[]
Informações relativas ao telefone do comprador
ddiDDI do telefone do clienteNÃO< 100 AN
dddDDD do telefone do clienteNÃO< 100 AN
numberNúmero de telefone do clienteNÃO< 100 AN
additional_data
.billing_data
.address
Informações relativas à fatura
street_nameRua da fatura do cliente com o bancoNÃO< 255 AN
street_numberNúmero da rua da fatura do cliente com o bancoNÃO< 255 AN
complementComplemento do endereço de fatura.NÃO< 100 AN
cityCidade do titularNÃO< 100 AN
stateEstado do titularNÃO< 100 AN
zip_codeCEP do titularNÃO< 100 A N
countryCódigo do país do titular, seguindo a ISO 3166-1 alfa-3NÃO= 3 AN
additional_data
.shipment
Informações relativas à entrega
nameNome do destinatárioNÃO< 100 AN
surnameSobrenome do destinatárioNÃO< 100 AN
additional_data
.shipment
.address
Informações relativas ao endereço de entrega
street_nameNome da rua do destinatárioNÃO< 255 AN
street_numberNúmero da rua do destinatárioNÃO< 255 AN
complementComplemento do endereço do destinatário.NÃO< 255 AN
cityCidade do destinatárioNÃO< 100 AN
stateEstado do destinatárioNÃO< 100 AN
zip_codeCEP do destinatárioNÃO< 100 AN
countryCódigo do país do destinatário, seguindo a ISO 3166-1 alfa-3NÃO= 3 AN
additional_data
.travel
Informações relativas à passagem aérea
transport_typeTipo de viagem (flight ou bus)SIM< 6 AN
expiration_dateData de expiração (formato: DD/MM/AAAA )NÃO= 10 AN
additional_data
.connections[]
Informações relativas às conexões de viagem
journey_type
  • OUTWARD - para ida
  • RETURN - para volta
SIM< 7 AN
origin_cityCidade de origem.SIM, se transport_type=bus< 100 AN
destination_cityCidade de destino.SIM, se transport_type=bus< 100 AN
fromCódigo aeroportuário IATA para o aeroporto de origemSIM, se transport_type=flight= 3 AN
toCódigo aeroportuário IATA para o aeroporto de destino.SIM, se transport_type=flight= 3 AN
departure_dateDate e hora do embarque (formato: AAAA-MM-DDTHH:MM:SS)SIM< 17 AN
classNome da classe (Ex: economy, business e first)NÃO< 8 AN
class_codeCódigo da classeNÃO< 20 AN
companyNome da cia aéreaNÃO< 20 AN
additional_data
.passengers[]
Informações relativas aos passageiros
namePrimeiro nome do passageiroSIM< 100 AN
last_nameSobrenome do passageiroSIM< 100 AN
legal_documentNúmero do documentoSIM< 100 AN
legal_document_typeTipo do documento (5 = passport, qualquer outro número = id)SIM< 8 AN
birth_dateData de nascimento do passageiro (formato: AAAA-MM-DDTHH:MM:SS)NÃO< 17 AN
nationalityPaís de nascimento do passageiro, seguindo a ISO 3166-1 alfa-3NÃO= 3 AN
is_frequent_travelerFlag de viajante frequenteNÃO< 5 T/F
is_with_special_needsFlag de viajante com necessidades especiaisNÃO< 5 T/F
frequent_flyer_cardTipo de programa de fidelidadeNÃO< 255 AN
customer_classCategoria do programa de fidelidadeNÃO< 255 AN
additional_data
.hotel_reservations[]
Informações relativas à reserva de hotel
hotelNome do hotelSIM< 100 AN
categoryCategoria do hotelNÃO< 100 AN
additional_data
.hotel_reservations[]
.address
Informações relativas ao endereço do hotel
street_nameRua do hotelNÃO< 255 AN
street_numberNúmero do hotelNÃO< 255 AN
complementComplemento do endereço hotel.NÃO< 100 AN
cityCidade do hotelNÃO< 100 AN
stateSigla do estado do hotelNÃO< 100 AN
zip_codeCEP do hotelNÃO< 100 AN
countryPaís do hotel, seguindo a ISO 3166-1 alfa-3.NÃO= 3 AN
additional_data
.hotel_reservations[]
.rooms[]
Informações relativas a quartos do hotel
numberNúmero do quartoNÃO< 100 AN
codeCódigo do quartoNÃO< 100 AN
typeTipo do quartoNÃO< 100 AN
check_in_dateDate e hora do entrada (formato: AAAA-MM-DDTHH:MM:SS)SIM< 17 AN
check_out_dateDate e hora de saída (formato: AAAA-MM-DDTHH:MM:SS)NÃO< 17 AN
number_of_guestsNúmero de pessoasNÃO< 9999 N
board_basisRegime de alimentaçãoNÃO< 100 AN
additional_data
.hotel_reservations[]
.rooms[]
.guests[]
Informações relativas a hóspedes do quarto
nameNome do hóspedeSIM< 100 AN
documentNúmero do documento do hóspedeNÃO< 8 AN
document_typeDocumento usado pelo cliente:
  • cpf
  • rg
  • passport
  • id
  • other
NÃO< 8 AN
birth_dateData de nascimento do cliente (formato: AAAA-MM-DDTHH:MM:SS)NÃO< 17 AN
nationalityNacionalidade do hóspede, seguindo a ISO 3166-1 alfa-3.NÃO= 3 AN
additional_data
.events[]
Informações relativas a dados de um evento
nameNome do eventoSIM< 255 AN
dateDate e hora do evento em UTC (formato AAAA-MM-DDTHH:MM:SS)SIM< 17 AN
typeTipo do evento:
  • show
  • theater
  • movies
  • party
  • festival
  • course
  • sports
  • corporate
SIM< 9 AN
subtypeDetalhe do tipo do eventoNÃO< 255 AN
additional_data
.events[]
.venue
Informações relativas a dados de local de um evento
nameNome do localNÃO< 255 AN
street_nameNome da ruaNÃO< 255 AN
street_numberNúmero da ruaNÃO< 255 AN
cityCidade do localNÃO< 255 AN
stateEstado do localNÃO< 255 AN
countryPais do local, seguindo a ISO 3166-1 alfa-3.NÃO= 3 AN
capacityCapacidade do localNÃO< 255 AN
additional_data
.events[]
.tickets[]
Informações relativas aos ingressos de um evento
idIdentificador único do ticket.NÃO< 255 AN
categoryCategoria do ticket:
  • student
  • senior
  • government
  • social
  • regular
SIM< 10 AN
sectionSeção do ticketNÃO< 255 AN
premiumIndicador de ticket premiumNÃO< 5 T/F
additional_data
.events[]
.tickets[]
.atendee
Informações relativas ao participante do evento
nameNome do participanteNÃO< 255 AN
documentDocumento do participanteSIM< 100 AN
document_typeTipo de documento do participante:
  • cpf
  • cnpj
  • rg
  • passport
  • other
NÃO< 100 AN
birth_dateData de nascimento do participante (formato: AAAA-MM-DDTHH:MM:SS)NÃO< 17 AN

Exemplo

Exemplo da requisição de criação pagamento REST com análise de risco na Konduto:

{
   "merchant_usn":"2423423434",
   "order_id":"2432342343",
   "installments":"1",
   "installment_type":"4",
   "authorizer_id":"2",
   "amount":"1300",
   "additional_data":{
      "anti_fraud":"enabled_before_auth",
      "visitor_id":"XKhas09jcks",
      "items":[
         {
            "title":"title1",
            "quantity":"1",
            "unit_price":"1111",
            "description":"description1",
            "id":"id1",
            "discount_amount":"111",
            "sku":"sku1",
            "creation_date":"11/01/2011"
         }
      ],
      "payer":{
         "name":"Marcos",
         "surname":"da Silva",
         "email":"marocs@dasilva.com",
         "born_date":"1990-01-01T11:11:11",
         "creation_date":"02/03/2004",
         "is_new_client":"true",
         "is_vip_client":"true",
         "phones":[
            {
               "number":"333333333",
               "ddd":"22",
               "ddi":"11"
            },
            {
               "number":"666666666",
               "ddd":"55",
               "ddi":"44"
            }
         ],
         "identification_number":"47764543004"
      },
      "shipment":{
         "name":"Fernando",
         "surname":"Bezerra",
         "address":{
            "zip_code":"98764312",
            "street_number":"987",
            "street_name":"Rua Shipment",
            "complement":"ap. 587",
            "city":"São Shipment",
            "state":"MA",
            "country":"BRA"
         }
      },
      "passengers":[
         {
            "name":"Miguel",
            "last_name":"Herrera",
            "frequent_flyer_card":"frequentFlyerCard",
            "legal_document_type":"1",
            "legal_document":"12312312312",
            "birth_date":"1980-07-28T10:40:00",
            "customer_class":"customerClass",
            "nationality":"BRA",
            "is_frequent_traveler":"true",
            "is_with_special_needs":"true"
         }
      ],
      "connections":[
         {
            "company":"Verde",
            "class":"first",
            "from":"GRU",
            "to":"CGH",
            "departure_date":"2023-09-07T07:09:00",
            "journey_type":"OUTWARD",
            "origin_city":"San Juan",
            "destination_city":"Homero Lopez",
            "class_code":"VIP"
         },
         {
            "company":"Rosa",
            "class":"economy",
            "from":"BSB",
            "to":"VCP",
            "departure_date":"2022-10-21T16:39:00",
            "journey_type":"RETURN",
            "origin_city":"San Pablo",
            "destination_city":"Juanito Cruz",
            "class_code":"ECONOMY"
         }
      ],
      "hotel_reservations":[
         {
            "hotel":"Hotel Green Tree",
            "address":{
               "zip_code":"83392019",
               "street_number":"529",
               "street_name":"Rua Hoteleira",
               "complement":"ap. 019",
               "city":"San Hotel",
               "state":"AC",
               "country":"EN"
            },
            "rooms":[
               {
                  "number":"902",
                  "code":"ROOM902",
                  "type":"King Size",
                  "check_in_date":"2020-01-09T12:30:00",
                  "check_out_date":"2020-01-19T13:00:00",
                  "number_of_guests":"1",
                  "board_basis":"Vegan",
                  "guests":[
                     {
                        "name":"José Aníbal",
                        "document":"98798798712",
                        "document_type":"cpf",
                        "birth_date":"12/03/1970",
                        "nationality":"BRA"
                     }
                  ]
               }
            ],
            "category":"categoryhotel"
         }
      ],
      "billing_data":{
         "address":{
            "zip_code":"12341234",
            "street_number":"666",
            "street_name":"Rua Billing",
            "complement":"ap. 2369",
            "city":"São Billing",
            "state":"AM",
            "country":"BRA"
         }
      },
      "travel":{
         "transport_type":"flight",
         "expiration_date":"2022-02-14T01:30:00"
      },
      "discount_info":"Informações de desconto",
      "events":[
         {
            "name":"Evento de Rock",
            "date":"2021-11-22T09:28:00",
            "type":"show",
            "subtype":"music",
            "venue":{
               "name":"Debicard Hall",
               "street_name":"Rua do Evento",
               "street_number":"928",
               "city":"Jardinópolis",
               "state":"MS",
               "country":"DO",
               "capacity":"300"
            },
            "tickets":[
               {
                  "id":"12h374612h4h",
                  "category":"social",
                  "section":"Seção 1",
                  "premium":"true",
                  "attendee":{
                     "name":"Daniel Almeida",
                     "document":"71728293945",
                     "document_type":"other",
                     "birth_date":"03/10/1990"
                  }
               }
            ]
         }
      ]
   }
}

Fraud Detect

Credenciais necessárias

Como mencionado no capítulo da "Visão Geral - Credenciais necessárias", cada instituição possui um conjunto de credenciais que devem ser obtida para a integração. Os serviços do Fraud Detect exigem as seguintes credenciais:

  • Chave Privada (Identificação da Loja) - Chave Privada do cadastro da loja no Fraud Detect.
  • Chave Pública (Merchant Code) - Chave Publica do cadastro da loja no Fraud Detect.

IMPORTANTE: As credenciais acima devem ser obtidas com o Fraud Detect. O lojista deve entrar em contato com o Fraud Detect e receber as devidas orientações de como obter cada uma dessas credenciais. Após conseguir as credenciais, o lojista deve entrar em contato com o suporte do e-SiTef e passar as credenciais para o cadastro no e-SiTef.

Configuração de URL Web Hook

Para que possamos receber as atualizações de status de transações de análise de risco, é necessário realizar a configuração da URL de Webhook no ambiente de configuração do Fraud Detect.

URL de Produção:

https://esitef-ec.softwareexpress.com.br/e-sitef/processarPost.se?src=fraud_detect

URL de Homologação:

https://esitef-homologacao.softwareexpress.com.br/e-sitef/processarPost.se?src=fraud_detect

Essa URL deve ser configurada para qualquer troca de status. Para realizar essa configuração, por favor entre em contato com o Suporte do Fraud Detect.

Bandeiras permitidas

O Fraud Detect suporta qualquer bandeira de cartão.

IMPORTANTE: Apenas as transações de crédito serão efetivamente analisadas pelo Fraud Detect. Transações de débito serão enviadas para a instituição, porém serão apenas armazenadas para relatório e não serão analisadas.

Funcionalidades suportadas

  • Link de Pagamento via Portal
  • Link de Pagamento via HTML
  • Pagamento REST
  • Pré-Autorização REST

Parâmetros antifraude do Fraud Detect (Link de Pagamento via HTML)

Por enquanto, os dados coletados para a análise de risco serão apenas os informados durante o checkout do comprador. Em breve novos campos poderão ser enviados na requisição de criação do pagamento.

Campos coletados durante o Checkout

Os campos coletados durante o checkout são:

CampoDescrição do campoObrigatório
Primeiro Nome do CompradorPrimeiro nome do cliente que está realizando a compra.Sim
Sobrenome do CompradorSobrenome do cliente que está realizando a compra.Sim
CPF do CompradorCPF do cliente que está realizando a compra.Sim
TelefoneTelefone do cliente que está realizando a compra.Sim
E-mailE-mail do clinte que está realizando a compra.Sim
Nome (como está no cartão)Nome que está impresso no cartão utilizado para a compra.Sim
Endereco completoEndereço completo para cobrança.Sim
ComplementoComplemento do endereço de cobrança.Não
CEPCEP do endereço de cobrança.Sim
PaísPaís do endereco de cobrança.Sim
EstadoEstado do endereço de cobrança.Sim
CidadeCidade do endereço de cobrança.Sim

Exemplo

Exemplo da requisição de pagamento HTML com análise de risco no Fraud Detect:

{
   "merchant_id":"FRAUDDETECT",
   "merchant_usn":"803208495",
   "order_id":"866705726000010",
   "redirect":"A",
   "style":"N",
   "amount":"100000",
   "authenticate":"0",
   "transaction_type":"payment",
   "payment_link":"true",
   "additional_data":{
      "currency":"BRL",
      "anti_fraud":"enabled_after_auth"
   }
}

Antifraude Fraud Detect no Link de Pagamento via Portal

Para habilitar a antifraude Fraud Detect para Links de Pagamento gerados pelo Portal do Lojista, entre em contato com o suporte do e-SiTef.

Antifraude Fraud Detect via REST

Após realizar o alinhamento cadastral com o suporte do e-SiTef para habilitar a integração com o serviço de anti-fraude, na inicialização de uma transação Pagamento REST (saiba mais) ou Pré Autorização REST (saiba mais) o lojista deve enviar a propriedade anti_fraud e enviar os devidos parâmetros de anti-fraude (depende da instituição que a sua loja foi configurada), sendo que as duas propriedades devem estar no escopo do objeto additional_data.

O campo anti_fraud determina o modo de aplicação da anti-fraude e pode conter os seguintes valores:

  • enabled_before_auth - A análise antifraude será realizada ANTES da autorização do pagamento. Caso a análise seja rejeitada, o pagamento não será iniciado. No caso da pré autorização com roteamentos não-SiTef, caso a análise de risco fique como análise manual, a transação de pré será confirmada, cabendo ao Lojista a posterior captura ou cancelamento da pré autorização.
  • enabled_after_auth - A análise antifraude será realizada APÓS a autorização do pagamento. Caso a análise seja rejeitada, o pagamento que já foi autorizado será cancelado. No caso da pré autorização com roteamentos não-SiTef a transação sempre será confirmada, cabendo ao Lojista a posterior captura ou cancelamento da pré autorização.

Parâmetros antifraude do Fraud Detect

Abaixo segue a relação de parâmetros antifraude processados pelo Fraud Detect.

ParâmetroDescriçãoFormatoObrigatório
additional_data Dados adicionais da transação.
visitor_idIdentificador do visitante obtido no JavaScript do Fraud Detect< 40 ANNÃO
additional_data
.items[]
Informações relativas aos itens da compra
unit_pricePreço unitário do item em centavosNÃO< 10 N
skuCódigo de produto do itemNÃO< 100 AN
quantityQuantidade de itensNÃO< 10 N
idIdentificação única do item que pode ser o código de barras ou UPC do produto.NÃO< 100 AN
titleNome do produto ou serviçoNÃO< 100 AN
discount_amountValor de desconto do produto em centavosNÃO< 10 N
descriptionDescrição do produtoNÃO< 100 AN
creation_dateIndica a data de publicação do produto no site da loja (Formato: DD/MM/AAAA)NÃO= 10 AN
additional_data
.payer
Informações relativas ao comprador
idIdentificador único do cliente. Pode ser qualquer valor (sequencial, documento, e-mail) desde que seja consistente em pedidos futuros.SIM< 100 AN
nameNome do cliente.SIM< 100 AN
surnameSobrenome do cliente.SIM< 100 AN
emailEndereço de e-mail do cliente.SIM< 100 AN
born_dateData de nascimento do cliente (formato : AAAA-MM-DDTHH:MM:SS)NÃO= 19 AN
identification_numberNúmero de documento fiscal do clienteNÃO< 100 AN
creation_dateData de criação da conta ou cadastro do cliente no site (formato: DD/MM/AAAA )NÃO= 10 AN
is_new_clientBoolean indicando se o cliente está usando uma conta recém-criada nesta compra.NÃO< 5 T/F
is_vip_clientBoolean indicando se este é um cliente VIP ou comprador frequente.NÃO< 5 T/F
additional_data
.payer
.phones[]
Informações relativas ao telefone do comprador
ddiDDI do telefone do clienteNÃO< 100 AN
dddDDD do telefone do cliente.NÃO< 100 AN
numberNúmero de telefone do cliente.NÃO< 100 AN
additional_data
.billing_data
.address
Informações relativas à fatura
street_nameRua da fatura do cliente com o banco.NÃO< 255 AN
street_numberNúmero da rua da fatura do cliente com o banco.NÃO< 255 AN
complementComplemento do endereço de fatura.NÃO< 100 AN
cityCidade do titular.NÃO< 100 AN
stateEstado do titular.NÃO< 100 AN
zip_codeCEP do titular.NÃO< 100 A N
countryCódigo do país do titular, seguindo a ISO 3166-1 alfa-3.NÃO= 3 AN
additional_data
.shipment
Informações relativas à entrega
nameNome do destinatário.NÃO< 100 AN
surnameSobrenome do destinatário.NÃO< 100 AN
additional_data
.shipment
.address
Informações relativas ao endereço de entrega
street_nameNome da rua do destinatário.NÃO< 255 AN
street_numberNúmero da rua do destinatário.NÃO< 255 AN
complementComplemento do endereço do destinatário.NÃO< 255 AN
cityCidade do destinatário.NÃO< 100 AN
stateEstado do destinatário.NÃO< 100 AN
zip_codeCEP do destinatário.NÃO< 100 AN
countryCódigo do país do destinatário, seguindo a ISO 3166-1 alfa-3.NÃO= 3 AN
additional_data
.travel
Informações relativas à passagem aérea
transport_typeTipo de viagem. (flight ou bus)SIM< 6 AN
expiration_dateData de expiração. (formato: DD/MM/AAAA )NÃO= 10 AN
additional_data
.connections[]
Informações relativas às conexões de viagem
journey_type
  • OUTWARD - para ida
  • RETURN - para volta
SIM< 7 AN
origin_cityCidade de origem.SIM, se transport_type=bus< 100 AN
destination_cityCidade de destino.SIM, se transport_type=bus< 100 AN
fromCódigo aeroportuário IATA para o aeroporto de origemSIM, se transport_type=flight= 3 AN
toCódigo aeroportuário IATA para o aeroporto de destino.SIM, se transport_type=flight= 3 AN
departure_dateDate e hora do embarque (formato: AAAA-MM-DDTHH:MM:SS)SIM< 17 AN
classNome da classe (Ex: economy, business e first)NÃO< 8 AN
class_codeCódigo da classe.NÃO< 20 AN
companyNome da cia aérea.NÃO< 20 AN
additional_data
.passengers[]
Informações relativas aos passageiros
namePrimeiro nome do passageiroSIM< 100 AN
last_nameSobrenome do passageiroSIM< 100 AN
legal_documentNúmero do documento.SIM< 100 AN
legal_document_typeTipo do documento (5 = passport, qualquer outro número = id)SIM< 8 AN
birth_dateData de nascimento do passageiro (formato: AAAA-MM-DDTHH:MM:SS)NÃO< 17 AN
nationalityPaís de nascimento do passageiro, seguindo a ISO 3166-1 alfa-3.NÃO= 3 AN
is_frequent_travelerFlag de viajante frequenteNÃO< 5 T/F
is_with_special_needsFlag de viajante com necessidades especiaisNÃO< 5 T/F
frequent_flyer_cardTipo de programa de fidelidadeNÃO< 255 AN
customer_classCategoria do programa de fidelidade.NÃO< 255 AN
additional_data
.hotel_reservations[]
Informações relativas à reserva de hotel
hotelNome do hotel.SIM< 100 AN
categoryCategoria do hotel.NÃO< 100 AN
additional_data
.hotel_reservations[]
.address
Informações relativas ao endereço do hotel
street_nameRua do hotel.NÃO< 255 AN
street_numberNúmero do hotel.NÃO< 255 AN
complementComplemento do endereço hotel.NÃO< 100 AN
cityCidade do hotel.NÃO< 100 AN
stateSigla do estado do hotel.NÃO< 100 AN
zip_codeCEP do hotel.NÃO< 100 AN
countryPaís do hotel, seguindo a ISO 3166-1 alfa-3.NÃO= 3 AN
additional_data
.hotel_reservations[]
.rooms[]
Informações relativas a quartos do hotel
numberNúmero do quarto.NÃO< 100 AN
codeCódigo do quartoNÃO< 100 AN
typeTipo do quarto.NÃO< 100 AN
check_in_dateDate e hora do entrada (formato: AAAA-MM-DDTHH:MM:SS)SIM< 17 AN
check_out_dateDate e hora de saída (formato: AAAA-MM-DDTHH:MM:SS)NÃO< 17 AN
number_of_guestsNúmero de pessoas.NÃO< 9999 N
board_basisRegime de alimentação.NÃO< 100 AN
additional_data
.hotel_reservations[]
.rooms[]
.guests[]
Informações relativas a hóspedes do quarto
nameNome do hóspede.SIM< 100 AN
documentNúmero do documento do hóspede.NÃO< 8 AN
document_typeDocumento usado pelo cliente:
  • cpf
  • rg
  • passport
  • id
  • other
NÃO< 8 AN
birth_dateData de nascimento do cliente (formato: AAAA-MM-DDTHH:MM:SS)NÃO< 17 AN
nationalityNacionalidade do hóspede, seguindo a ISO 3166-1 alfa-3.NÃO= 3 AN
additional_data
.events[]
Informações relativas a dados de um evento
nameNome do evento.SIM< 255 AN
dateDate e hora do evento em UTC (formato AAAA-MM-DDTHH:MM:SS)SIM< 17 AN
typeTipo do evento:
  • show
  • theater
  • movies
  • party
  • festival
  • course
  • sports
  • corporate
SIM< 9 AN
subtypeDetalhe do tipo do evento.NÃO< 255 AN
additional_data
.events[]
.venue
Informações relativas a dados de local de um evento
nameNome do localNÃO< 255 AN
street_nameNome da ruaNÃO< 255 AN
street_numberNúmero da ruaNÃO< 255 AN
cityCidade do localNÃO< 255 AN
stateEstado do localNÃO< 255 AN
countryPais do local, seguindo a ISO 3166-1 alfa-3.NÃO= 3 AN
capacityCapacidade do localNÃO< 255 AN
additional_data
.events[]
.tickets[]
Informações relativas aos ingressos de um evento
idIdentificador único do ticket.NÃO< 255 AN
categoryCategoria do ticket:
  • student
  • senior
  • government
  • social
  • regular
SIM< 10 AN
sectionSeção do ticket.NÃO< 255 AN
premiumIndicador de ticket premiumNÃO< 5 T/F
additional_data
.events[]
.tickets[]
.atendee
Informações relativas ao participante do evento
nameNome do participante.NÃO< 255 AN
documentDocumento do participante.SIM< 100 AN
document_typeTipo de documento do participante:
  • cpf
  • cnpj
  • rg
  • passport
  • other
NÃO< 100 AN
birth_dateData de nascimento do participante (formato: AAAA-MM-DDTHH:MM:SS)NÃO< 17 AN

Exemplo

Exemplo da requisição de criação pagamento REST com análise de risco no Fraud Detect:

{
   "merchant_usn":"2423423434",
   "order_id":"2432342343",
   "installments":"1",
   "installment_type":"4",
   "authorizer_id":"2",
   "amount":"1300",
   "additional_data":{
      "anti_fraud":"enabled_before_auth",
      "visitor_id":"XKhas09jcks",
      "items":[
         {
            "title":"title1",
            "quantity":"1",
            "unit_price":"1111",
            "description":"description1",
            "id":"id1",
            "discount_amount":"111",
            "sku":"sku1",
            "creation_date":"11/01/2011"
         }
      ],
      "payer":{
         "name":"Marcos",
         "surname":"da Silva",
         "email":"marocs@dasilva.com",
         "born_date":"1990-01-01T11:11:11",
         "creation_date":"02/03/2004",
         "is_new_client":"true",
         "is_vip_client":"true",
         "phones":[
            {
               "number":"333333333",
               "ddd":"22",
               "ddi":"11"
            },
            {
               "number":"666666666",
               "ddd":"55",
               "ddi":"44"
            }
         ],
         "identification_number":"47764543004"
      },
      "shipment":{
         "name":"Fernando",
         "surname":"Bezerra",
         "address":{
            "zip_code":"98764312",
            "street_number":"987",
            "street_name":"Rua Shipment",
            "complement":"ap. 587",
            "city":"São Shipment",
            "state":"MA",
            "country":"BRA"
         }
      },
      "passengers":[
         {
            "name":"Miguel",
            "last_name":"Herrera",
            "frequent_flyer_card":"frequentFlyerCard",
            "legal_document_type":"1",
            "legal_document":"12312312312",
            "birth_date":"1980-07-28T10:40:00",
            "customer_class":"customerClass",
            "nationality":"BRA",
            "is_frequent_traveler":"true",
            "is_with_special_needs":"true"
         }
      ],
      "connections":[
         {
            "company":"Verde",
            "class":"first",
            "from":"GRU",
            "to":"CGH",
            "departure_date":"2023-09-07T07:09:00",
            "journey_type":"OUTWARD",
            "origin_city":"San Juan",
            "destination_city":"Homero Lopez",
            "class_code":"VIP"
         },
         {
            "company":"Rosa",
            "class":"economy",
            "from":"BSB",
            "to":"VCP",
            "departure_date":"2022-10-21T16:39:00",
            "journey_type":"RETURN",
            "origin_city":"San Pablo",
            "destination_city":"Juanito Cruz",
            "class_code":"ECONOMY"
         }
      ],
      "hotel_reservations":[
         {
            "hotel":"Hotel Green Tree",
            "address":{
               "zip_code":"83392019",
               "street_number":"529",
               "street_name":"Rua Hoteleira",
               "complement":"ap. 019",
               "city":"San Hotel",
               "state":"AC",
               "country":"EN"
            },
            "rooms":[
               {
                  "number":"902",
                  "code":"ROOM902",
                  "type":"King Size",
                  "check_in_date":"2020-01-09T12:30:00",
                  "check_out_date":"2020-01-19T13:00:00",
                  "number_of_guests":"1",
                  "board_basis":"Vegan",
                  "guests":[
                     {
                        "name":"José Aníbal",
                        "document":"98798798712",
                        "document_type":"cpf",
                        "birth_date":"12/03/1970",
                        "nationality":"BRA"
                     }
                  ]
               }
            ],
            "category":"categoryhotel"
         }
      ],
      "billing_data":{
         "address":{
            "zip_code":"12341234",
            "street_number":"666",
            "street_name":"Rua Billing",
            "complement":"ap. 2369",
            "city":"São Billing",
            "state":"AM",
            "country":"BRA"
         }
      },
      "travel":{
         "transport_type":"flight",
         "expiration_date":"2022-02-14T01:30:00"
      },
      "discount_info":"Informações de desconto",
      "events":[
         {
            "name":"Evento de Rock",
            "date":"2021-11-22T09:28:00",
            "type":"show",
            "subtype":"music",
            "venue":{
               "name":"Debicard Hall",
               "street_name":"Rua do Evento",
               "street_number":"928",
               "city":"Jardinópolis",
               "state":"MS",
               "country":"DO",
               "capacity":"300"
            },
            "tickets":[
               {
                  "id":"12h374612h4h",
                  "category":"social",
                  "section":"Seção 1",
                  "premium":"true",
                  "attendee":{
                     "name":"Daniel Almeida",
                     "document":"71728293945",
                     "document_type":"other",
                     "birth_date":"03/10/1990"
                  }
               }
            ]
         }
      ]
   }
}

Autorizadoras

O e-SiTef possui o conceito de Autorizadora, que pode representar uma bandeira de cartão, um serviço de pagamento bancário online ou algum outro meio de pagamento online. Exemplos: Visa, Mastercard, American Express, Itaú Shopline, PayPal, PagSeguro, etc.

Troca de Autorizadora

O e-SiTef permite que o lojista configure o meio de pagamento responsável por autorizar as transações de uma determinada bandeira. Por exemplo, um lojista pode preferir que as transações com cartões Visa sejam roteadas pela Cielo enquanto que os cartões Mastercard sejam roteados pela Rede.

Esta flexibilidade para configuração do roteamento dá à loja a possibilidade de tratar promoções de acordo com a bandeira do cartão.

Pensando em como evitar que um usuário selecione a bandeira Visa, mas acabe informando o número de um cartão Mastercard o e-SiTef disponibiliza um mecanismo de verificação e troca da Autorizadora que responderá pela autorização da transação.

Quando for detectado que o comprador selecionou uma bandeira, mas informou um cartão de outra, o lojista pode optar por três ações a serem tomadas pelo e-SiTef:

  • Não trocar a autorizadora

    O e-SiTef não toma nenhuma ação, seguindo normalmente com o processo de pagamento. Esta é a opção padrão adotada pelo e-SiTef para as lojas que nada informarem quanto à troca de Autorizadoras durante o pagamento.

  • Trocar a autorizadora

    O e-SiTef segue com o processo de pagamento, mas faz a correção (para efeitos informativos) da Autorizadora responsável pelo cartão usado.

  • Bloquear transações com troca de autorizadora

    O e-SiTef nega a transação de pagamento quando o cartão informado não corresponde à Autorizadora escolhida. Por exemplo, é escolhido o pagamento com cartão Visa, mas informado um cartão Mastercard.

Todas estas configurações são feitas no sistema de administração backoffice do e-SiTef.

O lojista pode informar no ato do cadastramento sobre qual opção de ação prefere que seja configurada, bem como pode entrar em contato futuramente pedindo para alterar a configuração.

Códigos de Autorizadoras no e-SiTef

Estes códigos podem ser alterados no futuro, e mais códigos de autorizadoras podem ser adicionados sem aviso prévio.

IMPORTANTE: As Autorizadoras que podem ser utilizadas no e-SiTef dependem das possibilidades disponibilizadas pelo roteamento escolhido pelo lojista.

Exemplo: Se o lojista possui um acordo com a adquirente Cielo, e esta garantiu pagamentos via cartão de crédito Visa, a opção Visa roteado pela Cielo será possível pelo e-SiTef.

A coluna "Cód." corresponde ao parâmetro authorizer_id.

Cód.AutorizadoraHTMLREST
1VISA
2MASTERCARD
3AMERICAN EXPRESS
4MULTICHECK
5HIPER
6AURA
7ITAÚ SHOPLINE
8BRADESCO TRANSFERÊNCIA
9BANCO IBI
12CABAL
13POLICARD
15BIGCARD
16SUPERCARD
17EXCARD
18EDMCARD
19COOPER CARD
20CREDMAIS
21DACASA
22CREDISHOP
23OBOÉ
24SMARTSHOP
25ACCREDITO
26COOPLIFE
27PAGGO
28VALECARD
29SOROCRED
30MAXICRED
31CREDSYSTEM
32TREDENEXX
33DINERS
34BANESE
35SICREDI
36MULTIALIMENTAÇÃO
37MULTICASH
38ICARDSPL
40FORTBRASIL
41ELO
42GOODCARD
43JCB
44DISCOVER
45CHINA UNION PAY
46CREDZ
47AGIPLAN
48VEROCHEQUE
49SAVEGNAGO
50MASTERCARD ALIMENTAÇÃO
51MASTERCARD REFEIÇÃO
52TRICARD
53ABASTECE AÍ
59PERSONAL CARD
60MUFFATO
61BRASILCARD
62RIACHUELO PRIVATE LABEL
72TICKET CAR
73TICKET CULTURA
81BRADESCO BOLETO
82BRADESCO CARTÃO
83BRADESCO FINANCIAMENTO
86MARISA PRIVATE LABEL
100WAPPA REFEIÇÃO
101WAPPA ALIMENTAÇÃO
115BRADESCARD PRIVATE LABEL"Check"
116COMPCARD
122PAN
127CARTÃO PRESENTE MARISA
160ORBITALL
161E-COMMERCE PERNAMBUCANAS
162CLUB+
163CARTÃO VUON PRIVATE LABEL
192AVISTA CREDITO
193CAMPEÃO PRIVATE LABEL
201VISA PRIVATE LABEL
202MASTERCARD PRIVATE LABEL
203PEELA (GIFT)
206RENNER REALIZE
207VR ALIMENTAÇÃO
209VR REFEIÇÃO
210VR AUTO
211VR CULTURA
218HUG (GIFT)
221VISA ELECTRON (DÉBITO)
222VISA PRÉ-PAGO
223ALELO CULTURA
224ALELO REFEIÇÃO
225ALELO ALIMENTAÇÃO
245COOPERCARD CULTURA
246COOPERCARD ALIMENTAÇÃO
250COOP FACIL PRIVATE LABEL
266CASSOL PRIVATE LABEL
267EXTRABOM
271VERDECARD PRIVATE LABEL
279SODEXO VALE CULTURA
280SODEXO VALE ALIMENTAÇÃO
281SODEXO VALE REFEIÇÃO
282SODEXO GIFT
283SODEXO PREMIUM
284SODEXO COMBUSTÍVEL
285BANESCARD
286MASTERCARD DÉBITO
287KOERICH
288ELO DÉBITO
289VALECARD VOUCHER"Check""Check"
300SAFETYPAY
400PAYPAL
401BCASH
402MERCADO PAGO
403PAGSEGURO
404BANCO DO BRASIL BOLETO
405GOOGLE PAY
406VISA CHECKOUT
407MASTER PASS
408BANCO DO BRASIL TRANSFERÊNCIA
409ALELO AUTO
410SAMSUNG PAY
411BANRI COMPRAS À VISTA
412BANRI COMPRAS PARCELADO
413BANRI COMPRAS PRÉ-DATADO
414CASA SHOW
415BANCO DO BRASIL DÉBITO PF
416BANCO DO BRASIL DÉBITO PF E PJ
417BANCO DO BRASIL CREDIÁRIO
430SENFF
431VEE
433VEROCARD
434BRASIL CONVÊNIOS
436VEROCARD CULTURA
437VEROCARD ALIMENTAÇÃO
438VEROCARD REFEIÇÃO
439VEROCARD COMBUSTÍVEL
440PIX
441VEGAS CARD CRÉDITO
442VEGAS CARD DÉBITO
443VEGAS CARD ALIMENTAÇÃO
444VEGAS CARD REFEIÇÃO

Também é possível identificar o authorizer_id das Autorizadoras cadastradas ao cliente, acessando o Portal do Lojista do e-SiTef através do site http://esitef-homologacao.softwareexpress.com.br/e-sitef-loja (para ambiente de homologação).

Na coluna ID da Autorizadora conforme o exemplo da figura abaixo, temos o valor do authorizer_id.

"Autorizadoras cadastradas para a loja."

Lembrando que as autorizadoras são sempre associadas a um Roteamento no BackOffice do e-SiTef.

Este Roteamento define, por exemplo, a adquirente responsável pelo roteamento das transações via crédito.

Orientações para o uso de Certificados Digitais

Introdução

O propósito deste documento é orientar o cliente que integrará seu produto com o e-SiTef sobre o uso de Certificados Digitais.

O intuito deste é apresentar de forma simplificada pequenas orientações sobre o uso destes para garantir a segurança da comunicação entre o e-SiTef e o produto do cliente.

Caso seja necessário um aprofundamento maior sobre os assuntos apresentados, sugerimos consultar outras literaturas e/ou fontes na Internet.

Certificado Digital

O Certificado Digital ou Certificado de chave pública (apenas ‘certificado’ daqui em diante) é um documento digital que tem o propósito de certificar a identidade de uma pessoa, ou entidade na comunicação digital. Uma forma de comunicação digital segura muito utilizada na Internet é o HTTPS, que é uma abreviação de HTTP via SSL/TLS.

O certificado em geral é solicitado pela pessoa ou entidade e emitido por uma CA (Autoridade Certificadora, ou Certification Authority, em inglês) como Verisign, CertSign, etc. Um certificado válido é aquele que, entre outros requisitos, esteja dentro da sua data de validade e assinado por uma CA confiável.

Como exemplo de seu uso, quando utilizamos um browser (Firefox, Chrome, etc..) para acessar um site que oferece segurança na comunicação usando HTTPS, em geral é apresentado o certificado utilizado pelo servidor do site, em geral simbolizado por um ícone de cadeado que se localiza próximo ao local que se apresenta a URL. Clicando neste ícone cadeado é possível observar as características deste certificado.

A característica principal de um certificado é o nome para qual ele é emitido, isto é, qual é o nome identificado no certificado. Na imagem abaixo podemos visualizar as informações, onde o certificado é emitido pela CA “Network Solutions DV Server” e emitido para o nome esitef.softwareexpress.com.br

Informação do Certificado

Certificados self-signed

Para ambientes de testes, existem casos em que a obtenção de um certificado válido não é viável, então algumas vezes é utilizado um certificado auto-assinado ou self-signed.

Um certificado self-signed é gerado e assinado pela própria pessoa/entidade, e não é aceito como confiável para uma comunicação segura. Como exemplo, quando se acessa um site via browser via HTTPS, onde o servidor utiliza um certificado self-signed, um aviso semelhante às imagens abaixo é apresentado no browser:

Firefox

Certificado Firefox

Chrome

Certificado Chrome

Internet Explorer

Certificado IE

Ao navegar nesses sites que utilizam certificados self-signed, temos a opção de confiar no site e acessá-los, mesmo sabendo que o certificado apresentado neles não é confiável, assumindo o risco de acessar e enviar informações para um site que não possui o certificado confiável ou até com um certificado que não possui a identidade de quem ele diz ser. Isto pode ser aplicado também na comunicação entre servidores.

Comunicação do e-SiTef com servidores de clientes

O e-SiTef frequentemente se comunica com servidores de clientes via POST’s HTTPS, para validar a autenticidade da requisição, como em transações de recarga e estorno de pagamentos. Para esta comunicação, é necessário que o servidor do cliente apresente certificados válidos para garantir a segurança das informações transmitidas. No ambiente de produção do e-SiTef, em geral todos os clientes já possuem uma infraestrutura pronta, com servidores com seus respectivos certificados válidos e assinados por CA’s reconhecidas no mercado.

Porém, na etapa de homologação, muitos sistemas ainda estão em fase de testes ou em desenvolvimento, utilizando certificados temporários, e muitas vezes self-signed. Neste caso, utilizamos uma abordagem semelhante à citada no item anterior, abrindo exceções para que o e-SiTef confie em um servidor que apresente um certificado self-signed. Isso é feito importando-o em uma lista de certificados confiáveis. Assim facilitamos o processo de homologação dos sistemas de clientes.

Como a tecnologia utilizada no e-SiTef segue a especificação de comunicação HTTPS RFC-2818, esta abordagem possui algumas restrições:

  • O certificado precisa estar válido, isto é, no mínimo deve estar com sua data de validade adequada para o período em uso;

  • A identificação do servidor do cliente deve ser compatível com o nome apresentado no certificado. Logo, as seguintes situações irão resultar em fracasso na comunicação:

    • Um certificado emitido para www.dominio.com não será compatível para um servidor identificado como dominio.com ou testes.dominio.com, pois são consideradas identificações diferentes.
    • Um servidor com um IP único, mas com múltiplos domínios e respectivamente múltiplos certificados, pode ser identificado de formas diferentes e inesperadas.
  • A especificação não permite certificados emitidos para o endereço IP de um servidor, a não ser que Nomes Alternativos(Subject Alternative Names) de IP’s ou domínios sejam adicionados ao certificado.

Logo, certificados que estejam em condições fora da especificação não serão aceitos na comunicação HTTPS mesmo que sejam importados na lista de certificados confiáveis no e-SiTef. Esta exigência no ambiente de homologação do e-SiTef acaba por preparar o cliente a fim de garantir o uso de um certificado corretamente emitido por uma CA para o sistema no ambiente de produção.

Criação de certificados self-signed

Existem várias formas já conhecidas para gerar certificados auto-assinados ou self-signed. Aqui iremos apresentar uma delas, utilizando a ferramenta openssl, que pode ser encontrada em pacotes do servidor web Apache. Todos as referências e comandos apresentados a seguir são baseados nas versões Apache HTTP 2.2 e openssl 0.9.8 em ambiente Windows. Caso seja da preferência do cliente, um procedimento análogo pode ser executado em ambiente Linux, com as devidas ferramentas e adaptações.

Como preparação de ambiente, sugerimos:

  • Crie uma pasta separada de nome openssl (ou escolha outro nome qualquer) e copie três arquivos existentes em %APACHE_HOME%/bin: libeay32.dll, ssleay.dll e zlib1.dll. Copie esses arquivos no diretório: Windows\System32.
  • Copie o arquivo openssl.exe existente em %APACHE_HOME%/bin para o diretório openssl.
  • Copie o arquivo openssl.cnf existente em %APACHE_HOME%/conf para o diretório openssl.

Configuração do openssl: openssl.cnf

O arquivo openssl.cnf contém as configurações para a geração de certificados. Inicialmente, crie uma cópia deste com outro nome (por exemplo openssl_editado.cnf ou um nome da sua preferência).

Sugerimos editar os seguintes campos do arquivo openssl_editado.cnf para facilitar o seu uso futuro:

  • Descomente (remova o caractere #) do início da seguinte linha:

    req_extensions = v3_req # The extensions to add to a certificate request

  • Logo abaixo, adicione ou altere valores default para os campos:

    • countryName_default = BR (ou outro país)
    • stateOrProvinceName_default = <nome do estado>
    • localityName_default = <Nome da cidade>
    • 0.organizationName_default = <Nome da Empresa>
    • organizationalUnitName_default = <nome do setor, equipe>
    • commonName_default = <nome comum a ser registrado>
    • emailAddress_default = <email>
  • Após o trecho:

      [ v3_req ]
    
      # Extensions to add to a certificate request
    
      basicConstraints = CA:FALSE
      keyUsage = nonRepudiation, digitalSignature, keyEncipherment
    
  • Adicionar:

      subjectAltName=@alt_names
    
      [alt_names]
    
  • E então, logo abaixo adicionar nome alternativos ao commonName, em forma de DNS ou IP como nos exemplos abaixo, conforme necessidade de identificação do servidor:

      DNS.1 = www.dominio.com
      DNS.2 = *.dominio.com
      ...
      IP.1 = 192.168.4.34
      IP.2 = 200.122.10.66
      ...
    

Assim se finaliza a customização do arquivo de configuração do openssl.

Comandos openssl para gerar o certificado

Supondo que queremos gerar um certificado de nome dominio.

  • Criar uma chave privada RSA de 2048 bits executando o seguinte comando no diretório openssl:

      openssl genrsa -out dominio.pem 2048
    
  • Execute o comando abaixo para requisitar a criação do certificado

      openssl req -config openssl_editado.cnf -extensions v3_req -new -out dominio.cer -keyout dominio.pem
    

Após a execução desse comando serão pedidos alguns dados (Pais, Estado, Cidade, Nome e Unidade da Organização, email) de preenchimento opcional e dois de preenchimento obrigatório: o Common Name que é o domínio associado ao certificado (ou o IP do servidor) e uma senha para ser associada a chave privada. Por padrão, aceite as opções default sugeridas.

  • A seguir execute o comando abaixo para criar a chave privada não protegida por senha (a senha associada à chave privada será removida). Dessa forma, a chave será legível apenas para o servidor Apache e o administrador:

      openssl rsa –in dominio.pem –out dominio.key
    

Após a execução desse comando será pedida a senha da chave privada.

É recomendado a remoção do arquivo .rnd, pois ele contém informações sigilosas a respeito da criação da chave. Removendo-o evita-se ataques criptográficos contra a chave privada.

  • Por último, execute o comando abaixo para criar o certificado assinado que durará um ano:

      openssl x509 -in dominio.cer -out dominio.cer -req -signkey dominio.key -days 365 -extensions v3_req extfile openssl_editado.cnf
    

Os arquivos dominio.cer e dominio.key serão usados no servidor.

Instalação do certificado self-signed gerado no servidor Apache

Aqui apresentaremos um exemplo de instalação do certificado no servidor HTTP Apache 2.2.

  • Na pasta onde o Apache está instalado, abrir a pasta conf e abrir o arquivo de configuração httpd-ssl.conf;

  • Editar os seguintes itens abaixo no arquivo httpd-ssl.conf:

      ServerName <nome/dominio ou IP do servidor> 
    

    Ex: www.dominio.com.br ou IP 200.###.###.###

      SSLCertificateFile <caminho+nome do certificado> 
      Ex: `%APACHE_HOME%/conf/dominio.cer`
    
      SSLCertificateKeyFile <caminho+nome do arquivo de chave do certificado> 
    

    Ex: %APACHE_HOME%/conf/dominio.key

  • Reiniciar o Apache

Verificação do certificado gerado

Para verificar se o certificado foi gerado e instalado corretamente, abra um browser de sua preferência e digite a URL por qual o Apache responde, e clique no ícone do cadeado para abrir o certificado. As figuras abaixo ilustram a visualização do certificado em diferentes ambientes:

Detalhe do certificado no ambiente Windows

Detalhes do Certificado 1

Detalhe do certificado no Firefox

Detalhes do Certificado 2

Códigos da API

Status de transações do e-SiTef

CódigoNomeDescrição
NOVNovaTransação recém-criada.
INVInválidaTransação não foi criada com sucesso, provavelmente a loja enviou algum parâmetro incorreto, e não foi possível inicializar a transação corretamente.
PPCPendente de confirmaçãoPagamento pendente de confirmação.
PPNDesfeitaPagamento pendente não confirmado (cancelado).
PENAguardando pagamentoTransação aguardando resposta da instituição financeira.
CONEfetuadaTransação confirmada pela instituição financeira.
NEGNegadaTransação negada pela instituição financeira.
ERRErro ao efetuar pagamentoErro na comunicação com a autorizadora. Tente novamente.
BLQBloqueadaTransação bloqueada após múltiplas tentativas de consulta de cartão.
EXPExpiradaA transação expirou devido ao prazo de validade do NIT.
ESTEstornadaPagamento estornado.
AGUAguardando UsuárioTransação aguardando ação do usuário.
ABAAbandonadaTransação expirou devido a tempo excessivo sem atualização por parte do usuário.
CANCanceladaTransação cancelada pelo usuário/comprador.
RETRetentativaTransação negada pela instituição financeira, porém agendada para retentativa.

Status de agendamento

CódigoNomeDescrição
NOVNovoTransação recém-criada.
INVInválidoTransação não foi criada com sucesso, provavelmente a loja enviou algum parâmetro incorreto e não foi possível inicializar a transação corretamente.
PENPendente de confirmaçãoAgendamento pendente de confirmação.
DESDesfeitoAgendamento pendente desfeito.
ATVAtivoAgendamento ativo para execução de transações recorrentes.
INAInativoAgendamento está inativo e não executará pagamentos recorrentes.
ERRErroErro ao ativar agendamento.
FINFinalizadoAgendamento já executou todos os pagamentos recorrentes e foi finalizado.
EXPExpiradoA transação expirou devido ao prazo de validade do SID.

Status de armazenamento

CódigoNomeDescrição
CONConfirmadoArmazenamento realizado com sucesso.
INVInválidoArmazenamento não foi realizado com sucesso, provavelmente a loja enviou algum parâmetro incorreto e não foi possível inicializar a transação corretamente.
NEGNegadoO cartão foi consultado no SiTef e foi categorizado como inválido.
DUPDuplicadoTentativa de armazenar um cartão já guardado no e-SiTef pela loja.
CANCanceladoArmazenamento do cartão cancelado pelo cliente. Dados removidos do e-SiTef a pedidos da loja.
DELDeletadoDados do cartão foram removidos do e-SiTef a pedidos do dono do cartão.
BLQBloqueadoArmazenamento bloqueado por possível tentativa de fraude.

Códigos de resposta

CódigoDescrição
0Transação OK
1Campo NIT nulo
2Request enviado é nulo
3Campo NIT inválido
4Campo authorizerId nulo
5Campo authorizerId inválido
6Campo autoConfirmation nulo
7Campo autoConfirmation vazio
8Campo cardExpireDate nulo
9Campo cardExpireDate inválido
10Campo cardNumber nulo
11Campo cardNumber inválido
12Campo cardSecurityCode nulo
13Campo cardSecurityCode inválido
14Campo installments nulo
15Campo installments inválido
16Campo installmentType nulo
17Campo installmentType inválido
18Campo customerId nulo
19Campo customerId inválido
20Campo departureTax nulo
21Campo departureTax inválido
22Campo firstInstallment nulo
23Campo firstInstallment inválido
24Campo softDescriptor nulo
25Campo softDescriptor inválido
26Campo merchantKey nulo
27Campo merchantKey inválido
28Campo nsuSitef nulo
29Campo nsuSitef inválido
30Campo merchantId nulo
31Campo merchantId inválido
32Campo amount nulo
33Campo amount inválido
34Campo esitefUSN nulo
35Campo esitefUSN invalid
36Campo merchantUSN nulo
37Campo merchantUSN inválido
38Campo ordered inválido
39Campo parameter inválido
40Campo parameter nulo
41Campo parameterNumber inválido
42Campo jsonXml nulo
43Campo jsonXml inválido
44Método nulo
45Método inválido
46Campo url inválido
47Campo redirect inválido
48Campo card_hash nulo
49Campo card_hash inválido
50Campo financing_type nulo
51Campo financing_type inválido
52Campo sitef_ip inválido
53Campo sitef_port inválido
54Campo sitef_terminal inválido
55Campo sitef_merchant_id inválido
56Campo confirmation_data inválido
57Campo confirmation_type inválido
58Campo inner_transactions vazio ou nulo
59Campo extra_field inválido
60Campo prefixes / key vazio
61Campo prefixes / value vazio
62Campo additional_data inválido
63Campo prefixes inválido
64Campo financing_type com juros não permitido
68Campo dealer_code nulo
69Campo dealer_code inválido
70Campo phone_ddd nulo
71Campo phone_number nulo
72Campo amount_key inválido
73Campos card_number e card_token não podem ser utilizados simultaneamente
74Campo amount não pode ser pré-fixado para recarga
75Campo phone_ddd inválido
76Campo phone_number inválido
77Campo store_card inválido
78Campo store_identification nulo
79Campo recharge_included inválido
80Autorizadora não implementada para mobile
81Operação não permitida
82Transação não encontrada
83Campo store_identification inválido
84Armazenamento não permitido para a autozadora escolhida
85Campo purchase_summary invalido
86Lista de itens vazia
87Campo authenticate inválido
88Cartão inválido. Verifique o número do cartão ou a forma de pagamento escolhida.
89Erro ao recuperar a transação
100Falha ao efetuar transação de pagamento
101Falha ao confirmar transação de pagamento
102Transação já finalizada ou em andamento
103Tipo de transação inválido
104Autorizadora para a transação inválida
105Estilo da transação inválido
106Loja sem permissão para a operação
107Operação não permitida para o status da transação
108Autorizadora inativa ou não habilitada para a loja.
109Parcelas excedem o limite configurado na autorizadora
110Loja inativa
111Tipo de Autorizadora Inválida
112Autorizadora com configuração inválida
113Autorizadora não habilitada ou inativa para a Loja.
114Transação Bloqueada.
115Erro de autenticidade
116Erro na consulta de transação. Por favor tente novamente mais tarde.
131Falha de comunicação com o SiTef
132Request mal formatado
134Erro na consulta de cartão (card query)
135Loja não possui permissão para pagamento Split.
136Falha no rollback
137Operação inválida.
138Falha na escolha de autorizadora
139Não existe autorizadora configurada
140Consulta devolveu muitas autorizadoras, não foi possível identificar unicamente
141A autorizadora passada não é roteada via SiTef
142Erro ao consultar cartão: resposta inesperada da autorizadora
143O número de cartão enviado não corresponde à forma de pagamento escolhida.
144Loja sem permissão para Recarga V5 HTML
145Loja sem permissão para Recarga V5 WebService
146Erro na autenticação
147Autenticação Negada
148Autenticação não permitida para esta autorizadora
149Loja sem dados cadastrais de autenticação ISA
150Request inválido
157Campo showTimesInvoice inválido
160Loja sem permissão para transações HTML
161Loja sem permissão para transações de pagamento
162Loja sem permissão para transações IATA
163Cadastro da Autorizadora com erros.
215Venda com cartão tipo Gift não habilitada
216Recarga de cartão tipo Gift não habilitada
217Cancelamento de pagamento via cartão tipo Gift não habilitada
230campo payer neighborhood inválido
231campo payer uf inválido
232campo payer name inválido
233campo payer address_street_name / address_street_number inválido
234campo payer identification_number inválido
235campo payer city inválido
236campo payer zipcode inválido
255Pagamento negado
256Aguardando resposta do cancelamento
257Estorno negado
258Recarga negada
259Transação negada
260Recarga desfeita por falha no pagamento
261Recarga deve ser reenviada
300Erro ao criar transação de refund
301Campo card_number diferente
302Falha de comunicação
304Campo extra_info inválido
305Campo currency inválido
306Campo insurance_amt inválido
307Campo handling_amt inválido
308Campo tax_amount inválido
309Campo inner_transaction order_id inválido
310Campo inner_transaction merchant_id inválido
311Campo inner_transaction merchant_usn inválido
312Campo inner_transaction amount inválido
313campo shipment type inválido
314Campo shipment cost inválido
315Campo shipment discount_amount inválido
316Campo shipment receiver_address_apartment inválido
317Campo shipment receiver_address_floor inválido
318Campo shipment receiver_address_street_name inválido
319Campo shipment receiver_address_street_number inválido
320Campo shipment receiver_address_zip_code inválido
321Campo shipment receiver_address_complement inválido
322Campo shipment receiver_address_district inválido
323Campo shipment receiver_address_city inválido
324Campo shipment receiver_address_state inválido
325Campo shipment receiver_address_country inválido
326Campo shipment receiver_address_name inválido
327Campo shipment receiver_address_phone_area_code inválido
328Campo shipment receiver_address_phone_number inválido
329Campo payment_method installments inválido
330Campo payment_method excluded_payment_method id inválido
331Campo payment_method excluded_payment_method name inválido
332Campo payment_method excluded_payment_method payment_type_id inválido
333Campo payment_method excluded_payment_method thumbnail inválido
334Campo payment_method excluded_payment_method secure_thumbnail inválido
335Campo payment_method excluded_payment_type id inválido
336Campo payment_method excluded_payment_type name inválido
337Campo payer phone_number inválido
338Campo payer phone_area_code inválido
339Campo payer date_created inválido
340Campo payer email inválido
341Campo payer born_date inválido
342Campo payer mother_name inválido
343Campo payer father_name inválido
344Campo payer sex inválido
345Campo payer phone_country_code inválido
346Campo payer phone_extension inválido
347Campo payer phone_extension_type inválido
348Campo payer tax_type inválido
349Campo payer address_type inválido
350Campo item id inválido
351Campo item description inválido
352Campo item category_id inválido
353Campo item picture_url inválido
354Campo item unit_price inválido
355Campo item quantity inválido
356Campo item title inválido
357Campo item weight inválido
358Campo item shipping_cost inválido
359Campo item quantity_itens_sum inválido
360Campo item tax_amount inválido
361Campo item weight_unit inválido
362Campo item length inválido
363Campo item length_unit inválido
364Campo item width inválido
365Campo item width_unit inválido
366Campo item height inválido
367Campo item height_unit inválido
368Campo item url inválido
369Campo item type inválido
370Campo extra_param metadata_item key inválido
371Campo extra_param metadata_item inválido inválido
372Campo extra_param metadata_item group inválido
373Campo extra_param prefix key inválido
374Campo extra_param prefix value inválido
375Campo extra_param acquirer_param key inválido
376Campo extra_param acquirer_param value inválido
400Transação abortada
723Condições enviadas para a adquirentes não suportadas. / Credenciais da adquirente inválidas.
724Campo max_installments inválido
910Transação negada pela e-Rede.
920Transação negada pela Cielo e-Commerce.
930Erro na comunicação com a Visa Checkout.
934Erro na autorizadora Masterpass ao transacionar.
940Transação negada pela GetNet WS.
941Usuário não autenticado na GetNet WS.
942Nome de usuário inválido.
943Senha inválida.
944Id do comerciante inválido.
945Faixa de ID do comerciante.
946ID do terminal.
947Campo de cartão nulo.
948Id de pagamento nulo.
949PARes nulo.
950Transação negada pela Global Payments WS.
951Requisição nula.
952Código de comerciante inválido.
953Terminal inválido.
954Assinatura inválida.
970Transação negada pela SafetyPay.
971Motivo de reembolso nulo.
972Credencial nula.
980Titular do cartão nulo.
981Chave de pedido nula.
989Instituição antifraude inválida para notificar.
990ID de comerciante nulo.
991Código de comerciante nulo.
992Tipo de pagamento inválido para antifraude.
993Autorizadora inválida para antifraude.
994Pagamento Split não permitido para antifraude.
995Transação do tipo recarga não permitida para antifraude.
996Entidade para análise antifraude não cadastrada.
997Loja sem permissão para antifraude.
998Análise antifraude rejeitada, inválida ou em revisão.
999Item id do antifraude nulo.
1000Erro inesperado no e-SiTef. Entre em contato com o suporte.
1003Erro inesperado no e-SiTef. Entre em contato com o suporte.
1004Erro inesperado no e-SiTef. Entre em contato com o suporte.
1010Erro inesperado de acesso à base de dados do e-SiTef. Entre em contato com o suporte.
1135Campo additional_data application_fee inválido
1136Campo additional_data binary_mode inválido
1137Campo additional_data discount_campaign_id inválido
1138Campo additional_data acquirer_expiry_date inválido
1139Campo additional_data description inválido
1140Campo payer type inválido
1141Campo additional_data acquirer_expiry_date_from inválido
1142Campo additional_data acquirer_expiry_date_to inválido
1143Campo additional_data acquirer_expires inválido
1144Campo shipment mode inválido
1145Campo shipment local_pickup inválido
1146Campo shipment dimensions inválido
1147Campo shipment default_shipping_method inválido
1148Campo shipment free_shipment inválido
1149Campo shipment free_methods id inválido
1150Campo ad_tracks type inválido
1151Campo ad_tracks conversion_id inválido
1152Campo ad_tracks conversion_label inválido
1153Campo ad_tracks pixel_id inválido
2000Erro inesperado no e-SiTef. Entre em contato com o suporte.
5555Erro inesperado no e-SiTef. Entre em contato com o suporte.

Códigos de resposta negativos (Roteamentos via SiTef)

Em roteamentos via SiTef é possível sejam retornados códigos de resposta negativos ( por exemplo, "-211"). Em casos como este, entre em contato com o nosso suporte.

Soft Descriptor

O soft-descriptor é um texto adicional que será apresentado junto ao nome do estabelecimento na fatura do cartão de crédito do comprador. Este texto pode ser definido no cadastro da loja ou na requisição de criação de pagamento/pre-autorização.

O e-SiTef aceita até 30 caracteres alfanuméricos, porém conforme regras documentadas nas integração com as adquirentes, este pode ser truncado para o tamanho especificado. O soft-descriptor é um dado opcional.

Atenção: Sugere-se que o lojista sempre valide com a adquirente o tamanho, formato e as condições de apresentação desta funcionalidade.

Roteamentos via SiTef

Cada roteamento via SiTef que aceita soft-descriptor possui um formato específico. O tamanho excedido do soft-descriptor recebido pelo e-SiTef será removido.

RoteamentoFormato e Tamanho
Cielo< AN 13
Stone< AN 25
Getnet< AN 22
Banrisul< AN 22
Cabal< AN 22
Rede< AN 22
BIN< AN 25
SiPAG< AN 25

Roteamentos não-SiTef

Cielo e-Commerce

Apenas para cartões Visa e Mastercard. O tamanho limite é de 13 caracteres alfanuméricos.

e-Rede

O limite é de 13 caracteres alfanuméricos.

Exige a habilitação da função "identificação fatura" no cadastro da loja na e-Rede.

e.Rede REST

O limite é de 13 caracteres alfanuméricos para ser cadastrados no backoffice e-SiTef ou enviados na requisição da transação.

São apresentados na fatura 8 caracteres estáticos que representam o estabelecimento, mais um asterisco *, mais a parte dinâmica dos 13 caracteres citados acima.

Exemplo: nomeLoja*parteDinamica

Exige a habilitação da função "identificação fatura" no cadastro da loja na plataforma e.Rede REST.

Stone WS

Se a transação for Visa, o limite é 25 caracteres;

Se a transação for Mastercard, o limite é 22 caracteres;

Se for parcelado, a Visa utiliza os 8 primeiros caracteres do nome do lojista pra passar a informação de parcelamento, sobrando 17 caracteres.

Getnet WS

No caso do lojista não cadastrar ou não enviar o soft-descriptor no e-SiTef, a Getnet utilizará o nome fantasia do cadastro do Estabelecimento Comercial.

Este campo deve ser composto da seguinte forma:

  • Identificação do Facilitador, com 3, 7 ou 12 caracteres
  • Caractere de separação * (asterisco)
  • Identificação do subcomércio

O tamanho máximo é de 20 caracteres.

PayPal

Para o PayPal, formato apresentado será o seguinte:

<PP *> ou <PAYPAL *><Nome Fantasia cadastrado nas preferências da loja na PayPal><espaço><soft-descriptor>

  • Regras de caracteres permitidos para o campo soft descriptor:
    • Caracteres alfanuméricos
    • hífen -
    • asterisco *
    • ponto .
    • espaco
  • Tamanho máximo de 22 caracteres para o texto totalizado.

Exemplo de uso:

  • Prefixo definido como PAYPAL * nas configurações administrativas no PayPal;
  • O nome fantasia cadastrado nas configurações do lojista na PayPal é EBAY
  • O soft-descriptor passado via e-SiTef é Suzana Flores LTDA.
  • O texto apresentado na fatura do portador do cartão será PAYPAL *EBAY Suzana Fl

SafraPay

Para o SafraPay, o campo soft descriptor permite um tamanho máximo de 22 caracteres, em que strings maiores enviadas nesse campo serão truncadas neste limite.

  • São permitidos os seguintes caracteres:
    • alfanuméricos em letra maiúscula e sem acento;
    • % $ , . / & ( ) + = = < > - *
  • Exemplo de campo válido: LOS*POLLOS*HERMANOS*2
  • Exemplos de campo inválidos:
    • los*pollos*hermanos (letras minúsculas)
    • MOE'S_BAR (uso dos caractere especiais ' e _)

O campo soft descriptor pode ser enviado nas seguintes transações:

  • Crédito com Captura Tardia
  • Crédito com Captura Automática
  • Estorno de Transação
  • Desfazimento de Transação

GlobalPaymentsWS

Para a Global Payments, o soft descriptor deve conter um texto de até 13 caracteres que será impresso na fatura do portador, ao lado da identificação da loja, respeitando o comprimento das bandeiras:

  • Visa: 25 caracteres
  • Mastercard: 22 caracteres

[Nome da Loja] + [Asterico] + [Soft Descriptor] = [22 ou 25] caracteres

Na eventualidade da soma do nome da loja e soft descriptor exceder o limite de caracteres, o texto do soft descriptor será truncado da direita para esquerda. Lembrando ainda que o espaço em branco entre o nome da loja e o texto é contabilizado como 1 caractere.

Uso exclusivo de caracteres simples, sem acentuação e especiais.

Autenticação com assinatura

Para garantir maior comodidade e segurança aos seus clientes, o e-SiTef oferece, além da autenticação através da chamada POST à URL cadastrada (saiba mais), a opção de assinatura de mensagens, em que conteúdo e remetente passam a ter garantias de integridade e autenticidade, respectivamente. Dessa forma, a loja recebe as informações da transação recém-criada diretamente na resposta de sua chamada REST e não mais através do POST de autenticidade.

O que você precisará

  • Cadastro ativo no ambiente de homologação do e-SiTef (obtido com nossa equipe de suporte);
  • A criação de uma chave pública e o gerenciamento da sua respectiva chave privada;
  • Cadastro da chave pública no e-SiTef (feito através da nossa equipe de suporte).

Criando as chaves pública e privada

Exemplos de como criar as chaves privada e pública:

  • No Linux (utilizando o terminal):
# criando a sua chave privada:
ssh-keygen -t rsa -b 4096 -m PEM -f jwtRS256.key

# criando uma chave pública a partir da chave privada criada:
openssl rsa -in jwtRS256.key -pubout -outform PEM -out jwtRS256.key.pub
  • No Windows:

Utilizar ssh-keygen no prompt de comando

# criando a sua chave privada:
ssh-keygen -t rsa -b 4096 -m PEM -f jwtRS256.key

Utilizar uma versão do openssl para windows, executar como administrador e executar o seguinte comando:

# criando uma chave pública a partir da chave privada criada:
rsa -in jwtRS256.key -pubout -outform PEM -out jwtRS256.key.pub

Atenção:

Esse arquivo de chave pública jwtRS256.key.pub é o único arquivo que você deverá enviar pra nossa equipe de suporte. Sempre mantenha seguros a sua chave privada e a sua senha, caso tenha cadastrado uma.

Algoritmo de assinatura

O algoritmo suportado pela aplicação é o RS256 em conjunto com o padrão JWT (RFC 7519).

Ao utilizar este padrão, uma assinatura é composta por três partes: cabeçalho, dados (payload) e a verificação de assinatura. A cada uma dessas partes, é aplicada uma codificação Base64.

Primeira parte (cabeçalho)

O cabeçalho deve conter o seguinte conteúdo fixo:

{
  "alg": "RS256",
  "typ": "JWT"
}

Cabeçalho Base64:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9

Segunda parte (payload)

A parte de dados (payload) varia de acordo com a operação a ser assinada. Exemplo:

{
  "merchant_id":"XXXXX",
  "merchant_key": "XXXXXXXXXXXXXXX",
  "order_id": "182367r12831t29b",
  "merchant_usn" : "92837429837",
  "timestamp": "1605034925174"
}

Payload Base64:

eyJtZXJjaGFudF9pZCI6IlhYWFhYIiwibWVyY2hhbnRfa2V5IjoiWFhYWFhYWFhYWFhYWFhYIiwib3JkZXJfaWQiOiIxODIzNjdyMTI4MzF0MjliIiwibWVyY2hhbnRfdXNuIjoiOTI4Mzc0Mjk4MzciLCJ0aW1lc3RhbXAiOiIxNjA1MDM0OTI1MTc0In0

Composição do payload

Dependendo do serviço chamado, os campos do payload serão diferentes. Abaixo estão descritos os campos necessários para cada serviço.

Serviços de criação e listagem de lojas

ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no e-SiTef.= 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef.< 80 ANSIM
timestampRepresentação em milissegundos do momento de geração da assinatura. Enfatizando que o campo timestamp possui um limite de validade de 10 minutos.< 13 NSIM
{
  "merchant_id":"XXXXX",
  "merchant_key": "XXXXXXXXXXXXXXX",
  "timestamp": "1605034925174"
}

Serviços de edição e consulta de loja

ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.= 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM
timestampRepresentação em milissegundos do momento de geração da assinatura. Enfatizando que o campo timestamp possui um limite de validade de 10 minutos.< 13 NSIM
registered_merchant_idCódigo da loja criada ou a ser criada no e-SiTef. Os códigos de produção e certificação serão diferentes.= 15 ANSIM
{
  "merchant_id":"XXXXX",
  "merchant_key": "XXXXXXXXXXXXXXX",
  "registered_merchant_id": "YYYYYYY",
  "timestamp": "1605034925174"
}

Serviços de criação de transação

ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.= 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM
order_idCódigo do pedido definido pelo lojista.< 40 ANSIM
merchant_usnNúmero sequencial único para cada pedido, criado pela loja.< 12 NSIM
timestampRepresentação em milissegundos do momento de geração da assinatura. Enfatizando que o campo timestamp possui um limite de validade de 10 minutos.< 13 NSIM

Exemplo:

{
  "merchant_id":"XXXXX",
  "merchant_key": "XXXXXXXXXXXXXXX",
  "order_id": "182367r12831t29b",
  "merchant_usn" : "92837429837",
  "timestamp": "1605034925174"
}

Demais serviços

ParâmetroDescriçãoFormatoObrigatório
nitIdentificador da transação no e-SiTef.= 64 ANSIM
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.= 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM
timestampRepresentação em milissegundos do momento de geração da assinatura. Enfatizando que o campo timestamp possui um limite de validade de 10 minutos.< 13 NSIM

Exemplo:

{
  "nit":"asdfghjk12345678asdfghjk12345678asdfghjk12345678asdfghjk12345678",
  "merchant_id":"XXXXX",
  "merchant_key": "XXXXXXXXXXXXXXX",
  "timestamp": "1605034925174"
}

Terceira parte (verificação)

A terceira e última parte é o resultado da criptografia RSA das duas partes anteriores codificadas separadamente em Base64 e concatenadas por um ponto (".").

Duas partes anteriores codificadas seperadamente em Base64 e concatenadas por um ponto ("."), onde o primeiro segmento do texto - anterior ao ponto - corresponde ao cabeçalho e o segundo corresponde ao payload:

eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJtZXJjaGFudF9pZCI6IlhYWFhYIiwibWVyY2hhbnRfa2V5IjoiWFhYWFhYWFhYWFhYWFhYIiwib3JkZXJfaWQiOiIxODIzNjdyMTI4MzF0MjliIiwibWVyY2hhbnRfdXNuIjoiOTI4Mzc0Mjk4MzciLCJ0aW1lc3RhbXAiOiIxNjA1MDM0OTI1MTc0In0

Por fim, uma criptografia RSA, usando a chave privada loja, deve ser feita neste conteúdo. Exemplo:

LLQ2kaC3dG0tsu78JyEIbvd8c1G05lo-1qLDBb0lBXsS2lrJ98-rcusEhuodhHDBE701a_RZwCfOH9ebPZXYdEtuLldqp_Q47y_AYOBYuz3eexuVC0sH3MvmljjHEiMYEIKtFyhsSFrBuQBFvBOT4tJCA779j_cP-JnW4MeDazDehsydEa6phsmkGg_0YfN2xdRzaaTrQqldYibUeI7_YEwLTYrZg0Ys7r45quT7veAzNFLEL4I3iJmMJUcBaCfIQl6NKvX7meoSBeFBaj_MRw8WwXnNTjCFXjU6w_iUiYPg0VVAAKGaEYKP7sHUcw1hn-BawMDMorLcvT9YwP4OxQ

Assinatura final

A assinatura final é a concatenação das 3 partes separadas por ("."):

eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJtZXJjaGFudF9pZCI6IlhYWFhYIiwibWVyY2hhbnRfa2V5IjoiWFhYWFhYWFhYWFhYWFhYIiwib3JkZXJfaWQiOiIxODIzNjdyMTI4MzF0MjliIiwibWVyY2hhbnRfdXNuIjoiOTI4Mzc0Mjk4MzciLCJ0aW1lc3RhbXAiOiIxNjA1MDM0OTI1MTc0In0.LLQ2kaC3dG0tsu78JyEIbvd8c1G05lo-1qLDBb0lBXsS2lrJ98-rcusEhuodhHDBE701a_RZwCfOH9ebPZXYdEtuLldqp_Q47y_AYOBYuz3eexuVC0sH3MvmljjHEiMYEIKtFyhsSFrBuQBFvBOT4tJCA779j_cP-JnW4MeDazDehsydEa6phsmkGg_0YfN2xdRzaaTrQqldYibUeI7_YEwLTYrZg0Ys7r45quT7veAzNFLEL4I3iJmMJUcBaCfIQl6NKvX7meoSBeFBaj_MRw8WwXnNTjCFXjU6w_iUiYPg0VVAAKGaEYKP7sHUcw1hn-BawMDMorLcvT9YwP4OxQ

Essas três partes da assinatura, representada pelo exemplo anterior, devem ser enviadas no header Authorization com valor Bearer <assinatura>. Com isso, o e-SiTef poderá validar a assinatura utilizando a chave pública da loja.

Utilizando site JWT para testes

É possível utilizar o site do JWT para criar uma assinatura válida para testes. Para isso é necessário selecionar o algoritmo RS256 e passar o respectivo payload e uma chave pública e privada. "Jwt"

Caso a chave pública não esteja válida a mensagem "Invalid Signature" será exibida. "Jwt"

Cadastros de Lojas em Lote

Visão Geral

O e-SiTef possui uma interface para que sejam cadastradas várias lojas de um cliente, em lote.

Para isto, o lojista deve enviar à equipe de atendimento um arquivo de importação de lojas, seguindo um determinado formato para que os dados das lojas do lote sejam cadastrados corretamente e rapidamente. A importação de lojas é feita somente quando todas as lojas pertencerem a um mesmo grupo.

A ideia é que o desenvolvedor do cliente crie um programa que gera o arquivo de importação seguindo o formato apresentado, pois a geração manual deste arquivo seria trabalhosa e passível de erros.

Formato do arquivo de importação

ATENÇÃO: O arquivo de importação deve ser gerado com codificação UTF-8.

Campos Padrão

Formato a ser recebido (formatação por linha):

campo1;campo2;campo3;...;campo16;<autorizadora1>;<autorizadora2>;...;<autorizadoraN>
CampoDescrição do campoTamanho e formatoObrigatório
campo1Código da Loja ou merchant Id. Este valor identifica a loja no e-SiTef de forma única. Logo sugere-se utilizar aqui o CNPJ da empresa, sem formatação, apenas com números, a fim de evitar conflitos de códigos entre lojas diferentes.< 15 ANSim
campo2Nome Fantasia< 250 AN (s/ acentuação)Sim
campo3Razão Social< 250 AN (s/ acentuação)Sim
campo4CNPJ< 15 NOpcional
campo5Endereço (rua e número)< 30 AN (s/ acentuação)Opcional
campo6Cidade< 13 AN (s/ acentuação)Opcional
campo7Estado= 2 AOpcional
campo8CEP não formatado (apenas números)< 9 NOpcional
campo9Telefone (opcional)> 5 e < 20 NOpcional
campo10e-mail (opcional)> 5 e < 20 ANOpcional
campo11Domínio do site< 50 AN (s/ acentuação)Opcional
campo12URL de Aviso de Status (HTTPS)< 500 AN (s/ acentuação)Opcional
campo13URL de Autenticidade de transação (HTTPS)< 500 AN (s/ acentuação)Opcional
campo14URL para envio de HASH (HTTPS)< 500 AN (s/ acentuação)Opcional
campo15URL de Sucesso< 500 AN (s/ acentuação)Opcional
campo16URL de Fracasso< 500 AN (s/ acentuação)Opcional
campo17URL de Cancelamento< 500 AN (s/ acentuação)Opcional
autorizadoraNConfigurações de autorizadoras (vide seção Campos de configuração de autorizadoras abaixo.-Sim

Campos de configuração de autorizadoras

autorizadora1, autorizadora2, ..., autorizadoraN - Autorizadoras a serem cadastradas na loja. Podem ser enviadas N autorizadoras. O campo autorizadoraN devem ter o seguinte formato:

...;campoAut1|campoAut2|campoAut3|campoAut4|campoAut5|parametro1|parametro2|...|parametroN
CampoDescrição do campoTamanho e formato
campoAut1Código da Autorizadora. Para verificar os códigos de autorizadora permitidos, veja a seção Exemplos de Autorizadoras.< 5 N
campoAut2Código do roteamento. Para verificar os códigos de roteamento permitidos, veja a seção Exemplos de Roteamentos.< 5 N
campoAut3Valor mínimo por parcela em caso de pagamento parcelado, em centavos (*).< 8 N
campoAut4Parcelamento máximo com juros (*).< 2 N
campoAut5Parcelamento máximo sem juros (*).< 2 N
parametro1, parametro2, parametroNParâmetros da autorizadora. Podem ser enviados N parâmetros. Verifique a seção Parâmetros dos roteamentos para verificar os necessários para cada roteamento.-

(*) Campos utilizados apenas para configurar pagamentos e pré-autorizações via interface HTML.,

Exemplo

CampoValor
Código de Lojacod_loja_comp
Nome FantasiaLoja dos Computadores
Razão SocialLoja dos Computadores LTDA.
CNPJ11137051003444
EndereçoR. dos Computadores, 3032
CidadeS Joao do Sul
EstadoSC
CEP07022000
Telefone12341234
E-mailemail@email.com
Domíniohttps://dominio.com.br
URL de Aviso de statushttps://dominio.com.br/avisoStatus.jsp
URL de Autenticidadehttps://dominio.com.br/autenticidade.jsp
URL de Armazenamentohttps://dominio.com.br/envioHash.jsp
URL de Sucessohttps://dominio.com.br/sucesso.jsp
URL de Fracassohttp://dominio.com.br/fracasso.jsp
URL de Cancelamentohttps://dominio.com.br/cancelamento.jsp
AUTORIZADORAS
AUTORIZADORA 1
AutorizadoraVisa [1]
RoteamentoCielo [1125]
Valor mínimo de cada parcela20 reais [2000]
Parcelamento máximo com juros5 parcelas [5]
Parcelamento máximo sem juros5 parcelas [5]
Código de Filiação Cielo00000001
AUTORIZADORA 2
AutorizadoraMastercard [2]
RoteamentoRede (Redecard) [1005]
Valor mínimo de cada parcela10 reais [1000]
Parcelamento máximo com juros10 parcelas [10]
Parcelamento máximo sem juros10 parcelas [10]
Código de Filiação Rede (Redecard)00000002

Resultado

cod_loja_comp;Loja dos Computadores;Loja dos Computadores LTDA.;11137051003444;R. dos Computadores,3032;S Joao do Sul;SC;07022000;12341234;email@email.com.br;https://dominio.com.br; https://dominio.com.br/avisoStatus.jsp; https://dominio.com.br/autenticidade.jsp; https://dominio.com.br/envioHash.jsp; https://dominio.com.br/sucesso.jsp;http://dominio.com.br/fracasso.jsp; https://dominio.com.br/cancelamento.jsp;1|1125|2000|5|5|00000001;2|1005|10 00|10|10|00000002

Parâmetros dos roteamentos

Cada roteamento possui parâmetros necessários para que eles funcionem corretamente. Eles devem ser inseridos nos campos variáveis parametro1, parametro2, ..., parametroN:

ATENÇÃO: Os parâmetros devem ser enviados na ordem em que estão descritos nos exemplos a seguir.

Cielo via SiTef

Parâmetro necessários para o roteamento Cielo via SiTef:

  • Código de filiação Cielo

Exemplo Cielo via SiTef

CampoValor
AutorizadoraVisa [1]
RoteamentoCielo [1125]
Valor mínimo de cada parcela10 reais [1000]
Parcelamento máximo com juros10 parcelas [10]
Parcelamento máximo sem juros10 parcelas [10]
Código de Filiação Cielo00000001
...;1|1125|1000|10|10|00000001

Rede (Redecard) via SiTef

Parâmetros necessários para o roteamento Rede (Redecard) via SiTef:

  • Código de filiação Rede (Redecard)

Exemplo Rede (Redecard) via SiTef

CampoValor
AutorizadoraMastercard [2]
RoteamentoRede (Redecard) [1005]
Valor mínimo de cada parcela10 reais [1000]
Parcelamento máximo com juros10 parcelas [10]
Parcelamento máximo sem juros10 parcelas [10]
Código de Filiação Rede [Redecard]00000002
...;1|1005|1000|10|10|00000002

Stone via SiTef

Parâmetros necessários para o roteamento Stone via SiTef:

  • Código de filiação Stone
  • Código Stone (alfanumérico tamanho 9)

Exemplo Stone via SiTef

CampoValor
AutorizadoraVisa [1]
RoteamentoStone via SiTef [1265]
Valor mínimo de cada parcela2,65 reais [265]
Parcelamento máximo com juros10 parcelas [10]
Parcelamento máximo sem juros10 parcelas [10]
Código de Filiação StonecodigoFiliacaoDaLojaNaStone32Car
Código Stone123456789
...;1|1265|265|10|10|codigoFiliacaoDaLojaNaStone32Car|123456789

BIN via SiTef

Parâmetros necessários para o roteamento BIN via SiTef:

  • Código de filiação BIN
  • Terminal Virtual (alfanumérico tamanho 8)

Exemplo BIN via SiTef

CampoValor
AutorizadoraMastercard [2]
RoteamentoBIN via SiTef [1229]
Valor mínimo de cada parcela2 reais [200]
Parcelamento máximo com juros7 parcelas [7]
Parcelamento máximo sem juros10 parcelas [10]
Código de Filiação BIN12345678
Terminal Virtual1TerVir8
...;2|1229|200|7|10|12345678|1TerVir8

Safra via SiTef

Parâmetros necessários para o roteamento Safra via SiTef:

  • Código de filiação Safra
  • Número Lógico Terminal TEF (alfanumérico tamanho 8)

Exemplo Safra via SiTef

CampoValor
AutorizadoraMastercard [2]
RoteamentoSafra via SiTef [1296]
Valor mínimo de cada parcela6 reais [600]
Parcelamento máximo com juros6 parcelas [6]
Parcelamento máximo sem juros11 parcelas [11]
Código de Filiação Safra98765432
Número Lógico Terminal TEFNoLgTe12
...;2|1296|600|6|11|98765432|NoLgTe12

Global Payments via SiTef

Parâmetros necessários para o roteamento Global Payments via SiTef:

  • Código de filiação Global Payments

Exemplo Global Payments via SiTef

CampoValor
AutorizadoraMastercard [2]
RoteamentoSafra via SiTef [1206]
Valor mínimo de cada parcela2 reais [200]
Parcelamento máximo com juros8 parcelas [8]
Parcelamento máximo sem juros10 parcelas [10]
Código de Filiação Global Payments12345678
...;2|1206|200|8|10|12345678

Getnet Lac via SiTef

Parâmetros necessários para o roteamento Getnet Lac via SiTef:

  • Código de filiação Getnet Lac
  • Terminal Lógico (alfanumérico tamanho 8)

Exemplo Getnet Lac via SiTef

CampoValor
AutorizadoraVisa [1]
RoteamentoSafra via SiTef [1181]
Valor mínimo de cada parcela8 reais [800]
Parcelamento máximo com juros11 parcelas [11]
Parcelamento máximo sem juros12 parcelas [12]
Código de Filiação Getnet Lac87654321
Terminal LógicoTerLog18
...;1|1181|800|11|12|87654321|TerLog18

Stone WS

Este roteamento se refere à interface e-commerce da adquirente Stone. Parâmetros necessários para o roteamento via Stone WS:

  • salesAffiliationKey: alfanumérico.

ATENÇÃO: Os parâmetros específicos para este roteamento devem ser enviados no formato chave:valor.

Exemplo Stone WS

CampoValor
AutorizadoraVisa [1]
RoteamentoStone WS [409]
Valor mínimo de cada parcela9 reais [900]
Parcelamento máximo com juros10 parcelas [10]
Parcelamento máximo sem juros10 parcelas [10]
salesAffiliationKeychaveDeIdentificacaoDaLojaNaStone
...;1|409|900|10|10|salesAffiliationKey:chaveDeIdentificacaoDaLojaNaSt
one

Cielo EC

Este roteamento se refere à interface e-commerce da adquirente Cielo. Parâmetros necessários para o roteamento via Cielo EC:

  • merchantId: alfanumérico (tamanho < 36)
  • merchantKey: alfanumérico (tamanho < 40)

ATENÇÃO: Os parâmetros específicos para este roteamento devem ser enviados no formato chave:valor.

Exemplo Cielo EC

CampoValor
AutorizadoraVisa [1]
RoteamentoCielo EC [201]
Valor mínimo de cada parcela21 reais [2100]
Parcelamento máximo com juros10 parcelas [10]
Parcelamento máximo sem juros10 parcelas [10]
merchantIdidentificacaoDaLojaNaCieloEC
merchantKeychaveDaLojaNaCieloEC
...;1|201|2100|10|10|merchantId:identificacaoDaLojaNaCieloEC|merchantKey:chaveDaLojaNaCieloEC

e-Rede

Este roteamento se refere à interface e-commerce da adquirente Rede. Parâmetros necessários para o roteamento via e-Rede:

  • filiacao: numérico (tamanho 9)
  • senha: alfanumérico (tamanho 32)

ATENÇÃO: Os parâmetros específicos para este roteamento devem ser enviados no formato chave:valor.

Exemplo e-Rede

CampoValor
AutorizadoraVisa [1)]
Roteamentoe-Rede [1200]
Valor mínimo de cada parcela13 reais [1300]
Parcelamento máximo com juros10 parcelas [10]
Parcelamento máximo sem juros10 parcelas [10]
filiacao123456789
senhaaSenhaLojaNaERedeCom32Caracteres
...;1|1200|1300|10|10|filiacao:123456789|senha:aSenhaLojaNaERedeCom32Caracteres

Global Payments WS

Este roteamento se refere à interface e-commerce da adquirente Global Payments. Parâmetros necessários para o roteamento via Global Payments WS:

  • merchantCode: numérico (tamanho 15)
  • secretKey: alfanumérico (tamanho 20)
  • terminal: numérico (tamanho 3)

ATENÇÃO: Os parâmetros específicos para este roteamento devem ser enviados no formato chave:valor.

Exemplo Global Payments WS

CampoValor
AutorizadoraMastercard [2]
RoteamentoGlobal Payments WS [408]
Valor mínimo de cada parcela8 reais [800]
Parcelamento máximo com juros10 parcelas [10]
Parcelamento máximo sem juros10 parcelas [10]
merchantCode123456789012345
secretKeyqwertyasdf0123456789
terminal001
...;2|408|800|10|10| merchantCode:123456789012345|secretKey:qwertyasdf0123456789|terminal:001

Getnet WS

Este roteamento se refere à interface e-commerce da adquirente Getnet. Parâmetros necessários para o roteamento via Global Payments WS:

  • username: alfanumérico (tamanho 20)
  • password: alfanumérico (tamanho 40)
  • merchantID: numérico (tamanho 10)
  • terminalID: alfanumérico (tamanho 7)

ATENÇÃO: Os parâmetros específicos para este roteamento devem ser enviados no formato chave:valor.

Exemplo Getnet WS

CampoValor
AutorizadoraMastercard [2]
RoteamentoGetnet WS [407]
Valor mínimo de cada parcela7 reais [700]
Parcelamento máximo com juros10 parcelas [10]
Parcelamento máximo sem juros12 parcelas [12]
usernamenomeUsuarioDeAcessoG
passwordsenhaRelativaAoUsernameAcimaComQuarenta
merchantID1234567890
terminalID1234567
...;2|407|700|10|12|username:nomeUsuarioDeAcessoG|password:senhaRelativaAoUsernameAcimaComQuarenta|merchantID:123456790|terminalID:1234567

Exemplo completos de linha de arquivo

Abaixo listaremos alguns exemplos de linhas de arquivo de importação.

Apenas uma autorizadora

CampoValor
Código Lojacod_loja_comp
Nome FantasiaLoja dos Computadores
Razão SocialLoja dos Computadores LTDA.
CNPJ11137051003444
EndereçoR. dos Computadores, 3032
CidadeS Joao do Sul
EstadoSC
CEP07022000
Telefone12341234
E-mailemail@email.com
Domíniohttps://dominio.com.br
URL de Aviso de statushttps://dominio.com.br/avisoStatus.jsp
URL de Autenticidadehttps://dominio.com.br/autenticidade.jsp
URL de Armazenamentohttps://dominio.com.br/envioHash.jsp
URL de Sucessohttps://dominio.com.br/sucesso.jsp
URL de Fracassohttp://dominio.com.br/fracasso.jsp
URL de Cancelamentohttps://dominio.com.br/cancelamento.jsp
AUTORIZADORA
AutorizadoraVisa [1]
RoteamentoCielo [1125]
Valor mínimo de cada parcela20 reais [2000]
Parcelamento máximo com juros5 parcelas [5]
Parcelamento máximo sem juros5 parcelas [5]
Código de Filiação Cielo00000001
cod_loja_comp;Loja dos Computadores;Loja dos ComputadoresLTDA.;11137051003444;R. dos Computadores,3032;S Joao doSul;SC;07022000;12341234;email@email.com.br;https://dominio.com.br;https://dominio.com.br/avisoStatus.jsp;https://dominio.com.br/autenticidade.jsp;https://dominio.com.br/envioHash.jsp;https://dominio.com.br/sucesso.jsp;http://dominio.com.br/fracasso.jsp;https://dominio.com.br/cancelamento.jsp;1|1125|2000|5|5|00000001

Duas autorizadoras

CampoValor
Código Lojacod_loja_comp
Nome FantasiaLoja dos Computadores
Razão SocialLoja dos Computadores LTDA.
CNPJ11137051003444
EndereçoR. dos Computadores, 3032
CidadeS Joao do Sul
EstadoSC
CEP07022000
Telefone12341234
E-mailemail@email.com
Domíniohttps://dominio.com.br
URL de Aviso de statushttps://dominio.com.br/avisoStatus.jsp
URL de Autenticidadehttps://dominio.com.br/autenticidade.jsp
URL de Armazenamentohttps://dominio.com.br/envioHash.jsp
URL de Sucessohttps://dominio.com.br/sucesso.jsp
URL de Fracassohttp://dominio.com.br/fracasso.jsp
URL de Cancelamentohttps://dominio.com.br/cancelamento.jsp
AUTORIZADORAS
AUTORIZADORA 1
AutorizadoraVisa [1]
RoteamentoCielo [1125]
Valor mínimo de cada parcela20 reais [2000]
Parcelamento máximo com juros5 parcelas [5]
Parcelamento máximo sem juros5 parcelas [5]
Código de Filiação Cielo00000001
AUTORIZADORA 2
AutorizadoraMastercard [2]
RoteamentoStone WS [409]
Valor mínimo de cada parcela10 reais [1000]
Parcelamento máximo com juros10 parcelas [10]
Parcelamento máximo sem juros10 parcelas [10]
salesAffiliationKeychaveDeIdentificacaoDaLojaNaStone
cod_loja_comp;Loja dos Computadores;Loja dos ComputadoresLTDA.;11137051003444;R. dos Computadores,3032;S Joao doSul;SC;07022000;12341234;email@email.com.br;https://dominio.com.br;https://dominio.com.br/avisoStatus.jsp;https://dominio.com.br/autenticidade.jsp;https://dominio.com.br/envioHash.jsp;https://dominio.com.br/sucesso.jsp;http://dominio.com.br/fracasso.jsp;https://dominio.com.br/cancelamento.jsp;1|1125|2000|5|5|00000001;2|405|1000|10|10|salesAffiliationKey :chaveDeIdentificacaoDaLojaNaStone

Exemplos de Autorizadoras

Abaixo estão listadas as autorizadoras que podem ser enviadas na importação:

AutorizadoraCódigo
Visa1
Mastercard2
Amex3
Hipercard / Hiper5
Aura6
Diners33
Elo41
JCB43
Discover44
Visa Electron221
Maestro / Mastercard débito286

Exemplos de Roteamentos

Abaixo estão listados os roteamentos que podem ser enviados na importação:

AutorizadoraCódigo
Cielo1125
Rede (Redecard)1005
Stone WS409
Cielo EC201
e-Rede1200
Global Payments WS408
Getnet WS407

Configuração de Roteamento em Lote

Visão Geral

A alteração ou configuração de roteamento em lote pode ser utilizada quando um grupo de lojas deseja mudar o roteamento das bandeiras para as adquirentes em somente parte de suas lojas ou quando o número de lojas torna inviável configurar uma a uma manualmente.

Desta forma, por exemplo, um grupo com 800 lojas onde todas roteiam as bandeiras Visa e Mastercard pela Cielo, deseja fazer com que somente 100 de suas lojas roteiem Visa por Rede.

Pré-requisitos

Como pré-requisito as lojas e autorizadoras (bandeiras) que terão o roteamento alterado já devem estar cadastradas no e-SiTef. Caso não estejam, consulte a documentação Cadastros de Lojas em Lote.

Lembrando que os roteamentos e bandeiras devem estar configurados no SiTef, para isso entre em contato com a nossa equipe de suporte e-SiTef para garantir o funcionamento em produção.

Roteamentos/Rede adquirentes suportadas

Os roteamentos suportados na operação de configuração em lote são:

  • Cielo via SiTef
  • Rede via SiTef
  • GetNet via SiTef
  • Stone WS

Formato do Arquivo de Importação

ATENÇÃO: O arquivo de importação deve ser gerado com codificação UTF-8.

O arquivo será composto pelo o código da loja seguido pela bandeira que se deseja alterar e a rede por qual a bandeira será roteada, repetindo uma linha por bandeira, uma ou mais linhas por loja.

Somente serão alterados os roteamentos declarados no arquivo, se a loja possuir outras bandeiras não especificadas sua configuração será mantida.

Formato a ser recebido (formatação por linha):

campo1;campo2;campo3;parametro1|parametro2|...|parametroN
CampoDescriçãoFormatoObrigatório
campo1CNPJ (ou código loja, ou merchantId) não formatado (apenas números)< 15 ANSim
campo2Código da Autorizadora (bandeira). Consulte os códigos na seção Códigos de Autorizadoras/Bandeiras< 15 NSim
campo3Código da Rede Adquirente (Roteamento/Tipo de Pagamento). Consulte os códigos na seção Códigos de Rede Adquirentes/Roteamentos< 15 NSim
parametro1, parametro2, parametroNCampos para informações adicionais que variam de acordo com a rede adquirente/roteamento.-Não

Códigos de Autorizadoras/Bandeiras

Bandeira/AutorizadoraCódigo
VISA1
MASTERCARD2
AMERICAN EXPRESS (AMEX)3
HIPERCARD5
AURA6
CABAL12
VALECARD28
SOROCRED29
DINERS33
ELO41
GOODCARD42
JCB43
DISCOVER44
CHINA UNION PAY45
CREDZ46
AGIPLAN47
VEROCHEQUE48
PAN122
AVISTA CREDITO192

Códigos de Rede Adquirentes/Roteamentos

Roteamento/Tipo de PagamentoCódigo
Cielo via SiTef1125
Rede (antiga Redecard) via SiTef1005
GetNet via SiTef1181
e-Rede1200
Stone WS409

Parâmetros Adicionais

Alguns roteamentos/tipos de pagamento requerem parâmetros adicionais cadastrados no sistema para realizar transações. Para informá-los preencha o campo 4 em diante de uma linha no seguinte formato:

...;chave1:valor1|chave2:valor2|chave3X:valorX

Os parametros adicionais não são obrigatórios, mas se não for enviado, os parametros serão definidos com um valor padrão .

Stone WS

O roteamento Stone WS se refere à plataforma de e-commerce da adquirente Stone.

São requeridos os seguintes parâmetros adicionais para realizar suas funcionalidades:

CampoDescrição
salesAffiliationKeyIdentificação do estabelecimento comercial (loja) na adquirente Stone.
subAdquirenciaHabilitadaValores possíveis: true ou false. Este valor deve estar de acordo com as configurações do estabelecimento comercial (loja) na adquirente Stone em relação à subadquirência.

NOTA

Para o uso da subadquirência Stone WS, é necessário que os registros de cadastro do estabelecimento comercial (loja) estejam completos, ou seja, é preciso que os campos País, Cidade, Estado e CEP sejam informados corretamente no cadastro da loja no e-SiTef. Verifique com a equipe de suporte e-SiTef antes de solicitar uma mudança para Stone utilizando a subadquirência com SoftDescriptor. Para mais detalhes acesse a documentação da Stone WS.

Exemplo Stone WS

22222222222222;1;409;salesAffiliationKey:XXXXXXXXXX|subAdquirenciaHabilitada:true

Exemplo

Todas as lojas do grupo XPTO transacionam inicialmente com as bandeiras Visa, Mastercard, Hiper e Amex roteadas pela Rede.

Estado inicial do Grupo XPTO, incluindo lojas 11111111111111, 22222222222222 e 333333333333333:

BandeiraAdquirente
VisaRede (antiga Redecard)
MastercardRede (antiga Redecard)
HiperRede (antiga Redecard)
AmexRede (antiga Redecard)

É desejado que apenas duas lojas desse grupo, de código 11111111111111 e 22222222222222 passem a transacionar ambas com Visa via Cielo, e Mastercard via Stone WS, mantendo os roteamentos da Amex e Hiper sem alteração.

Lojas 11111111111111 e 22222222222222 após a mudança:

BandeiraAdquirente
VisaCielo
MastercardStone WS
HiperRede (antiga Redecard) -> Não muda
AmexRede (antiga Redecard) -> Não muda

E também é desejado mudar a loja de código 333333333333333 para transacionar Visa via Cielo e Amex via Stone WS, conforme abaixo.

Loja 333333333333333 após a mudança:

BandeiraAdquirente
VisaCielo
MastercardRede (antiga Redecard) -> Não muda
HiperRede (antiga Redecard) -> Não muda
AmexStone WS (com subadquirência)

O arquivo final a ser gerado será como o apresentado abaixo:

11111111111111;1;1125;
11111111111111;2;409;salesAffiliationKey:ABC123DEF456|subAdquirenciaHabilitada:false
22222222222222;1;1125;
22222222222222;2;409;salesAffiliationKey:ABC123DEF457|subAdquirenciaHabilitada:false
33333333333333;1;1125;
33333333333333;3;409;salesAffiliationKey:ABC123DEF458|subAdquirenciaHabilitada:true

ATENÇÃO: Caso o campo 4 seja vazio, não esquecer de finalizar a linha com ponto e vírgula ";".

Cadastro de Lojas REST

Visão Geral

Para chamar qualquer serviço do e-SiTef, é necessário antes que o lojista tenha sua loja cadastrada pelas nossas equipes de Suporte e Produção (até mesmo para interagir com a API de cadastro de lojas).

A interface REST de cadastro de lojas do e-SiTef é recomendada quando há uma necessidade frequente de cadastro de novas lojas por parte de um mesmo lojista.

Comunicação

Para realizar uma transação Web Service, toda a comunicação será realizada via HTTPS/SSL. É importante que o servidor do lojista suporte criptografia com no mínimo 128 bits. O servidor da loja deverá realizar chamadas em endereços específicos para transações REST.

Cada serviço deve ser chamado utilizando a URL base concatenada do recurso desejado (veja o capítulo referente ao serviço a ser consumido). O método HTTP (GET, POST ou PUT) indica a ação esperada sobre o recurso escolhido. Abaixo estão as URLs base do e-SiTef:

URL base de Produção:

https://esitef-ec.softwareexpress.com.br/e-sitef/api

URL base de Homologação:

https://esitef-homologacao.softwareexpress.com.br/e-sitef/api

Todas as chamadas realizadas para os serviços serão respondidas de forma síncrona.

Atenção:

Nunca utilize o IP ao invés do domínio esitef-ec.softwareexpress.com.br. O IP pode mudar a qualquer momento e sem aviso prévio, portanto é importante a utilização do domínio para acesso ao e-SiTef.

Importante:

Além dos parâmetros de retorno dos serviços descritos nesta especificação o e-SiTef poderá devolver outros parâmetros sem aviso prévio.

É importante que o aplicativo esteja preparado para receber os parâmetros desconhecidos além dos parâmetros já especificados e simplesmente desprezá-los.

Fluxos

Criação de loja

  • 1. A loja inicia o processo requisitando a geração de um token para acesso à API de cadastro de lojas.
    • 1.1. O e-SiTef faz um POST na URL de autenticidade cadastrada da loja contendo o token.
    • 1.2. A loja virtual responde ao POST com código HTTP 200 OK.
    • 1.3. Com o processo de autenticidade bem-sucedido, o e-SiTef retorna uma resposta de sucesso para a loja.
  • 2. Então, a loja virtual envia a requisição de criação de loja, contendo o token obtido anteriormente.
    • 2.1. O e-SiTef cadastra a loja e retorna uma resposta de sucesso.

Edição de loja

O fluxo para alteração de uma loja é o mesmo da criação, com a diferença de que o serviço a ser chamado no segundo passo é o de edição de lojas.

Quick start

Este guia mostra o processo de cadastro de loja, utilizando a interface web service REST do e-SiTef.

O que você precisará

  • Uma loja cadastrada no e-SiTef com permissão para consumo dessa API
  • Uma ferramenta capaz de realizar chamadas HTTP, como Postman, REST Client ou cURL
  • Uma aplicação capaz de receber chamadas POST HTTPS, caso seja utilizado o post de autenticidade

POST de autenticidade x assinatura

O e-SiTef possui duas formas de autenticação da loja na interface de criação, edição e consulta de loja REST: POST de autenticidade ou assinatura.

No método de POST de autenticidade, o e-SiTef enviará o token recém-criado para a URL de autenticidade cadastrada da loja.

No método de assinatura, a loja deve ter uma chave pública de criptografia RSA cadastrada no e-SiTef e deverá montar uma assinatura JWT (JSON Web Tokens) a ser enviada no cabeçalho Authorization.Saiba mais.

Criando um token

Tipo de requisição: POST

URL: https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/token/merchants

Headers:

  • Content-Type: application/json
  • merchant_id: {seu código de loja}
  • merchant_key: {chave da sua loja}

Requisição:

cURL
curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/token/merchants"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--verbose

Recebimento do POST de autenticidade:

Java + Spring Framework
@RestController
public class MyAuthenticityController {

@PostMapping(value = "/myauthenticity",
consumes = "application/x-www-form-urlencoded; charset=utf-8")
public ResponseEntity<String> myAuthenticity(@RequestParam Map<String, String> request) {
Log.info("token = " + request.get("token"));
// ...
// armazena o token
// ...
return new ResponseEntity<>("OK", HttpStatus.OK);
}

}

Resposta:

{
   "response_code":0,
   "response_message":"OK. Transaction successful."
}

Saiba mais sobre esse serviço.

Criando a loja

Tipo de requisição: POST

URL: https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/merchants/

Headers:

  • Content-Type: application/json
  • merchant_id: {seu código de loja}
  • merchant_key: {chave da sua loja}
  • token: {token caso seja utilizada o post de autenticidade}
  • Authorization: {assinatura caso seja utilizada a assinatura JWT}

Requisição:

JSON
cURL
cURL
{
"fantasy_name":"Teste de Loja",
"corporate_name":"Testes de Loja Ltda.",
"soft_descriptor":{
"fantasy_name":"Sub-comércio da Loja",
"country":"BR",
"mcc":"1234",
"id":"123456"
},
"subacquirer_group":{
"create":"true",
"id":"123456",
"cnpj":"12345678901234"
},
"domain":"www.testeloja.com",
"cnpj":"123123123123",
"address":"Rua do Teste, 123",
"city":"São Teste",
"state":"SP",
"zip_code":"12345678",
"phone_number":"11912341234",
"email":"testeloja@teste.com",
"transactional_urls":{
"status":"https://www.testeloja.com/status",
"authenticity":"https://www.testeloja.com/autent",
"hash":"https://www.testeloja.com/hash"
},
"return_urls":{
"success":"https://www.testeloja.com/sucesso",
"failure":"https://www.testeloja.com/fracasso",
"cancel":"https://www.testeloja.com/cancel"
},
"permissions":{
"payment":"true",
"pre_authorization":"false",
"recharge":"false",
"risk_analysis":"true",
"schedule":"true",
"iata":"false",
"card_store":"false",
"payment_link":"true"
},
"establishments":[
{
"code":"00000000123",
"routing_id":"1125",
"subacquirer_group_id":"123456"
},
{
"code":"00000000321",
"routing_id":"1005"
}
],
"authorizers":[
{
"id":"1",
"routing_id":"1125",
"min_installments_amount":"100",
"max_installments_without_interest":"1",
"max_installments_with_interest":"12",
"enable_subacquirer_group":"true"
},
{
"id":"2",
"routing_id":"201",
"min_installments_amount":"100",
"max_installments_without_interest":"1",
"max_installments_with_interest":"12",
"parameters":{
"merchantId":"8h37e9e23oe",
"merchantKey":"b9f374t5983t745f873tb45f93b4f2293b485ft34"
}
}
]
}
curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/merchants"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--header "token: 1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--data-binary
{
"fantasy_name":"Teste de Loja",
"corporate_name":"Testes de Loja Ltda.",
"soft_descriptor":{
"fantasy_name":"Sub-comércio da Loja",
"country":"BR",
"mcc":"1234",
"id":"123456"
},
"subacquirer_group":{
"create":"true",
"id":"123456",
"cnpj":"12345678901234"
},
"domain":"www.testeloja.com",
"cnpj":"123123123123",
"address":"Rua do Teste, 123",
"city":"São Teste",
"state":"SP",
"zip_code":"12345678",
"phone_number":"11912341234",
"email":"testeloja@teste.com",
"transactional_urls":{
"status":"https://www.testeloja.com/status",
"authenticity":"https://www.testeloja.com/autent",
"hash":"https://www.testeloja.com/hash"
},
"return_urls":{
"success":"https://www.testeloja.com/sucesso",
"failure":"https://www.testeloja.com/fracasso",
"cancel":"https://www.testeloja.com/cancel"
},
"permissions":{
"payment":"true",
"pre_authorization":"false",
"recharge":"false",
"risk_analysis":"true",
"schedule":"true",
"iata":"false",
"card_store":"false",
"payment_link":"true"
},
"establishments":[
{
"code":"00000000123",
"routing_id":"1125",
"subacquirer_group_id":"123456"
},
{
"code":"00000000321",
"routing_id":"1005"
}
],
"authorizers":[
{
"id":"1",
"routing_id":"1125",
"min_installments_amount":"100",
"max_installments_without_interest":"1",
"max_installments_with_interest":"12",
"enable_subacquirer_group":"true"
},
{
"id":"2",
"routing_id":"201",
"min_installments_amount":"100",
"max_installments_without_interest":"1",
"max_installments_with_interest":"12",
"parameters":{
"merchantId":"8h37e9e23oe",
"merchantKey":"b9f374t5983t745f873tb45f93b4f2293b485ft34"
}
}
]
}
--verbose
curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/merchants"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--header "Authorization: Bearer YYYYYYYYYYYYYY"
--data-binary
{
"cnpj":"123123123123",
"fantasy_name":"Teste de Loja",
"corporate_name":"Testes de Loja Ltda.",
"soft_descriptor":{
"fantasy_name":"Sub-comércio da Loja",
"country":"BR",
"mcc":"1234",
"id":"123456"
},
"subacquirer_group":{
"create":"true",
"id":"123456",
"cnpj":"12345678901234"
},
"domain":"www.testeloja.com",
"address":"Rua do Teste, 123",
"city":"São Teste",
"state":"SP",
"zip_code":"12345678",
"phone_number":"11912341234",
"email":"testeloja@teste.com",
"transactional_urls":{
"status":"https://www.testeloja.com/status",
"authenticity":"https://www.testeloja.com/autent",
"hash":"https://www.testeloja.com/hash"
},
"return_urls":{
"success":"https://www.testeloja.com/sucesso",
"failure":"https://www.testeloja.com/fracasso",
"cancel":"https://www.testeloja.com/cancel"
},
"permissions":{
"payment":"true",
"pre_authorization":"false",
"recharge":"false",
"risk_analysis":"true",
"schedule":"true",
"iata":"false",
"card_store":"false",
"payment_link":"true"
},
"establishments":[
{
"code":"00000000123",
"routing_id":"1125",
"subacquirer_group_id":"123456"
},
{
"code":"00000000321",
"routing_id":"1005"
}
],
"authorizers":[
{
"id":"1",
"routing_id":"1125",
"min_installments_amount":"100",
"max_installments_without_interest":"1",
"max_installments_with_interest":"12",
"enable_subacquirer_group":"true"
},
{
"id":"2",
"routing_id":"201",
"min_installments_amount":"100",
"max_installments_without_interest":"1",
"max_installments_with_interest":"12",
"parameters":{
"merchantId":"8h37e9e23oe",
"merchantKey":"b9f374t5983t745f873tb45f93b4f2293b485ft34"
}
}
]
}
--verbose

Resposta:

{
   "id":"qereIoinsd3d",
   "key":"9B71234TB12D938T9384TDB294T923D412T938D1293D4B923D",
   "response_code":"0",
   "response_message":"OK"
}

Saiba mais sobre esse serviço.

Serviço de criação de token

O consumo do serviço de geração de token é obrigatório para criar ou editar uma loja. Como resultado dessa operação, o lojista obterá um token pela sua URL de autenticidade que será necessário para o próximo passo do fluxo.

Detalhes da chamada

  • Recurso: /v1/token/merchants
  • Método HTTP: POST
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.< 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM

Exemplo

Requisição:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/token/merchants"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--verbose

POST de autenticidade:

curl -X POST \
  https://urlDeAutenticidadeDaLoja.com.br \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'cache-control: no-cache' \
  -d 'token=1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr

Resposta:

{
   "response_code":0,
   "response_message":"OK. Transaction successful."
}

Parâmetros do POST de autenticidade

Na tabela abaixo está a descrição dos parâmetros enviados pelo e-SiTef no POST de autenticidade:

ParâmetroDescriçãoFormato
tokenToken a ser utilizado na próxima etapa do fluxo.= 66 AN

O e-SiTef também pode enviar novos parâmetros sem aviso prévio, o que significa que a aplicação do lojista deve estar preparada para receber campos extras e simplesmente ignorá-los.

Atenção: É essencial que o site hospedado na URL de Autenticidade da loja receba o token de autenticidade e responda HTTP 200, pois isto é condição para que o e-SiTef considere o sucesso deste POST.

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 200. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de criação de token:

ParâmetroDescriçãoFormato
response_codeCódigo de resposta do e-SiTef. Qualquer código diferente de 0(zero) significa falha. Saiba mais.< 4 N
response_messageMensagem de resposta do e-SiTef.< 500 AN

Serviço de criação de loja

Após obter o token ou assinatura na etapa anterior, a loja virtual deve enviar os dados da loja a ser criada no e-SiTef e no SiTef (caso necessário).

Detalhes da chamada

  • Recurso: /v1/merchants
  • Método HTTP: POST
  • Formato da requisição: JSON
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.< 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM
tokenToken obtido na etapa anterior, caso a autenticação seja via post de autenticidade Saiba mais.= 66 ANNÃO
Content-TypeDeve ser enviado com o valor application/json.= 15 ANSIM
AuthorizationDeve ser enviada a assinatura de autenticação da loja no formato Bearer {assinatura}. Exemplo: Bearer JHVGytfdgauygdauiw78264284527852897hagdg.< 2000 ANNÃO

Exemplo utilizando token

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/merchants"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--header "token: 1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--data-binary
{
   "cnpj":"123123123123",
   "fantasy_name":"Teste de Loja",
   "corporate_name":"Testes de Loja Ltda.",
   "mcc":"1234",
   "soft_descriptor":{
      "fantasy_name":"Sub-comércio da Loja",
      "country":"BR",
      "id":"123456"
   },
   "subacquirer_group":{
      "create":"true",
      "id":"123456",
      "cnpj":"12345678901234"
   },
   "domain":"www.testeloja.com",
   "address":"Rua do Teste, 123",
   "city":"São Teste",
   "state":"SP",
   "zip_code":"12345678",
   "phone_number":"11912341234",
   "email":"testeloja@teste.com",
   "transactional_urls":{
      "status":"https://www.testeloja.com/status",
      "authenticity":"https://www.testeloja.com/autent",
      "hash":"https://www.testeloja.com/hash"
   },
   "return_urls":{
      "success":"https://www.testeloja.com/sucesso",
      "failure":"https://www.testeloja.com/fracasso",
      "cancel":"https://www.testeloja.com/cancel"
   },
   "permissions":{
      "payment":"true",
      "pre_authorization":"false",
      "recharge":"false",
      "risk_analysis":"true",
      "schedule":"true",
      "iata":"false",
      "card_store":"false",
      "payment_link":"true"
   },
   "establishments":[
      {
         "code":"00000000123",
         "routing_id":"1125",
         "subacquirer_group_id":"123456"
      },
      {
         "code":"00000000321",
         "routing_id":"1005"
      }
   ],
   "authorizers":[
      {
         "id":"1",
         "routing_id":"1125",
         "min_installments_amount":"100",
         "max_installments_without_interest":"1",
         "max_installments_with_interest":"12",
         "enable_subacquirer_group":"true"
      },
      {
         "id":"2",
         "routing_id":"201",
         "min_installments_amount":"100",
         "max_installments_without_interest":"1",
         "max_installments_with_interest":"12",
         "parameters":{
            "merchantId":"8h37e9e23oe",
            "merchantKey":"b9f374t5983t745f873tb45f93b4f2293b485ft34"
         }
      }
   ]
}
--verbose

Exemplo utilizando assinatura

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/merchants"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--header "Authorization: Bearer YYYYYYY"
--data-binary
{
   "cnpj":"123123123123",
   "fantasy_name":"Teste de Loja",
   "corporate_name":"Testes de Loja Ltda.",
   "mcc":"1234",
   "soft_descriptor":{
      "fantasy_name":"Sub-comércio da Loja",
      "country":"BR",
      "id":"123456"
   },
   "subacquirer_group":{
      "create":"true",
      "id":"123456",
      "cnpj":"12345678901234"
   },
   "domain":"www.testeloja.com",
   "address":"Rua do Teste, 123",
   "city":"São Teste",
   "state":"SP",
   "zip_code":"12345678",
   "phone_number":"11912341234",
   "email":"testeloja@teste.com",
   "transactional_urls":{
      "status":"https://www.testeloja.com/status",
      "authenticity":"https://www.testeloja.com/autent",
      "hash":"https://www.testeloja.com/hash"
   },
   "return_urls":{
      "success":"https://www.testeloja.com/sucesso",
      "failure":"https://www.testeloja.com/fracasso",
      "cancel":"https://www.testeloja.com/cancel"
   },
   "permissions":{
      "payment":"true",
      "pre_authorization":"false",
      "recharge":"false",
      "risk_analysis":"true",
      "schedule":"true",
      "iata":"false",
      "card_store":"false",
      "payment_link":"true"
   },
   "establishments":[
      {
         "code":"00000000123",
         "routing_id":"1125",
         "subacquirer_group_id":"123456"
      },
      {
         "code":"00000000321",
         "routing_id":"1005"
      }
   ],
   "authorizers":[
      {
         "id":"1",
         "routing_id":"1125",
         "min_installments_amount":"100",
         "max_installments_without_interest":"1",
         "max_installments_with_interest":"12",
         "enable_subacquirer_group":"true"
      },
      {
         "id":"2",
         "routing_id":"201",
         "min_installments_amount":"100",
         "max_installments_without_interest":"1",
         "max_installments_with_interest":"12",
         "parameters":{
            "merchantId":"8h37e9e23oe",
            "merchantKey":"b9f374t5983t745f873tb45f93b4f2293b485ft34"
         }
      }
   ]
}
--verbose

Resposta:

{
   "id":"qereIoinsd3d",
   "key":"9B71234TB12D938T9384TDB294T923D412T938D1293D4B923D",
   "response_code":"0",
   "response_message":"OK",
   "authorizer_response_code":"0", 
   "authorizer_response_message":"OK"
}

Parâmetros de requisição

Na tabela abaixo está a descrição dos parâmetros de requisição do serviço de criação de loja:

ParâmetroDescriçãoFormatoObrigatório
cnpjCNPJ ou CPF da loja. Apenas números.< 14 NSIM
fantasy_nameNome fantasia da loja.< 250 ANSIM
corporate_nameRazão social da loja.< 250 ANSIM
domainDomínio (site) da loja.< 500 ANNÃO
addressEndereço da loja.< 200 ANNÃO
cityCidade da loja.< 50 ANNÃO
stateEstado da loja (sigla).= 2 ANNÃO
zip_codeCEP da loja.< 9 ANNÃO
phone_numberTelefone da loja.< 30 ANNÃO
emailEndereço de e-mail da loja.< 100 ANNÃO
mccMerchant Category Code - código que indica a categoria do estabelecimento (utilizado no cadastro de antifraude)= 4 NNÃO
soft_descriptor Dados do sub-comércio.
idID do sub-comércio.< 22 ANNÃO
countryPaís do sub-comércio. Código numérico ISO 3166-1.= 3 NNÃO
fantasy_nameNome fantasia do sub-comércio< 22 ANNÃO
subacquirer_group Dados de grupo de subadquirência.
createFlag que indica se devemos criar o grupo de subadquirência< 5 T/FNÃO
idID do grupo de subadquirência< 6 ANNÃO
cnpjCNPJ do grupo de sub-adquirência= 14 NSIM, caso o campo subacquirer_group
.create seja true
establishments Dados dos estabelecimentos a serem cadastrados no SiTef.
codeCódigo do estabelecimento (número lógico) a ser cadastrado no SiTef< 32 ANNÃO
routing_idID do roteamento (tipo de pagamento do e-SiTef)< 4 NNÃO
subacquirer_group_idID do grupo de sub-adquirência. Deve ser enviado caso esse estabelecimento deva ser cadastrado para o grupo ao invés da empresa.< 6 ANNÃO
extra_dataInformação adicional do estabelecimento< 32 ANNÃO
transactional_urls URLs utilizadas em fluxos transacionais.
statusURL para recebimento de avisos de status.< 500 ANNÃO
authenticityURL para recebimento de POSTs de autenticidade.< 500 ANNÃO
hashURL para recebimento de hash/token de cartão armazenado.< 500 ANNÃO
return_urls URLs de retorno de pagamento HTML.
successURL de retorno de sucesso.< 500 ANNÃO
failureURL de retorno de fracasso.< 500 ANNÃO
cancelURL de retorno de cancelamento.< 500 ANNÃO
permissions Permissões transacionais a serem designadas para a loja. Enviar o valor true para habilitar a funcionalidade em questão.
paymentPermissão para pagamento.< 5 ANNÃO
pre_authorizationPermissão para pré-autorização.< 5 ANNÃO
rechargePermissão para recarga.< 5 ANNÃO
risk_analysisPermissão para análise de risco.< 5 ANNÃO
schedulePermissão para agendamento.< 5 ANNÃO
iataPermissão para IATA.< 5 ANNÃO
card_storePermissão para armazenamento de cartão.< 5 ANNÃO
payment_linkPermissão para pagamento via link.< 5 ANNÃO
authorizers[] Autorizadoras a serem cadastradas para a loja. A presença de um roteamento SiTef indica que deve ser criada uma empresa no SiTef.
idID da autorizadora no e-SiTef. Saiba mais.< 4 NSIM
routing_idID do roteamento/adquirente no e-SiTef. Saiba mais.< 4 NSIM
min_installments_amountValor mínimo para parcelamento em transações HTML. Valor padrão: 1000< 12 NNÃO
max_installments_without_interestNúmero máximo de parcelas sem juros em transações HTML. Valor padrão: 3< 2 NNÃO
max_installments_with_interestNúmero máximo de parcelas com juros em transações HTML. Valor padrão: 12< 2 NNÃO
enable_subacquirer_groupHabilitar bandeira para uso de grupo de sub-adquirência. Enviar true para habilitar ou false para desabilitar.< 5 T/FNÃO
authorizers[].parameters Parâmetros específicos do roteamento. Saiba mais.

Códigos de roteamento/adquirente

IDRoteamento
201Cielo e-Commerce
407Getnet WS
408Global Payments WS
409Stone WS
1005Rede via SiTef
1181Getnet Lac via SiTef
1125Cielo via SiTef
1200e-Rede
1206Global Payments via SiTef
1229BIN via SiTef
1265Stone via SiTef
1296Safra via SiTef

Parâmetros específicos do roteamento

Cielo e-Commerce

ParâmetroDescrição
authorizers[].parameters Parâmetros específicos do roteamento.
merchantIdIdentificação da loja na Cielo.
merchantKeyChave da loja na Cielo.

Getnet WS

ParâmetroDescrição
authorizers[].parameters Parâmetros específicos do roteamento.
usernameUsuário de acesso.
passwordSenha de acesso.
merchantIDCódigo de EC cadastrado na GetnetWS.
terminalIdentificação do Terminal.
subMerchantIdID do Sub comércio.

Global Payments WS

ParâmetroDescrição
authorizers[].parameters Parâmetros específicos do roteamento.
merchantCodeNúmero do estabelecimento definido pela Global Payments.
secretKeyChave secreta do lojista na Global Payments.
terminalNúmero de terminal que será definido pela Global Payments.

Stone WS

ParâmetroDescrição
authorizers[].parameters Parâmetros específicos do roteamento.
salesAffiliationKeyChave de identificação da loja na Stone.
subAdquirenciaHabilitadaEnviar true para habilitar sub-adquirência ou false caso contrário.

BIN via SiTef

ParâmetroDescriçãoFormato
authorizers[].parameters Parâmetros específicos do roteamento.
subacquirerMerchantId Código do sub-comércio.
establishments Dados dos estabelecimentos a serem cadastrados no SiTef.
extra_dataCódigo de terminal. Campo obrigatório para integração com a Bin.= 8 AN

e-Rede

ParâmetroDescrição
authorizers[].parameters Parâmetros específicos do roteamento.
filiacaoCódigo do filiação da loja na e-Rede.
senhaChave pública da loja na e-Rede.

Cadastro de lojas com antifraude

É possível realizar o cadastro automático de novas lojas com as seguintes soluções de antifraude: Fraud Detect, ClearSale, CyberSource e Konduto. Para isso o lojista deve entrar em contato com a instituição de análise de risco e solicitar as credenciais necessárias. Em seguida, o lojista deve passar um conjunto de MCC's (Merchant Category Code) para cada credencial registrada para a equipe de Produção do e-SiTef, que fará o cadastro desses dados. Será feito um mapeamento desses conjuntos de MCC para cada credencial e esses valores serão utilizados no cadastro de cada loja. Uma vez feito esse pré-cadastro, será possível realizar o cadastro de antifraude de forma automática utilizando a API de criação de lojas.

Atenção:

  • É necessário ativar a permissão de anti fraude (risk_analysis) no cadastro da loja.
  • Apenas a API de criação de lojas faz o cadastro de antifraude automático.

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 201. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de criação de loja:

ParâmetroDescriçãoFormato
response_codeCódigo de resposta do e-SiTef. Qualquer código diferente de 0 significa falha.< 4 N
response_messageMensagem de resposta do e-SiTef.< 500 AN
authorizer_response_codeCódigo de resposta da autorizadora.< 4 N
authorizer_response_messageMensagem de resposta da autorizadora.< 500 AN
idCódigo da loja criada. Gerado automaticamente (obs: caracteres maiúsculas e minúsculas são diferenciados no sistema).< 15 AN
keyChave da loja criada.< 80 AN

Serviço de edição de loja

Após obter o token ou assinatura na etapa anterior, a loja virtual pode consumir o serviço de edição de loja. Para isso, apenas os dados a serem alterados devem ser enviados.

Detalhes da chamada

  • Recurso: /v1/merchants/{id}
  • Método HTTP: PUT
  • Formato da requisição: JSON
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.< 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM
tokenToken obtido no serviço de criação de token. Saiba mais.= 66 ANNÃO
Content-TypeDeve ser enviado com o valor application/json.= 15 ANSIM
AuthorizationDeve ser enviada a assinatura de autenticação da loja no formato Bearer {assinatura}. Exemplo: Bearer JHVGytfdgauygdauiw78264284527852897hagdg.< 2000 ANNÃO

Exemplo utilizando token

curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/merchants/qereIoinsd3d"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--header "token: 1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--data-binary
{
   "fantasy_name":"Teste de Loja",
   "corporate_name":"Testes de Loja Ltda.",
   "merchant_status":"A",
   "subacquirer_group":{
      "create":"true",
      "id":"123456",
      "cnpj":"12345678901234"
   },
   "domain":"www.testeloja.com",
   "cnpj":"123123123123",
   "address":"Rua do Teste, 123",
   "city":"São Teste",
   "state":"SP",
   "zip_code":"12345678",
   "phone_number":"11912341234",
   "email":"testeloja@teste.com",
   "mcc":"1234",
   "transactional_urls":{
      "status":"https://www.testeloja.com/status",
      "authenticity":"https://www.testeloja.com/autent",
      "hash":"https://www.testeloja.com/hash"
   },
   "return_urls":{
      "success":"https://www.testeloja.com/sucesso",
      "failure":"https://www.testeloja.com/fracasso",
      "cancel":"https://www.testeloja.com/cancel"
   },
   "permissions":{
      "payment":"true",
      "pre_authorization":"false",
      "recharge":"false",
      "risk_analysis":"true",
      "schedule":"true",
      "iata":"false",
      "card_store":"false",
      "payment_link":"true"
   },
   "establishments":[
      {
         "code":"00000000123",
         "routing_id":"1125",
         "subacquirer_group_id":"123456"
      },
      {
         "code":"00000000321",
         "routing_id":"1005"
      }
   ],
   "authorizers":[
      {
         "id":"1",
         "routing_id":"1125",
         "min_installments_amount":"100",
         "max_installments_without_interest":"1",
         "max_installments_with_interest":"12",
         "enable_subacquirer_group":"true"
      },
      {
         "id":"2",
         "routing_id":"1005",
         "min_installments_amount":"100",
         "max_installments_without_interest":"1",
         "max_installments_with_interest":"12",
         "enable_subacquirer_group":"false"
      }
   ]
}
--verbose

Exemplo utilizando assinatura

curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/merchants/qereIoinsd3d"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--header "Authorization: Bearer YYYYYYY"
--data-binary
{
   "fantasy_name":"Teste de Loja",
   "corporate_name":"Testes de Loja Ltda.",
   "merchant_status":"A",
   "subacquirer_group":{
      "create":"true",
      "id":"123456",
      "cnpj":"12345678901234"
   },
   "domain":"www.testeloja.com",
   "cnpj":"123123123123",
   "address":"Rua do Teste, 123",
   "city":"São Teste",
   "state":"SP",
   "zip_code":"12345678",
   "phone_number":"11912341234",
   "email":"testeloja@teste.com",
   "mcc":"1234",
   "transactional_urls":{
      "status":"https://www.testeloja.com/status",
      "authenticity":"https://www.testeloja.com/autent",
      "hash":"https://www.testeloja.com/hash"
   },
   "return_urls":{
      "success":"https://www.testeloja.com/sucesso",
      "failure":"https://www.testeloja.com/fracasso",
      "cancel":"https://www.testeloja.com/cancel"
   },
   "permissions":{
      "payment":"true",
      "pre_authorization":"false",
      "recharge":"false",
      "risk_analysis":"true",
      "schedule":"true",
      "iata":"false",
      "card_store":"false",
      "payment_link":"true"
   },
   "establishments":[
      {
         "code":"00000000123",
         "routing_id":"1125",
         "subacquirer_group_id":"123456"
      },
      {
         "code":"00000000321",
         "routing_id":"1005"
      }
   ],
   "authorizers":[
      {
         "id":"1",
         "routing_id":"1125",
         "min_installments_amount":"100",
         "max_installments_without_interest":"1",
         "max_installments_with_interest":"12",
         "enable_subacquirer_group":"true"
      },
      {
         "id":"2",
         "routing_id":"1005",
         "min_installments_amount":"100",
         "max_installments_without_interest":"1",
         "max_installments_with_interest":"12",
         "enable_subacquirer_group":"false"
      }
   ]
}
--verbose

Resposta:

{
   "id":"qereIoinsd3d",
   "key":"9B71234TB12D938T9384TDB294T923D412T938D1293D4B923D",
   "response_code":"0",
   "response_message":"OK", 
   "authorizer_response_code":"0", 
   "authorizer_response_message":"OK"
}

Parâmetros de requisição

Na tabela abaixo está a descrição dos parâmetros de requisição do serviço de edição de loja:

ParâmetroDescriçãoFormatoObrigatório
{id}Código da loja a ser editada. Presente na própria URL.< 15 ANSIM
fantasy_nameNome fantasia da loja.< 250 ANNÃO
corporate_nameRazão social da loja.< 250 ANNÃO
merchant_statusStatus da loja. Pode assumir os seguintes valores:
  • A = Ativa
  • I = Inativa
= 1 ANNÃO
domainDomínio (site) da loja.< 500 ANNÃO
cnpjCNPJ ou CPF da loja. Apenas números.< 14 NNÃO
addressEndereço da loja.< 200 ANNÃO
cityCidade da loja.< 50 ANNÃO
stateEstado da loja (sigla).= 2 ANNÃO
zip_codeCEP da loja.< 9 ANNÃO
phone_numberTelefone da loja.< 30 ANNÃO
emailEndereço de e-mail da loja.< 100 ANNÃO
mccMerchant Category Code.= 4 NNÃO
subacquirer_group Dados de grupo de subadquirência.
createFlag que indica se devemos criar o grupo de subadquirência< 5 T/FNÃO
idID do grupo de subadquirência< 6 ANNÃO
cnpjCNPJ do grupo de sub-adquirência= 14 NSIM, caso o campo subacquirer_group.create seja true
establishments Dados dos estabelecimentos a serem cadastrados no SiTef.
codeCódigo do estabelecimento (número lógico) a ser cadastrado no SiTef< 32 ANNÃO
routing_idID do roteamento (tipo de pagamento do e-SiTef)< 4 NNÃO
subacquirer_group_idID do grupo de sub-adquirência. Deve ser enviado caso esse estabelecimento deva ser cadastrado para o grupo ao invés da empresa.< 6 ANNÃO
extra_dataInformação adicional do estabelecimento< 32 ANNÃO
transactional_urls URLs utilizadas em fluxos transacionais.
statusURL para recebimento de avisos de status.< 500 ANNÃO
authenticityURL para recebimento de POSTs de autenticidade.< 500 ANNÃO
hashURL para recebimento de hash/token de cartão armazenado.< 500 ANNÃO
return_urls URLs de retorno de pagamento HTML.
successURL de retorno de sucesso.< 500 ANNÃO
failureURL de retorno de fracasso.< 500 ANNÃO
cancelURL de retorno de cancelamento.< 500 ANNÃO
permissions Permissões transacionais a serem designadas para a loja. Enviar o valor true para habilitar a funcionalidade em questão.
paymentPermissão para pagamento.< 5 ANNÃO
pre_authorizationPermissão para pré-autorização.< 5 ANNÃO
rechargePermissão para recarga.< 5 ANNÃO
risk_analysisPermissão para análise de risco.< 5 ANNÃO
schedulePermissão para agendamento.< 5 ANNÃO
iataPermissão para IATA.< 5 ANNÃO
card_storePermissão para armazenamento de cartão.< 5 ANNÃO
payment_linkPermissão para pagamento via link.< 5 ANNÃO
authorizers[] Autorizadoras a serem cadastradas para a loja.
idID da autorizadora no e-SiTef. Saiba mais.< 4 NSIM
routing_idID do roteamento/adquirente no e-SiTef. Saiba mais.< 4 NSIM
statusEnviar A para ativar ou I para inativar a autorizadora.< 1 ANNÃO
min_installments_amountValor mínimo para parcelamento em transações HTML. Valor padrão: 1000< 12 NNÃO
max_installments_without_interestNúmero máximo de parcelas sem juros em transações HTML. Valor padrão: 3< 2 NNÃO
max_installments_with_interestNúmero máximo de parcelas com juros em transações HTML. Valor padrão: 12< 2 NNÃO
enable_subacquirer_groupHabilitar bandeira para uso de grupo de sub-adquirência. Enviar true para habilitar ou false para desabilitar.< 5 T/FNÃO
authorizers[].parameters Parâmetros específicos do roteamento. Saiba mais.

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 200. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de edição de loja:

ParâmetroDescriçãoFormato
response_codeCódigo de resposta do e-SiTef. Qualquer código diferente de 0 significa falha.< 4 N
response_messageMensagem de resposta do e-SiTef.< 500 AN
authorizer_response_codeAuthorizer response code.< 4 N
authorizer_response_messageAuthorizer response message.< 500 AN
idCódigo da loja alterada.< 15 AN
keyChave da loja alterada.< 80 AN

Serviço de consulta de loja

Após obter o token ou assinatura na etapa anterior, a loja virtual pode consumir o serviço de consulta de loja.

Detalhes da chamada

  • Recurso: /v1/merchants/{id}
  • Método HTTP: GET
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.< 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM
tokenToken obtido no serviço de criação de token. Saiba mais.= 66 ANNÃO
AuthorizationDeve ser enviada a assinatura de autenticação da loja no formato Bearer {assinatura}. Exemplo: Bearer JHVGytfdgauygdauiw78264284527852897hagdg.< 2000 ANNÃO

Exemplo

Resposta:

{
   "response_code":"0", 
   "response_message":"OK", 
   "id":"qereIoinsd3d",
   "key":"9B71234TB12D938T9384TDB294T923D412T938D1293D4B923D",
   "fantasy_name":"Teste de Loja",
   "corporate_name":"Testes de Loja Ltda.",
   "merchant_status":"A",
   "sitef_merchant_id":"00000000",
   "domain":"www.testeloja.com",
   "cnpj":"123123123123",
   "address":"Rua do Teste, 123",
   "city":"São Teste",
   "state":"SP",
   "zip_code":"12345678",
   "phone_number":"11912341234",
   "email":"testeloja@teste.com",
   "mcc": "1234",
   "transactional_urls":{
      "status":"https://www.testeloja.com/status",
      "authenticity":"https://www.testeloja.com/autent",
      "hash":"https://www.testeloja.com/hash"
   },
   "return_urls":{
      "success":"https://www.testeloja.com/sucesso",
      "failure":"https://www.testeloja.com/fracasso",
      "cancel":"https://www.testeloja.com/cancel"
   },
   "permissions":{
      "payment":"true",
      "pre_authorization":"false",
      "recharge":"false",
      "risk_analysis":"true",
      "schedule":"true",
      "iata":"false",
      "card_store":"false",
      "payment_link":"true"
   },
   "authorizers":[
      {
         "id":"1",
         "status":"I",
         "routing_id":"1125",
         "min_installments_amount":"100",
         "max_installments_without_interest":"1",
         "max_installments_with_interest":"12"
      },
      {
         "id":"2",
         "status":"A",
         "routing_id":"201",
         "min_installments_amount":"100",
         "max_installments_without_interest":"1",
         "max_installments_with_interest":"12",
         "parameters":{
            "merchantId":"8h37e9e23oe",
            "merchantKey":"b9f374t5983t745f873tb45f93b4f2293b485ft34"
         }
      }
   ]
}

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 200. Qualquer outro código deve ser interpretado como erro.

ParâmetroDescriçãoFormato
response_codeCódigo de resposta do e-SiTef.< 4 N
response_messageMensagem de resposta do e-SiTef.< 500 AN
idCódigo da loja consultada.< 15 AN
keyChave da loja consultada.< 80 AN
fantasy_nameNome fantasia da loja.< 250 AN
corporate_nameRazão social da loja.< 250 AN
merchant_statusStatus da loja. Pode assumir os seguintes valores:
  • A = Ativa
  • I = Inativa
= 1 AN
sitef_merchant_idCódigo de empresa da loja.8 N
domainDomínio (site) da loja.< 65 AN
cnpjCNPJ ou CPF da loja. Apenas números.< 14 N
addressEndereço da loja.< 30 AN
cityCidade da loja.< 13 AN
stateEstado da loja (sigla).= 2 AN
zip_codeCEP da loja.< 9 AN
phone_numberTelefone da loja.< 30 AN
emailEndereço de e-mail da loja.< 100 AN
transactional_urls URLs utilizadas em fluxos transacionais.
mccMerchant Category Code - código que indica a categoria do estabelecimento= 4 N
statusURL para recebimento de avisos de status.< 500 AN
authenticityURL para recebimento de POSTs de autenticidade.< 500 AN
hashURL para recebimento de hash/token de cartão armazenado.< 500 AN
return_urls URLs de retorno de pagamento HTML.
successURL de retorno de sucesso.< 500 AN
failureURL de retorno de fracasso.< 500 AN
cancelURL de retorno de cancelamento.< 500 AN
permissions Permissões transacionais a serem designadas para a loja. Enviar o valor true para habilitar a funcionalidade em questão.
paymentPermissão para pagamento.< 5 AN
pre_authorizationPermissão para pré-autorização.< 5 AN
rechargePermissão para recarga.< 5 AN
risk_analysisPermissão para análise de risco.< 5 AN
schedulePermissão para agendamento.< 5 AN
iataPermissão para IATA.< 5 AN
card_storePermissão para armazenamento de cartão.< 5 AN
payment_linkPermissão para pagamento via link.< 5 AN
authorizers[] Autorizadoras a serem cadastradas para a loja.
idID da autorizadora no e-SiTef. Saiba mais.< 4 N
routing_idID do roteamento/adquirente no e-SiTef. Saiba mais.< 4 N
min_installments_amountValor mínimo para parcelamento em transações HTML. Valor padrão: 1000< 12 N
max_installments_without_interestNúmero máximo de parcelas sem juros em transações HTML. Valor padrão: 3< 2 N
max_installments_with_interestNúmero máximo de parcelas com juros em transações HTML. Valor padrão: 12< 2 N
authorizers[].parameters Parâmetros específicos do roteamento. Saiba mais.

Serviço de consulta de status loja

Após obter o token ou assinatura na etapa anterior, a loja virtual pode consumir o serviço de consulta de status de loja.

Atenção:

A loja a solicitar o status deve ter as devidas permissões e também deve estar presente no mesmo grupo em que a loja requisitada. Para mais informações sobre como habilitar a Consulta de Status de Loja, contate a nossa equipe de suporte.

Detalhes da chamada

  • Recurso: /v1/merchants/status/{id}
  • Método HTTP: GET
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.< 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM
tokenToken obtido no serviço de criação de token. Saiba mais.= 66 ANNÃO
AuthorizationDeve ser enviada a assinatura de autenticação da loja no formato Bearer {assinatura}. Exemplo: Bearer JHVGytfdgauygdauiw78264284527852897hagdg.< 2000 ANNÃO

Exemplo

Resposta:

{
   "response_code":"0", 
   "response_message":"OK", 
   "merchant_status": "A"
}

Parâmetros de resposta

ParâmetroDescriçãoFormato
response_codeCódigo de resposta do e-SiTef.< 4 N
response_messageMensagem de resposta do e-SiTef.< 500 AN
merchant_statusStatus da loja. Pode assumir os seguintes valores:
  • A = Ativa
  • I = Inativa
= 1 AN

Serviço de listagem de lojas

Após obter o token ou assinatura na etapa anterior, a loja virtual pode consumir o serviço de listagem de lojas.

Detalhes da chamada

  • Recurso: /v1/merchants
  • Método HTTP: GET
  • Formato da requisição: query string
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no e-SiTef. Os códigos de produção e certificação serão diferentes.< 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef. As chaves de produção e certificação serão diferentes.< 80 ANSIM
tokenToken obtido no serviço de criação de token. Saiba mais.= 66 ANNÃO
AuthorizationDeve ser enviada a assinatura de autenticação da loja no formato Bearer {assinatura}. Exemplo: Bearer JHVGytfdgauygdauiw78264284527852897hagdg. Saiba mais.< 2000 ANNÃO

Exemplo

Abaixo estão alguns exemplos da chamada do serviço de listagem de loja utilizando a ferramenta cURL.

Listagem de loja utilizando token

Requisição:

curl
--request GET "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/merchants?cnpj=12345678901234&merchant_status=A&page=1&limit=1"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--header "token: 1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--verbose

Listagem de loja utilizando assinatura

Requisição:

curl
--request GET "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/merchants?cnpj=12345678901234&merchant_status=A&page=1&limit=1"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--header "Authorization: Bearer YYYYYYY"
--verbose

Resposta:

{
   "response_code":"0",
   "response_message":"OK",
   "current_page":"0",
   "total_pages":"1",
   "count":"1",
   "merchants":[
      {
         "id":"qereIoinsd3d",
         "merchant_status":"A",
         "fantasy_name":"Teste de Loja",
         "corporate_name":"Testes de Loja Ltda.",
         "cnpj":"12345678901234"
      }
   ]
}

Parâmetros de requisição

ParâmetroDescriçãoFormatoObrigatório
cnpjCNPJ da loja.= 14 NNÃO
merchant_statusStatus da loja. Pode assumir os seguintes valores:
  • A = Ativa
  • I = Inativa
= 1 ANNÃO
pagePágina da listagem. A primeira página tem valor 0. Caso não seja enviada, assumiremos o valor 0.< 4 NNÃO
limitNúmero máximo de registros por página. Caso não seja enviado, assumiremos o valor máximo 100.< 3 NNÃO

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 200. Qualquer outro código deve ser interpretado como erro.

ParâmetroDescriçãoFormato
response_codeCódigo de resposta do e-SiTef.< 4 N
response_messageMensagem de resposta do e-SiTef.< 500 AN
current_pagePágina atual dos registros.< 4 N
total_pagesNúmero total de páginas.< 4 N
countContagem total de registros.< 4 N
merchants[] Lista de lojas retornada na consulta.
idCódigo da loja consultada.< 15 AN
merchant_statusStatus da loja. Pode assumir os seguintes valores:
  • A = Ativa
  • I = Inativa
= 1 AN
fantasy_nameNome fantasia da loja.< 250 AN
corporate_nameRazão social da loja.< 250 AN
cnpjCNPJ ou CPF da loja. Apenas números.< 14 N

Códigos da API do cadastro de loja REST

Códigos de resposta

CódigoDescrição
0Transação OK
1Inválido file format
2Valor nulo sitef_merchantid
3Valor nulo sitef_ip
4Valor nulo currency
5Valor nulo sitef_port
6Valor nulo version
7Inválido currency
8Inválido payment_type for merchant
9Inválido id
10Inválido email
11Valor nulo email
12Valor nulo id
13Inválido address
14Valor nulo fantasy_name
15Inválido fantasy_name
16Valor nulo corporate_name
17Inválido corporate_name
18Valor nulo domain
19Inválido domain
20Valor nulo cnpj
21Inválido cnpj
22Inválido state
23Inválido phone_number
24Inválido transactional_urls.hash
25Inválido transactional_urls.authenticity
26Inválido return_urls.cancel
27Inválido return_urls.failure
28Inválido return_urls.success
29Inválido transactional_urls.status
30Inválido zip_code
31Inválido city
32Valor nulo authorizers.routing_id
33Inválido authorizers.routing_id
34Valor nulo authorizers.id
35Inválido authorizers.id
36Valor nulo authorizers.parameters.name
37Inválido authorizers.parameters.name
38Valor nulo authorizers.parameters
39Inválido authorizers.parameters
40Valor nulo request
41Autorizadora não permitida para NPC
42Valor nulo cpf
43Inválido cpf
44Inválido cpf/cnpj
45Valor nulo login
45Inválido login
47login já existe
48Valor nulo name
49Inválido name
50Valor nulo access_type
51Inválido access_type
52Valor nulo profile
53Inválido profile
54Valor nulo admin_profile
55Inválido admin_profile
56Valor nulo prefix
57Inválido prefix
58Valor nulo merchant_id
59Inválido merchant_id
60Valor nulo merchant_key
61Inválido merchant_key
62Valor nulo group_id
63Inválido group_id
64Cadastro de loja não permitido
65Permissões da loja insuficientes
66Inválido authorizers.min_installments_amount
67Inválido authorizers.max_installments_with_interest
68Inválido authorizers.max_installments_without_interest
69Inválido authorizers.status
70Erro de cadastro do grupo de loja
71Sem permissão para consultar a loja
72Inválido sitef_merchant_id
75Erro de cadastro adquirente
76Erro de cadastro da loja-pai
77Erro de comunicação client
78Valor nulo establishments.code
79Valor nulo establishments.routing_id
80Inválido establishments.routing_id
81Valor nulo subacquirer_group.id
82Valor nulo subacquirer_group.cnpj
83Sem permissão para consultar situação da loja
85Inválido merchant_status
86Inválido page
87Inválido limit
88Assinatura ou token não podem ser nulos
188Token expirado
189Token já foi utilizado
199Inválido token
200Erro de assinatura do token
500Erro de persistencia de dados
1000Erro inesperado! Por favor entre em contato com o time de atendimento do e-SiTef
1026Loja não possui chaves públicas registradas
1027Erro de validação de assinatura
1028Erro de validação de assinatura do payload
1029Assinatura expirada
1032Resultado não encontrado

3DS Server

Visão Geral

Para fazer transações de autenticação 3DS 2.0, é necessária a integração com uma aplicação 3DS Server, como a fornecida pela Software Express. Essa aplicação se comunica com a bandeira e o emissor para autenticar o portador do cartão, reduzindo incidências de fraude e possibilitando pagamentos com cartões de débito.

O protocolo 3DS 2.0 se difere de sua versão 1.0 na possibilidade de permitir uma autenticação frictionless (sem fricção), ou seja, um processo que não exige interações adicionais por parte do comprador.

Esta documentação é focada nas interações com o 3DS Server. Para mais informações referentes aos outros componentes do fluxo, consulte os documentos oficiais da EMVCo.

Comunicação

Para realizar uma transação Web Service, toda a comunicação será realizada via HTTPS/SSL. É importante que o servidor do lojista suporte criptografia com no mínimo 128 bits. O servidor da loja deverá realizar chamadas em endereços específicos para transações REST.

Cada serviço deve ser chamado utilizando a URL base concatenada do recurso desejado (veja o capítulo referente ao serviço a ser consumido). O método HTTP (GET, POST ou PUT) indica a ação esperada sobre o recurso escolhido. Abaixo estão as URLs base do 3DS Server:

URL base de Produção:

https://3ds.softwareexpress.com.br/

URL base de Homologação:

https://mpi-homolog.softwareexpress.com.br/3ds-server/

Todas as chamadas realizadas para os serviços serão respondidas de forma síncrona.

Atenção:

Nunca utilize o IP ao invés do domínio 3ds.softwareexpress.com.br. O IP pode mudar a qualquer momento e sem aviso prévio, portanto é importante a utilização do domínio para acesso ao 3DS Server.

Importante:

Além dos parâmetros de retorno dos serviços descritos nesta especificação o 3DS Server poderá devolver outros parâmetros sem aviso prévio.

É importante que o aplicativo esteja preparado para receber os parâmetros desconhecidos além dos parâmetros já especificados e simplesmente desprezá-los.

Fluxos

O protocolo 3DS 2.0 conta com 3 principais fluxos:

  • Frictionless (sem fricção): toda a autenticação é feita sem a exigência de interações adicionais por parte do comprador.
  • Challenge (desafio): as informações coletadas pelo emissor não são suficientes para autenticar o portador do cartão. Logo, o comprador deverá fornecer mais dados, diretamente no site do emissor.
  • Decoupled (desacoplado): a autenticação é feita fora do protocolo 3DS.

Glossário:

  • 3DS Requestor: loja ou gateway (como o e-SiTef)
  • DS: Directory Server; representa a bandeira
  • ACS: Access Control Server; representa o emissor
  • AReq: Authentication Request, conforme o protocolo 3DS 2.0
  • ARes: Authentication Response, conforme o protocolo 3DS 2.0
  • CReq: Challenge Request, conforme o protocolo 3DS 2.0
  • CRes: Challenge Response, conforme o protocolo 3DS 2.0
  • RReq: Results Request, conforme o protocolo 3DS 2.0
  • RRes: Results Response, conforme o protocolo 3DS 2.0

Fluxo Frictionless

  1. 3DS Requestor cria a transação de autenticação no 3DS Server, passando o número do cartão do comprador e seu ID de bandeira.
  2. 3DS Server valida se o cartão recebido pode ser autenticado pela bandeira indicada. Caso positivo, retorna o ID da transação 3DS Server (three_ds_server.trans_id) e o 3DS Method URL (three_ds_method_url) correspondente ao cartão.
  3. O 3DS Method URL deve ser exibido no navegador do comprador em um frame "invisível" de 1 pixel.
  4. Isso permitirá que o ACS colete diretamente as informações do dispositivo do portador do cartão.
  5. 3DS Requestor envia informações para a realização da autenticação.
  6. 3DS Server gera um AReq e o envia para o DS, que em seguida propaga ao ACS. O resultado da autenticação volta para o 3DS Server como conteúdo do ARes.
  7. Caso a autenticação seja bem-sucedida, será retornado o status (campo three_ds_server.status) com valor Y, o ECI (campo eci) e o CAVV (campo authentication.value), que devem ser então enviados ao adquirente.

Fluxo Challenge

Os passos 1 até 6 são os mesmos do fluxo frictionless.

  1. Será retornado o status (campo three_ds_server.status) com valor C e a URL do desafio preenchida (campo acs.url).
  2. 3DS Requestor prepara o CReq para ser submetido pelo navegador do comprador para a URL de desafio.
  3. ACS exibe sua tela de desafio para que o comprador forneça mais informações. Note que podem ser necessárias múltiplas interações para conclusão desse processo.
  4. ACS envia o RReq para o DS, que por sua vez propaga ao 3DS Server. Essa chamada se trata de uma notificação informando o resultado da autenticação.
  5. ACS envia o CRes ao 3DS Requestor em sua URL informada no passo 5 (campo notification_url). Este objeto contém o ID da transação 3DS Server.
  6. 3DS Requestor consulta a transação do 3DS Server para obter o resultado da autenticação.
  7. 3DS Server retorna as informações de sua transação.

Fluxo Decoupled

Os passos 1 até 6 são os mesmos do fluxo frictionless.

  1. Será retornado o status (campo three_ds_server.status) com valor D.
  2. ACS conduzirá seu próprio processo de autenticação, por fora do protocolo 3DS 2.0.
  3. ACS envia o RReq para o DS, que por sua vez propaga ao 3DS Server, informando o resultado da autenticação.
  4. 3DS Server informa o resultado ao 3DS Requestor através de sua URL de notificação informada no passo 5 (campo decoupled_notification_url).
  5. 3DS Requestor responde a notificação com código HTTP 200.

Quick start

Este guia mostra o processo de uma autenticação frictionless, utilizando a interface web service REST do 3DS Server da Software Express.

O que você precisará

  • Cadastro ativo no ambiente de homologação do 3DS Server (obtido com nossa equipe de suporte)
  • Uma ferramenta capaz de realizar chamadas HTTP, como Postman, REST Client ou cURL

Criando a transação

Tipo de requisição: POST

URL: https://mpi-homolog.softwareexpress.com.br/3ds-server/v2/authentication

Headers:

  • Content-Type: application/json
  • merchant_id: {seu código de loja}
  • merchant_key: {chave da sua loja}

Requisição:

JSON
cURL
{
"cardholder":{
"acct":{
"number":"1234123412341234"
}
},
"brand_id":"2"
}
curl
--request POST "https://mpi-homolog.softwareexpress.com.br/3ds-server/v2/authentication"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"cardholder":{
"acct":{
"number":"1234123412341234"
}
},
"brand_id":"2"
}
--verbose

Resposta:

{
    "three_ds_method_url": "https://www.example.com",
    "three_ds_server": {
        "trans_id": "12341234-1234-1234-1234-123412341234",
        "status": "NEW"
    },
    "acs": {
        "protocol_version": {
            "start": "2.1.0",
            "end": "2.2.0"
        }
    },
    "device_channel": "02",
    "ds": {
        "protocol_version": {
            "start": "2.1.0",
            "end": "2.2.0"
        }
    }
}

Saiba mais sobre esse serviço.

Fazendo a autenticação

Tipo de requisição: PUT

URL: https://mpi-homolog.softwareexpress.com.br/3ds-server/v2/authentication/{ID da transação 3DS Server}

Headers:

  • Content-Type: application/json
  • merchant_id: {seu código de loja}
  • merchant_key: {chave da sua loja}

Requisição:

JSON
cURL
{
"three_ds_comp_ind":"Y",
"pay_token_ind":"false",
"notification_url":"https://www.requestor.com/notification",
"decoupled_notification_url":"https://www.requestor.com/decoupled_notification",
"trans_type":"01",
"three_ds_requestor":{
"authentication_ind":"01",
"decoupled_max_time":"10",
"id":"id",
"name":"Loja de Testes",
"url":"https://www.requestor.com"
},
"acquirer":{
"bin":"2",
"merchant_id":"00000000"
},
"browser":{
"accept_header":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
"ip":"10.20.30.40",
"javascript_enabled":true,
"java_enabled":"false",
"language":"pt-BR",
"color_depth":"24",
"screen_height":"864",
"screen_width":"1536",
"tz":"180",
"user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0"
},
"cardholder":{
"card_expiry_date":"2212",
"name":"Joaquim",
"acct":{
"type":"02",
"number":"1234123412341234"
}
},
"merchant":{
"mcc":"mcc",
"country_code":"BRA",
"name":"Loja de Teste",
},
"message":{
"category":"01"
},
"purchase":{
"amount":"10000",
"currency":"986",
"exponent":"2",
"date":"date"
}
}
curl
--request PUT "https://mpi-homolog.softwareexpress.com.br/3ds-server/v2/authentication/12341234-1234-1234-1234-123412341234"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"three_ds_comp_ind":"Y",
"pay_token_ind":"false",
"notification_url":"https://www.requestor.com/notification",
"decoupled_notification_url":"https://www.requestor.com/decoupled_notification",
"trans_type":"01",
"three_ds_requestor":{
"authentication_ind":"01",
"decoupled_max_time":"10",
"id":"id",
"name":"Loja de Testes",
"url":"https://www.requestor.com"
},
"acquirer":{
"bin":"2",
"merchant_id":"00000000"
},
"browser":{
"accept_header":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
"ip":"10.20.30.40",
"javascript_enabled":true,
"java_enabled":"false",
"language":"pt-BR",
"color_depth":"24",
"screen_height":"864",
"screen_width":"1536",
"tz":"180",
"user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0"
},
"cardholder":{
"card_expiry_date":"2212",
"name":"Joaquim",
"acct":{
"type":"02",
"number":"1234123412341234"
}
},
"merchant":{
"mcc":"mcc",
"country_code":"BRA",
"name":"Loja de Teste",
},
"message":{
"category":"01"
},
"purchase":{
"amount":"10000",
"currency":"986",
"exponent":"2",
"date":"date"
}
}
--verbose

Resposta:

{
    "three_ds_server": {
        "trans_id": "12341234-1234-1234-1234-123412341234",
        "status": "AUY"
    },
    "acs": {
        "operator_id": "acsOperatorID",
        "reference_number": "acsReferenceNumber",
        "trans_id": "43214321-4321-4321-4321-432143214321"
    },
    "eci": "05",
    "device_channel": "02",
    "authentication": {
        "value": "1234567890123456789012345678"
    },
    "broad_info": "broadInfo",
    "ds": {
        "reference_number": "dsReferenceNumber",
        "trans_id": "56785678-5678-5678-5678-567856875678"
    },
    "transaction": {
        "status": "Y"
    }
}

Saiba mais sobre esse serviço.

Serviço de criação de transação

Essa chamada é necessária para obter o 3DS Method URL correspondente ao cartão, além criar uma transação 3DS Server, que será utilizada nos passos seguintes do fluxo.

Detalhes da chamada

  • Recurso: /v2/authentication
  • Método HTTP: POST
  • Formato da requisição: JSON
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no 3DS Server. Os códigos de produção e certificação serão diferentes.< 15 ANSIM
merchant_keyChave de autenticação da loja no 3DS Server. As chaves de produção e certificação serão diferentes.< 80 ANSIM
Content-TypeDeve ser enviado com o valor application/json.= 15 ANSIM
AuthorizationDeve ser enviada a assinatura de autenticação da loja no formato Bearer {assinatura}. Exemplo: Bearer JHVGytfdgauygdauiw78264284527852897hagdg.< 2000 ANCOND.*

* Nota: Por razões de segurança, para que a autenticação da transação seja realizada, é recomendado informar o valor para o campo Authorization.
Caso a loja tenha cadastrado sua chave pública com o e-SiTef, este campo passa a ser obrigatório.

Geração da assinatura

Para gerar o valor a ser enviado no header Authorization, é necessário:

  • Gerar as chaves pública e privada
    • Consulte a página de Autenticação com assinatura, seção Criando as chaves pública e privada.
    • Enviar somente a chave pública para a nossa equipe de suporte, que associará internamente essa chave ao cadastro de sua loja.
  • Seguir as instruções de geração de assinatura descritas na página Autenticação com assinatura, seção Algoritmo de assinatura, com exceção da subseção Segunda parte (payload), que será diferente neste caso - ver mais detalhes a seguir.

Payload

O payload para esta funcionalidade deverá ter o seguinte formato:

{
  "merchant_id":"XXXXX",
  "merchant_key": "XXXXXXXXXXXXXXX",
  "cartao": "5555555555555555",
  "timestamp": "1620952402824"
}

Payload Base64:

eyJhbGciOiJSUzI1NiJ9.eyJtZXJjaGFudF9pZCI6IkRBVEFPTkxZT04iLCJtZXJjaGFudF9rZXkiOiI5QUM0RjVEQTk0NDExODJDMUNEODJEMzlDNDg2ODYzOTNBRkZDNjlGQzRFMDczM0VFNDgyNjRDNjNCODZENUVFIiwiY2FydGFvIjoiNDExMTEyMDAwMDAwMDAwMCIsInRpbWVzdGFtcCI6IjE2MjA5NTEyNDA5NzUifQ.oYlyOKPsJ9aOCrmJcOq024FGnKReevWdSbKXTcopNqp8AT_4dERYD9G4v-h7pq-xbZOGUOO7YpNmGIqmC-oWHLHGdDGenM7bJyuq1QUff3D9WoMNLeBk5wyguVPoaH7QApksWJllp4fUfLz_BDjw5xwc8ksrDQu1M8w-_PP8wWv9f1_A34Lo7dk1FTQwuFNO4ZBfnkTRLfn0_pIypU9h42Sh9Nr4V8_9Xz0TZvbSw5_FNFY_iQAwXs1Ipr0tGHNL1fvKBlgXfB06ouenHIFNhvzdgPjwGZToJo5hG3NSLsRAI-OiXEkK9loPNNNldkSTzbrtYYTD8gDL90dbQe8fIE3fir-48dsGCzyqO7dZigSbSXxRZkHC6ArfIY6MtY9C4pD8Ero4kOXjAMfxfJq7fhsTh7wrnUhkU-hZxl4nGH_0BPWAe7vBqdCw2agOpUzixY1rLtlQlJ41W42rbIL7lSW6zPF1oLtYG73hUjlcmW8aAdoJlQANWK9_dv6gHv0PjV-BS6jZsLT2aL5Mqgi8DCVPg6cRwAfv2DXSizcSX-6a6mpfQ7ZgR0eU0vHgopX_t6jnO3O3v6Lp2vIArrsH8SW0LT1oBDn-9p-SvtMIJQDhejkPuzrVmwNNXMy8Sb6c8LmhfnPhmyeObUbk1I1iCcbIrCdvqteZdrlGMCImo2M

Composição do payload

ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no e-SiTef.= 15 ANSIM
merchant_keyChave de autenticação da loja no e-SiTef.< 80 ANSIM
cartaoNúmero do cartão do comprador (PAN).< 19 ANSIM
timestampRepresentação em milissegundos do momento de geração da assinatura. Enfatizando que o campo timestamp possui um limite de validade de 10 minutos.< 13 NSIM

Exemplos

Abaixo estão alguns exemplos de chamada do serviço de criação de transações utilizando a ferramenta cURL.

Requisição:

curl
--request POST "https://mpi-homolog.softwareexpress.com.br/3ds-server/v2/authentication"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxxxxxx" 
--header "merchant_key: xxxxxxxxxxx"
--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJtZXJjaGFudF9pZCI6IkRBVEFPTkxZT04iLCJtZXJjaGFudF9rZXkiOiI5QUM0RjVEQTk0NDExODJDMUNEODJEMzlDNDg2ODYzOTNBRkZDNjlGQzRFMDczM0VFNDgyNjRDNjNCODZENUVFIiwiY2FydGFvIjoiNDExMTEyMDAwMDAwMDAwMCIsInRpbWVzdGFtcCI6IjE2MjA5NTEyNDA5NzUifQ.oYlyOKPsJ9aOCrmJcOq024FGnKReevWdSbKXTcopNqp8AT_4dERYD9G4v-h7pq-xbZOGUOO7YpNmGIqmC-oWHLHGdDGenM7bJyuq1QUff3D9WoMNLeBk5wyguVPoaH7QApksWJllp4fUfLz_BDjw5xwc8ksrDQu1M8w-_PP8wWv9f1_A34Lo7dk1FTQwuFNO4ZBfnkTRLfn0_pIypU9h42Sh9Nr4V8_9Xz0TZvbSw5_FNFY_iQAwXs1Ipr0tGHNL1fvKBlgXfB06ouenHIFNhvzdgPjwGZToJo5hG3NSLsRAI-OiXEkK9loPNNNldkSTzbrtYYTD8gDL90dbQe8fIE3fir-48dsGCzyqO7dZigSbSXxRZkHC6ArfIY6MtY9C4pD8Ero4kOXjAMfxfJq7fhsTh7wrnUhkU-hZxl4nGH_0BPWAe7vBqdCw2agOpUzixY1rLtlQlJ41W42rbIL7lSW6zPF1oLtYG73hUjlcmW8aAdoJlQANWK9_dv6gHv0PjV-BS6jZsLT2aL5Mqgi8DCVPg6cRwAfv2DXSizcSX-6a6mpfQ7ZgR0eU0vHgopX_t6jnO3O3v6Lp2vIArrsH8SW0LT1oBDn-9p-SvtMIJQDhejkPuzrVmwNNXMy8Sb6c8LmhfnPhmyeObUbk1I1iCcbIrCdvqteZdrlGMCImo2M'
--data-binary
{
   "cardholder":{
      "acct":{
         "number":"1234123412341234"
      }
   },
   "brand_id":"2"
}
--verbose

Resposta:

{
    "three_ds_method_url": "https://www.example.com",
    "three_ds_server": {
        "trans_id": "12341234-1234-1234-1234-123412341234",
        "status": "NEW"
    },
    "acs": {
        "protocol_version": {
            "start": "2.1.0",
            "end": "2.2.0"
        }
    },
    "device_channel": "02",
    "ds": {
        "protocol_version": {
            "start": "2.1.0",
            "end": "2.2.0"
        }
    }
}

Parâmetros de requisição

Na tabela abaixo está a descrição dos parâmetros de requisição do serviço de criação de transações:

ParâmetroDescriçãoFormatoObrigatório
brand_idID da bandeira. Saiba mais.= 4 NSIM
cardholder.acct
numberNúmero do cartão do comprador.< 19 NSIM
message
versionVersão da mensagem 3DS: 2.1.0 ou 2.2.0.< 8 ANNÃO

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 201. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de criação de transações:

ParâmetroDescriçãoFormato
three_ds_method_urlURL do frame invisível a ser exibido no navegador do comprador< 256 AN
device_channelCanal do dispositivo. Saiba mais.< 2 N
three_ds_server
trans_idID da transação 3DS Server< 8 AN
statusStatus no 3DS Server. Saiba mais.= 3 AN
acs.protocol_version
startVersão mais antiga de protocolo 3DS suportada pelo ACS< 8 AN
endVersão mais recente de protocolo 3DS suportada pelo ACS< 8 AN
ds.protocol_version
startVersão mais antiga de protocolo 3DS suportada pelo DS< 8 AN
endVersão mais recente de protocolo 3DS suportada pelo DS< 8 AN
error
codeCódigo do erro. Saiba mais.< 3 N
componentIndica qual componente identificou o erro.
  • C = 3DS SDK
  • S = 3DS Server
  • D = DS
  • A = ACS
= 1 AN
descriptionDescrição do erro< 2048 AN
detailDetalhamento do erro< 28 AN

Serviço de autenticação

Após a criação da transação, é necessário chamar o serviço de autenticação para dar continuidade ao fluxo. Caso seja retornado o status AUC, será preciso iniciar um desafio. Para o status AUD, deve ser seguido o fluxo "decoupled". Nos demais casos, não serão necessárias mais chamadas.

Detalhes da chamada

  • Recurso: /v2/authentication/{ID da transação 3DS Server}
  • Método HTTP: PUT
  • Formato da requisição: JSON
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no 3DS Server. Os códigos de produção e certificação serão diferentes.< 15 ANSIM
merchant_keyChave de autenticação da loja no 3DS Server. As chaves de produção e certificação serão diferentes.< 80 ANSIM
Content-TypeDeve ser enviado com o valor application/json.= 15 ANSIM

Exemplos

Abaixo estão alguns exemplos de chamada do serviço de autenticação utilizando a ferramenta cURL.

Fluxo Frictionless

Requisição:

curl
--request PUT "https://mpi-homolog.softwareexpress.com.br/3ds-server/v2/authentication/12341234-1234-1234-1234-123412341234"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxxxxxx" 
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "three_ds_comp_ind":"Y",
   "pay_token_ind":"false",
   "notification_url":"https://www.requestor.com/notification",
   "decoupled_notification_url":"https://www.requestor.com/decoupled_notification",
   "trans_type":"01",
   "three_ds_requestor":{
      "authentication_ind":"01",
      "decoupled_max_time":"10",
      "id":"id",
      "name":"Loja de Testes",
      "url":"https://www.requestor.com"
   },
   "acquirer":{
      "bin":"2",
      "merchant_id":"00000000"
   },
   "browser":{
      "accept_header":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
      "ip":"10.20.30.40",
      "javascript_enabled":true,
      "java_enabled":"false",
      "language":"pt-BR",
      "color_depth":"24",
      "screen_height":"864",
      "screen_width":"1536",
      "tz":"180",
      "user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0"
   },
   "cardholder":{
      "card_expiry_date":"2212",
      "name":"Joaquim",
      "acct":{
         "type":"02",
         "number":"1234123412341234"
      }
   },
   "merchant":{
      "mcc":"mcc",
      "country_code":"BRA",
      "name":"Loja de Teste",
   },
   "message":{
      "category":"01"
   },
   "purchase":{
      "amount":"10000",
      "currency":"986",
      "exponent":"2",
      "date":"date"
   }
}
--verbose

Resposta:

{
    "three_ds_server": {
        "trans_id": "12341234-1234-1234-1234-123412341234",
        "status": "AUY"
    },
    "acs": {
        "operator_id": "acsOperatorID",
        "reference_number": "acsReferenceNumber",
        "trans_id": "43214321-4321-4321-4321-432143214321"
    },
    "eci": "05",
    "device_channel": "02",
    "authentication": {
        "value": "1234567890123456789012345678"
    },
    "broad_info": "broadInfo",
    "ds": {
        "reference_number": "dsReferenceNumber",
        "trans_id": "56785678-5678-5678-5678-567856875678"
    },
    "transaction": {
        "status": "Y"
    }
}

Fluxo Challenge

Requisição:

curl
--request PUT "https://mpi-homolog.softwareexpress.com.br/3ds-server/v2/authentication/12341234-1234-1234-1234-123412341234"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxxxxxx" 
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "three_ds_comp_ind":"Y",
   "pay_token_ind":"false",
   "notification_url":"https://www.requestor.com/notification",
   "decoupled_notification_url":"https://www.requestor.com/decoupled_notification",
   "trans_type":"01",
   "three_ds_requestor":{
      "authentication_ind":"01",
      "decoupled_max_time":"10",
      "id":"id",
      "name":"Loja de Testes",
      "url":"https://www.requestor.com"
   },
   "acquirer":{
      "bin":"2",
      "merchant_id":"00000000"
   },
   "browser":{
      "accept_header":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
      "ip":"10.20.30.40",
      "javascript_enabled":true,
      "java_enabled":"false",
      "language":"pt-BR",
      "color_depth":"24",
      "screen_height":"864",
      "screen_width":"1536",
      "tz":"180",
      "user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0"
   },
   "cardholder":{
      "card_expiry_date":"2212",
      "name":"Joaquim",
      "acct":{
         "type":"02",
         "number":"1234123412341234"
      }
   },
   "merchant":{
      "mcc":"mcc",
      "country_code":"BRA",
      "name":"Loja de Teste",
   },
   "message":{
      "category":"01"
   },
   "purchase":{
      "amount":"10004",
      "currency":"986",
      "exponent":"2",
      "date":"date"
   }
}
--verbose

Resposta:

{
    "three_ds_server": {
        "trans_id": "12341234-1234-1234-1234-123412341234",
        "status": "AUC"
    },
    "acs": {
        "challenge_mandated": "Y",
        "operator_id": "acsOperatorID",
        "reference_number": "acsReferenceNumber",
        "trans_id": "43214321-4321-4321-4321-432143214321",
        "url": "https://www.acs.com/challenge"
    },
    "device_channel": "02",
    "authentication": {
        "type": "01"
    },
    "broad_info": "broadInfo",
    "ds": {
        "reference_number": "dsReferenceNumber",
        "trans_id": "56785678-5678-5678-5678-567856875678"
    },
    "transaction": {
        "status": "C"
    }
}

Fluxo Decoupled

Requisição:

curl
--request PUT "https://mpi-homolog.softwareexpress.com.br/3ds-server/v2/authentication/12341234-1234-1234-1234-123412341234"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxxxxxx" 
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
   "three_ds_comp_ind":"Y",
   "pay_token_ind":"false",
   "notification_url":"https://www.requestor.com/notification",
   "decoupled_notification_url":"https://www.requestor.com/decoupled_notification",
   "trans_type":"01",
   "three_ds_requestor":{
      "authentication_ind":"01",
      "decoupled_max_time":"10",
      "id":"id",
      "name":"Loja de Testes",
      "url":"https://www.requestor.com"
   },
   "acquirer":{
      "bin":"2",
      "merchant_id":"00000000"
   },
   "browser":{
      "accept_header":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
      "ip":"10.20.30.40",
      "javascript_enabled":true,
      "java_enabled":"false",
      "language":"pt-BR",
      "color_depth":"24",
      "screen_height":"864",
      "screen_width":"1536",
      "tz":"180",
      "user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0"
   },
   "cardholder":{
      "card_expiry_date":"2212",
      "name":"Joaquim",
      "acct":{
         "type":"02",
         "number":"1234123412341234"
      }
   },
   "merchant":{
      "mcc":"mcc",
      "country_code":"BRA",
      "name":"Loja de Teste",
   },
   "message":{
      "category":"01"
   },
   "purchase":{
      "amount":"10006",
      "currency":"986",
      "exponent":"2",
      "date":"date"
   }
}
--verbose

Resposta:

{
    "three_ds_server": {
        "trans_id": "12341234-1234-1234-1234-123412341234",
        "status": "AUD"
    },
    "acs": {
        "challenge_mandated": "Y",
        "operator_id": "acsOperatorID",
        "reference_number": "acsReferenceNumber",
        "trans_id": "43214321-4321-4321-4321-432143214321",
        "decoupled_confirmation_ind": "Y"
    },
    "device_channel": "02",
    "authentication": {
        "type": "04"
    },
    "broad_info": "broadInfo",
    "cardholder": {
        "info": "cardholderInfo"
    },
    "ds": {
        "reference_number": "dsReferenceNumber",
        "trans_id": "56785678-5678-5678-5678-567856875678"
    },
    "transaction": {
        "status": "D"
    }
}

Parâmetros de requisição

Na tabela abaixo está a descrição dos parâmetros de requisição do serviço de autenticação:

ParâmetroDescriçãoFormatoObrigatório
device_channelCanal do dispositivo. Valor padrão: 02. Saiba mais.= 2 NNÃO
three_ri_indIndica o tipo de requisição 3RI.
  • 01 = Transação recorrente
  • 02 = Transação parcelada
  • 03 = Adição de cartão
  • 04 = Manter informações de cartão
  • 05 = Verificação de conta
  • 06 = Entrega atrasada
  • 07 = Recarga
  • 08 = Serviço postal
  • 09 = Serviço telefônico
  • 10 = Verificação de status de lista branca
  • 11 = Outros pagamentos
Obrigatório para device_channel = 03.
= 2 NCOND.
three_ds_comp_indIndica se o 3DS Method foi executado com sucesso.
  • Y = Realizado com sucesso
  • N = Não executado com sucesso
  • U = Indisponível— não tinha 3DS Method URL associada ao cartão.
Obrigatório para device_channel = 02.
= 1 ACOND.
pay_token_indO valor true indica que a transação foi "destokenizada" antes do recebimento pelo ACS.< 5 ANNÃO
pay_token_sourceIndica onde ocorreu a "destokenização".
  • 01 - 3DS Server
  • 02 - DS
= 2 NNÃO
notification_urlURL completa do 3DS Requestor para receber a mensagem CRes. Campo obrigatório para device_channel = 02.< 256 ANCOND.
decoupled_notification_urlURL completa do 3DS Requestor para recebimento na notificação "decoupled".< 300 ANSIM
trans_typeIdentifica o tipo de transação sendo autenticada.
  • 01 = Compra de bens/serviços
  • 03 = Check Acceptance
  • 10 = Financiamento de Conta
  • 11 = Transação Quasi-Cash
  • 28 = Ativação e carga de pré-pago
= 2 NSIM
broad_infoInformação não-estruturada enviada entre 3DS Server, DS e ACS.ObjectNÃO
three_ds_requestor
authentication_indIndica o tipo da requisição de autenticação.
  • 01 = Transação de pagamento
  • 02 = Transação recorrente
  • 03 = Transação parcelada
  • 04 = Adição de cartão
  • 05 = Manter cartão
  • 06 = Verificação do portador como parte de EMV token ID&V
= 2 NSIM
decoupled_max_timeIndica a quantidade máxima de tempo que o 3DS Requestor vai esperar para que o ACS forneça os resultados de uma autenticação decoupled (em minutos).< 5 NNÃO
decoupled_request_indIndica se o 3DS Requestor pede para que o ACS use autenticação decoupled e concorda com a sua utilização caso o ACS confirme seu uso.
  • Y = Autenticação decoupled é suportada e preferida se um desafio for necessário
  • N = Não use autenticação decoupled
= 1 ANNÃO
challenge_indIndica se um desafio é requerido para essa transação.
  • 01 = Sem preferência
  • 02 = Desafio não pedido
  • 03 = Desafio pedido (preferência do 3DS Requestor)
  • 04 = Desafio pedido (mandato)
  • 05 = Desafio não pedido (análise de fraude já realizada)
  • 06 = Desafio não pedido (apenas compartilhamento de dados)
  • 07 = Desafio não pedido (forte autenticação de consumidor já é feita)
  • 08 = Desafio não pedido (usar isenção de lista branca caso o desafio não seja requerido)
  • 09 = Desafio pedido (uso de lista branca caso desafio seja requerido)
= 2 NNÃO
idIdentificador do 3DS Requestor designado pelo DS.< 35 ANSIM
nameNome do 3DS Requestor designado pelo DS.< 40 ANSIM
urlURL completa do site do 3DS Requestor ou site de atendimento ao cliente.< 2048 ANSIM
three_ds_requestor.
authentication_info
Informações sobre como o 3DS Requestor autenticou o portador do cartão antes ou durante a transação.
dataDado que documenta e auxilia um processo específico de autenticação.< 20000 ANNÃO
methodMecanismo usado pelo portador do cartão para se autenticar no 3DS Requestor.
  • 01 = Nenhuma autenticação do 3DS Requestor ocorreu (ou seja, portador fez "login" como visitante)
  • 02 = Login para a conta do portador no sistema do 3DS Requestor usando as credenciais do próprio 3DS Requestor
  • 03 = Login para a conta do portador no sistema do 3DS Requestor usando ID federado
  • 04 = Login para a conta do portador no sistema do 3DS Requestor usando credenciais do emissor
  • 05 = Login para a conta do portador no sistema do 3DS Requestor usando autenticação terceirizada
  • 06 = Login para a conta do portador no sistema do 3DS Requestor usando FIDO Authenticator
  • 07 = Login para a conta do portador no sistema do 3DS Requestor usando FIDO Authenticator (garantia de dados FIDO assinada)
  • 08 = Seguro de Dados SRC
= 2 NNÃO
timestampData e hora UTC da autenticação do portador em formato AAAAMMDDHHMM.= 12 NNÃO
three_ds_requestor.
prior_authentication_info
Informações sobre como o 3DS Requestor autenticou o portador do cartão como parte de uma transação 3DS prévia.
dataDado que documenta e auxilia um processo específico de autenticação.< 2048 ANNÃO
methodMecanismo usado anteriormente pelo portador para se autenticar no 3DS Requestor.
  • 01 = Autenticação frictionless ocorrida pelo ACS
  • 02 = Desafio do portador ocorrida pelo ACS
  • 03 = AVS verificada
  • 04 = Outras formas do emissor
= 2 NNÃO
timestampData e hora UTC da autenticação prévia do portador em formato AAAAMMDDHHMM.= 12 NNÃO
referenceEste elemento fornece informações adicionais para que o ACS determine a melhor forma de tratar uma requisição.< 36 ANNÃO
acquirer
binCódigo da rede adquirente conforme definida pelo DS.< 11 ANSIM
merchant_idIdentificador da loja designado pelo adquirente.< 35 ANSIM
browser Estes parâmetros são obrigatórios caso device_channel = 02.
accept_headerConteúdo exato do cabeçalho HTTP "Accept" conforme enviado para o 3DS Requestor pelo navegador do comprador.< 2048 ANCOND.
ipEndereço IP do comprador.< 45 ANCOND.
java_enabledValor booleano que representa a habilidade do navegador do comprador em executar Java. Este valor é retornado pela propriedade navigator.javaEnabled.< 5 ANCOND.
javascript_enabledValor booleano que representa a habilidade do navegador do portador em executar JavaScript.< 5 ANCOND.
languageValor que representa a linguagem do navegador conforme definido na IETF BCP47. Retornado pela propriedade navigator.language.< 8 ANCOND.
color_depthValor que representa a quantidade bits de cor para exibição de imagens, em bits por pixel. Valor obtido pela propriedade screen.colorDepth.
  • 1 = 1 bit
  • 4 = 4 bits
  • 8 = 8 bits
  • 15 = 15 bits
  • 16 = 16 bits
  • 24 = 24 bits
  • 32 = 32 bits
  • 48 = 48 bits
< 2 NCOND.
screen_heightAltura da tela do portador. Valor retornado pela propriedade screen.height.< 6 NCOND.
screen_widthComprimento da tela do portador. Valor retornado pela propriedade screen.width.< 6 ANCOND.
tzFuso horário em minutos entre UTC e o horário do navegador do comprador. Valor retornado pelo método getTimezoneOffset().< 5 ANCOND.
user_agentUser agent do comprador.< 2048 ANCOND.
cardholder
card_expiry_dateData de validade do cartão no formato AAMM.= 4 NSIM
addr_matchIndica se o endereço de entrega e de cobrança do portador são iguais.
  • Y = Endereços são iguais
  • N = Endereços não são iguais
= 1 ANNÃO
emailEndereço de email do portador.< 256 ANSIM
nameNome do portador.< 45 ANSIM
cardholder.
home_phone
Número de telefone residencial do portador.
ccDDI< 3 NSIM
subscriberDDD + Telefone< 15 NSIM
cardholder.
mobile_phone
Número do celular do portador.
ccDDI< 3 NSIM
subscriberDDD + Telefone< 15 NSIM
cardholder.
work_phone
Número de telefone comercial do portador.
ccDDI< 3 NSIM
subscriberDDD + Telefone< 15 NSIM
cardholder.
acct
typeIndica o tipo de conta. Por exemplo, para um cartão múltiplo.
  • 01 = N/A
  • 02 = Crédito
  • 03 = Débito
= 2 NSIM
numberNúmero do cartão (PAN)< 19 NSIM
idInformações adicionais sobre a conta fornecidas opcionalmente pelo 3DS Requestor.< 64 ANNÃO
cardholder.
acct.
info
ch_acc_age_indPeríodo de tempo que o portador teve conta no 3DS Requestor.
  • 01 = Sem conta (visitante)
  • 02 = Criado durante esta transação
  • 03 = Menos de 30 dias
  • 04 = 30−60 dias
  • 05 = Mais de 60 dias
= 2 NNÃO
ch_acc_changeData da última alteração da conta do comprador em formato AAAAMMDD.= 8 NNÃO
ch_acc_change_indPeríodo de tempo desde a última alteração na conta do portador.
  • 01 = Alterada durante esta transação
  • 02 = Menos de 30 dias
  • 03 = 30−60 dias
  • 04 = Mais de 60 dias
= 2 NNÃO
ch_acc_dateData em que o portador abriu a conta no 3DS Requestor no formato AAAAMMDD.= 8 NNÃO
ch_acc_pw_changeData em que o comprador alterou sua senha no formato AAAAMMDD.= 8 NNÃO
ch_acc_pw_change_indIndica o período de tempo desde a última alteração de senha do portador.
  • 01 = Sem alteração
  • 02 = Alterada durante esta transação
  • 03 = Menos de 30 dias
  • 04 = 30−60 dias
  • 05 = Mais de 60 dias
= 2 NNÃO
nb_purchase_accountNúmero de compras com esta conta durante os últimos 6 meses.< 4 NNÃO
provision_attempts_dayNúmero de tentativas de adição de cartão nas últimas 24 horas.< 3 NNÃO
txn_activity_dayNúmero de transações (confirmadas e abandonadas) para este portador com o 3DS Requestor nas últimas 24 horas.< 3 NNÃO
txn_activity_yearNúmero de transações (confirmadas e abandonadas) para este portador com o 3DS Requestor no último ano.< 3 NNÃO
payment_acc_ageData em que a conta de pagamento foi registrada na conta do portador com o 3DS Requestor no formato AAAAMMDD.= 8 NNÃO
payment_acc_indIndica o período de tempo que a conta de pagamento foi registrada no 3DS Requestor.
  • 01 = Sem conta (visitante)
  • 02 = Durante esta transação
  • 03 = Menos de 30 dias
  • 04 = 30−60 dias
  • 05 = Mais de 60 dias
= 2 NNÃO
ship_address_usageData do primeiro uso do endereço de entrega no formato AAAAMMDD.= 8 NNÃO
ship_address_usage_indIndica quando foi primeiramente utilizado o endereço de entrega.
  • 01 = Nesta transação
  • 02 = Menos de 30 dias
  • 03 = 30−60 dias
  • 04 = Mais de 60 dias
= 2 NNÃO
ship_name_indicatorIndica se nome do portador do cartão é idêntico ao nome de entrega utilizada para esta transação.
  • 01 = Nome da conta idêntico ao nome de entrega
  • 02 = Nome de conta diferente de nome de entrega
= 2 NNÃO
suspicious_acc_activityIndica se o 3DS Requestor teve experiências suspeitas (incluindo fraude prévia) com a conta do comprador.
  • 01 = Nenhuma atividade suspeita foi observada
  • 02 = Atividade suspeita foi observada
= 2 NNÃO
cardholder.
bill_addr
Endereço de cobrança do portador.
cityCidade.< 50 ANSIM
countryCódigo numérico ISO 3166-1 de três dígitos do país.= 3 NSIM
line1Primeira linha do endereço.< 50 ANSIM
line2Segunda linha do endereço.< 50 ANSIM
line3Terceira linha do endereço.< 50 ANSIM
post_codeCEP.< 16 ANSIM
stateSigla do estado.< 3 ANSIM
cardholder.
ship_addr
Endereço de entrega do portador.
cityCidade.< 50 ANSIM
countryCódigo numérico ISO 3166-1 de três dígitos do país.= 3 NSIM
line1Primeira linha do endereço.< 50 ANSIM
line2Segunda linha do endereço.< 50 ANSIM
line3Terceira linha do endereço.< 50 ANSIM
post_codeCEP.< 16 ANSIM
stateSigla do estado.< 3 ANSIM
merchant
mccCódigo específico do DS que descreve o tipo de negócio/produto/serviço da loja.= 4 ANSIM
country_codeCódigo numérico ISO 3166-1 de três dígitos do país da loja.= 3 NSIM
nameNome da loja designado pelo adquirente ou sistema de pagamento.< 40 ANSIM
merchant.
risk_indicator
Avaliação da loja sobre o nível de risco de fraude para a autenticação específica para o portador e a autenticação sendo conduzida.
delivery_email_addressPara entrega eletrônica, o endereço de e-mail para qual a mercadoria foi entregue.< 254 ANNÃO
delivery_timeframeIndica o período de tempo de entrega da mercadoria.
  • 01 = Entrega eletrônica
  • 02 = Entrega no mesmo dia
  • 03 = Entrega no dia seguinte
  • 04 = Entrega em dois ou mais dias
= 2 NNÃO
gift_card_amountPara compra com cartão presente ou pré-pago, o valor total da compra em números inteiros (por exemplo, 123.45 é 123).< 15 NNÃO
gift_card_countPara compra com cartão presente ou pré-pago, contagem de cartões pré-pagos/presentes comprados.< 2 NNÃO
gift_card_currPara compra com cartão presente ou pré-pago, código de moeda ISO 4217 de três dígitos do cartão presente.= 3 NNÃO
pre_order_datePara uma pré-venda, a data esperada de disponibilidade da mercadoria no formato AAAAMMDD.= 8 NNÃO
pre_order_purchase_indIndica se o portador está fazendo um pedido para uma mercadoria com disponibilidade futura.
  • 01 = Mercadoria disponível
  • 02 = Disponibilidade futura
= 2 NNÃO
reorder_items_indIndica se o portador está pedindo uma mercadoria comprada anteriormente.
  • 01 = Pedida pela primeira vez
  • 02 = Pedida novamente
= 2 NNÃO
ship_indicatorIndica a forma de entrega escolhida para a transação.
  • 01 = Entregar no endereço de cobrança
  • 02 = Entregar em outro endereço verificado no arquivo com a loja
  • 03 = Entregar no endereço que é diferente do endereço de cobrança
  • 04 = Entregar na própria loja
  • 05 = Bens digitais
  • 06 = Bilhetes de viagem ou evento, não entregues fisicamente
  • 07 = Outros
= 2 NNÃO
message
categoryIdentifica a categoria da mensagem para um caso de uso específico.
  • 01 - Autenticação de pagamento
  • 02 - Autenticação de não-pagamento
= 2 NSIM
message.
extension[]
Dados necessários para auxiliar em requisitos não definidos na mensagem 3DS são carregados numa extensão de mensagem.
criticality_indicatorUm valor booleano que indica se o destinatário deve entender os conteúdos da extensão para interpretar a mensagem inteira.< 5 ANNÃO
dataDados carregados na extensão.ObjectNÃO
idIdentificador único da extensão.< 64 ANNÃO
nameNome da extensão.< 64 ANNÃO
purchase
amountValor total da compra em centavos.< 48 NSIM
currencyCódigo da moeda ISO 4217 de três dígitos da compra.= 3 NSIM
exponentNúmero de casas decimais da moeda conforme definido na ISO 4217.= 1 NSIM
dateData e hora UTC da compra no formato AAAAMMDDHHMMSS.= 12 NSIM
instal_dataNúmero máximo de parcelas da compra. O valor deve ser maior que 1.< 3 NSIM
recurring Dados para transações recorrentes.
expiryData em que não serão feitas mais autorizações no formato AAAAMMDD. Obrigatório quando three_ds_requestor. authentication_ind = 02 ou 03.= 8 NCOND.
frequencyIndica o número mínimo de dias entre autorizações. Obrigatório quando three_ds_requestor. authentication_ind = 02 ou 03.< 4 NCOND.
sdk Estes campos são obrigatórios para 3DS SDKs (device_channel = 01).
app_idGUID criado para todas as instalações do aplicativo do 3DS Requestor num dispositivo do consumidor. Este será gerado e armazenado pelo 3DS SDK para cada instalação.= 36 ANCOND.
enc_dataObjeto JWE (representado como uma string) contendo dados criptografados pelo SDK para que o DS descriptografe.< 64000 ANCOND.
ephem_pub_keyChave pública gerada pelo 3DS SDK para comunicação com o ACS.ObjectCOND.
max_timeoutIndica o máximo de tempo (em minutos) para cada troca de mensagem.< 2 NCOND.
reference_numberIdentifica o vendedor e a versão para o 3DS SDK.< 32 ANCOND.
trans_idGUID da transação do 3DS SDK.= 36 ANCOND.
ifaceLista todos os tipos de interface SDK suportadas pelo dispositivo para exibição de interfaces específicas de desafio.
  • 01 = Nativa
  • 02 = HTML
  • 03 = Ambas
= 2 NCOND.
ui_type[]Lista todos os tipos de interface de usuário que o dispositivo suporta para exibição de interfaces específicas de desafio dentro da SDK.
  • 01 = Texto
  • 02 = Select de um valor
  • 03 = Multi Select
  • 04 = OOB
  • 05 = HTML Outros (válido apenas para interface HTML)
= 2 N[]COND.
white_list
statusPermite a comunicação de status de lista branca entre ACS, DS e 3DS Requestor.
  • Y = 3DS Requestor está na lista branca do portador
  • N = 3DS Requestor não está na lista branca do portador
  • E = Não qualificado, conforme determinado pelo emissor
  • P = Pendente de confirmação pelo portador
  • R = Portador rejeitou
  • U = Status de lista branca desconhecido, indisponível, ou não se aplica
= 1 ANNÃO
status_sourceEste campo será preenchido pelo sistema que configura o status de lista branca.
  • 01 = 3DS Server
  • 02 = DS
  • 03 = ACS
= 2 NNÃO

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 200. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de autenticação:

ParâmetroDescriçãoFormato
eciElectronic Commerce Indicator= 2 N
broad_infoInformação não-estruturada enviada entre 3DS Server, DS e ACS.Object
device_channelCanal do dispositivo. Saiba mais.= 2 N
three_ds_server
trans_idID da transação 3DS Server= 36 AN
statusStatus no 3DS Server. Saiba mais.= 3 AN
acs
challenge_mandatedIndicação de caso o desafio é requerido para a transação a ser autorizada.
  • Y = Desafio é necessário
  • N = Desafio não é necessário
= 1 AN
operator_idIdentificador do ACS designado pelo DS.< 32 AN
reference_numberIdentificador único designado pela EMVCo.< 32 AN
trans_idID da transação no ACS.= 36 AN
urlURL completa de desafio do ACS.< 2048 AN
decoupled_confirmation_indIndica se o ACS confirma a utilização de autenticação decoupled e concorda com o seu uso para autenticar o comprador.
  • Y = Confirma uso de autenticação decoupled
  • N = Autenticação decoupled não será utilizada
= 1 AN
signed_contentContém o objeto JWS criado pelo ACS para a mensagem ARes.var. AN
ifaceEsta é a interface ACS em que o desafio será apresentado ao portador.
  • 01 = Nativa
  • 02 = HTML
= 2 N
ui_templateIdentifica o formato de interface de usuáro que o ACS apresenta primeiramente ao consumidor.
  • 01 = Texto
  • 02 = Select de um valor
  • 03 = Multi Select
  • 04 = OOB
  • 05 = HTML Outros
= 2 N
authentication
typeIndica o tipo de forma de autenticação que o emissor utilizará para desafiar o portador.
  • 01 = Estática
  • 02 = Dinâmica
  • 03 = OOB
  • 04 = Decoupled
= 2 N
valueValor específico ao sistema de pagamento fornecido pelo ACS ou o DS usando um algoritmo definido pelo sistema de pagamento. Valor de autenticação que será usado para fornecer prova de autenticação (CAVV).= 28 AN
cardholder
infoTexto fornecido pelo ACS/Emissor para o portador do cartão durante uma transação frictionless ou decoupled.< 128 AN
ds
reference_numberIdentificador único do DS designado pela EMVCo.< 32 AN
trans_idID da transação no DS.= 36 AN
message.
extension[]
Dados necessários para auxiliar em requisitos não definidos na mensagem 3DS são carregados numa extensão de mensagem.
criticality_indicatorUm valor booleano que indica se o destinatário deve entender os conteúdos da extensão para interpretar a mensagem inteira.< 5 AN
dataDados carregados na extensão.Object
idIdentificador único da extensão.< 64 AN
nameNome da extensão.< 64 AN
transaction
statusStatus da transação segundo o protocolo 3DS 2.0.
  • Y = Autenticado com sucesso
  • N = Não autenticado; transação negada.
  • U = Autenticação não pôde ser realizada; problemas técnicos ou outros.
  • A = Tentativas de processamento realizadas; não autenticado, mas uma prova de autenticação é fornecida.
  • C = Desafio requerido.
  • D = Autenticação decoupled requerida.
  • R = Autenticação rejeitada pelo emissor.
= 1 AN
status_reasonFornece informação sobre o motivo do valor do transaction.status.
  • 01 = Autenticação do cartão falhou
  • 02 = Dispositivo desconhecido
  • 03 = Dispositivo não suportado
  • 04 = Excede limite de frequência de autenticação
  • 05 = Cartão expirado
  • 06 = Número de cartão inválido
  • 07 = Transação inválido
  • 08 = Sem registro de card
  • 09 = Falha de segurança
  • 10 = Cartão roubado
  • 11 = Suspeita de fraude
  • 12 = Transação não permitida para o portador
  • 13 = Portador do cartão não registrado no serviço
  • 14 = Timeout de transação no ACS
  • 15 = Confiança baixa
  • 16 = Confiança média
  • 17 = Confiança alta
  • 18 = Confiança muito alta
  • 19 = Excede máximo de desafios do ACS
  • 20 = Transação de não-pagamento não suportada
  • 21 = Transação 3RI não suportada
  • 22 = Problema técnico no ACS
  • 23 = Autenticação Decoupled requerida pelo ACS, mas não pedida pelo 3DS Requestor
  • 24 = Tempo máximo de autenticação decoupled excedido
  • 25 = Autenticação Decoupled teve tempo insuficiente para autenticar o comprador. ACS não fará tentativa.
  • 26 = Autenticação tentada, mas não realizada pelo portador
= 2 N
white_list
statusPermite a comunicação de status de lista branca entre ACS, DS e 3DS Requestor.
  • Y = 3DS Requestor está na lista branca do portador
  • N = 3DS Requestor não está na lista branca do portador
  • E = Não qualificado, conforme determinado pelo emissor
  • P = Pendente de confirmação pelo portador
  • R = Portador rejeitou
  • U = Status de lista branca desconhecido, indisponível, ou não se aplica
= 1 AN
status_sourceEste campo será preenchido pelo sistema que configura o status de lista branca.
  • 01 = 3DS Server
  • 02 = DS
  • 03 = ACS
= 2 N
sdk
trans_idID da transação 3DS SDK.= 36 AN
error
codeCódigo do erro. Saiba mais.< 3 N
componentIndica qual componente identificou o erro.
  • C = 3DS SDK
  • S = 3DS Server
  • D = DS
  • A = ACS
= 1 AN
descriptionDescrição do erro< 2048 AN
detailDetalhamento do erro< 28 AN

Serviço de consulta de transação

Essa chamada permite que o 3DS Requestor consulte o status de uma transação. Essa operação deve ser usada pelo 3DS Requestor caso haja problemas no recebimento do CRes. Retornaremos status, ECI e CAVV, ou seja, o que é necessário para prosseguir com uma autorização.

Detalhes da chamada

  • Recurso: /v2/transaction/{ID da transação 3DS Server}
  • Método HTTP: GET
  • Resposta HTTP OK: 200
  • Formato da requisição: não há parâmetros de requisição
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no 3DS Server. Os códigos de produção e certificação serão diferentes.< 15 ANSIM
merchant_keyChave de autenticação da loja no 3DS Server. As chaves de produção e certificação serão diferentes.< 80 ANSIM

Exemplos

Abaixo estão alguns exemplos de chamada do serviço de consulta utilizando a ferramenta cURL.

Requisição:

curl
--request GET "https://mpi-homolog.softwareexpress.com.br/3ds-server/v2/transaction/123456789-aaaa-bbbb-cccc-ddddddddddd"
--header "merchant_id: xxxxxxxxxxxxxxx" 
--header "merchant_key: xxxxxxxxxxx"
--verbose

Resposta:

{
    "three_ds_server": {
        "trans_id": "12345678-1234-1234-1234-123456789012",
        "status": "AUY"
    },
    "brand_id": "2",
    "eci": "05",
    "device_channel": "02",
    "authentication": {
        "value": "1234567890123456789012345678"
    }
}

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 200. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de consulta de transações:

ParâmetroDescriçãoFormato
brand_idID da bandeira< 4 N
eciIndicador de comércio eletrônico< 2 N
device_channelCanal do dispositivo.
  • 01 = aplicativo (APP)
  • 02 = navegador (BRW)
< 2 N
three_ds_server
trans_idID da transação 3DS Server= 35 AN
statusStatus no 3DS Server. Saiba mais.= 3 AN
authentication
valueValor da autenticação (CAVV)< 28 AN
error
codeCódigo do erro. Saiba mais.< 3 N
componentIndica qual componente identificou o erro.
  • C = 3DS SDK
  • S = 3DS Server
  • D = DS
  • A = ACS
= 1 AN
descriptionDescrição do erro< 2048 AN
detailDetalhamento do erro< 28 AN

Mensagens de desafio

Para iniciar um desafio, não basta apenas redirecionar o comprador para a URL obtida no campo acs.url, é necessário fazer um POST do CReq. Ao fim dos desafios, o 3DS Requestor receberá informações (na URL apontada no campo notification_url) referentes à transação 3DS dentro do objeto CRes.

Envio do CReq

O POST do CReq deve ser feito com o cabeçalho Content-Type = application/x-www-form-urlencoded quando device_channel = 02 ou application/json quando device_channel = 01. Neste formulário, deve ser enviado o parâmetro creq, cujo conteúdo é o CReq (que é um JSON) codificado em Base64.

Exemplos

CReq JSON:

{
    "threeDSServerTransID":"12341234-1234-1234-1234-123412341234",
    "acsTransID":"43214321-4321-4321-4321-432143214321",
    "challengeWindowSize":"05",
    "messageType":"CReq",
    "messageVersion":"2.2.0"
}

CReq Base64:

ewogICAgInRocmVlRFNTZXJ2ZXJUcmFuc0lEIjoiMTIzNDEyMzQtMTIzNC0xMjM0LTEyMzQtMTIzNDEyMzQxMjM0IiwKICAgICJhY3NUcmFuc0lEIjoiNDMyMTQzMjEtNDMyMS00MzIxLTQzMjEtNDMyMTQzMjE0MzIxIiwKICAgICJjaGFsbGVuZ2VXaW5kb3dTaXplIjoiMDUiLAogICAgIm1lc3NhZ2VUeXBlIjoiQ1JlcSIsCiAgICAibWVzc2FnZVZlcnNpb24iOiIyLjIuMCIKfQ==

HTML de redirecionamento para o desafio:

<!DOCTYPE html>

<html>

    <body>
        <form action="https://www.acs.com/challenge" method="POST">
            <input type="text" name="creq"
                value="ewogICAgInRocmVlRFNTZXJ2ZXJUcmFuc0lEIjoiMTIzNDEyMzQtMTIzNC0xMjM0LTEyMzQtMTIzNDEyMzQxMjM0IiwKICAgICJhY3NUcmFuc0lEIjoiNDMyMTQzMjEtNDMyMS00MzIxLTQzMjEtNDMyMTQzMjE0MzIxIiwKICAgICJjaGFsbGVuZ2VXaW5kb3dTaXplIjoiMDUiLAogICAgIm1lc3NhZ2VUeXBlIjoiQ1JlcSIsCiAgICAibWVzc2FnZVZlcnNpb24iOiIyLjIuMCIKfQ=="/>

            <input type="submit"/>

        
        </form>

    </body>

</html>

Parâmetros do CReq

ParâmetroDescriçãoFormatoObrigatório
threeDSRequestorAppURLURL do aplicativo do lojista.< 256 ANNÃO
threeDSServerTransIDID da transação 3DS Server= 36 ANSIM
acsTransIDID da transação ACS= 36 ANSIM
challengeCancelIndicador que informa o ACS e o DS que a autenticação foi cancelada.
  • 01 = Portador selecionou "Cancelar"
  • 03 = Timeout de autenticação decoupled
  • 04 = Timeout no ACS
  • 05 = Primeiro CReq não recebido pelo ACS
  • 06 = Erro na transação
  • 07 = Desconhecido
  • 08 = Timeout no 3DS SDK
= 2 NNÃO
challengeDataEntryContém os dados que o portador digitou no campo de texto da interface nativa.< 45 ANNÃO
challengeHTMLDataEntryContém os dados que o portador digitou no campo de texto da interface HTML.< 256 ANNÃO
challengeNoEntryIndicador que informa que o portador submeteu uma resposta vazia.
  • Y = Sem entrada de dados
= 1 ANNÃO
challengeWindowSizeDimensões da janela de desafio exibida ao portador.
  • 01 = 250 x 400
  • 02 = 390 x 400
  • 03 = 500 x 600
  • 04 = 600 x 400
  • 05 = Tela cheia
= 2 NSIM
messageTypeValor fixo CReq.= 4 ANSIM
messageVersionVersão de mensagem 3DS: 2.1.0 ou 2.2.0.< 8 ANSIM
oobContinueValor booleano que notifica o ACS que o portador completou a autenticação selecionando o botão "Continuar" numa forma de autenticação OOB.< 5 ANNÃO
resendChallengeIndicador para o ACS para reenviar o código de informação de desafio para o portador.
  • Y = Reenviar
  • N = Não reenviar
= 1 ANNÃO
sdkTransIDID de transação 3DS SDK. Obrigatório quando device_channel = 01.= 36 ANCOND.
sdkCounterStoAContador usado como medida de segurança no canal seguro entre 3DS SDK e ACS.< 3 ANNÃO
whitelistingDataEntryIndicador fornecido pelo SDK ao ACS para confirmar se a lista branca foi optada pelo portador.
  • Y = Lista branca confirmada
  • N = Lista branca não confirmada
= 1 ANNÃO
messageExtension[] Dados necessários para auxiliar em requisitos não definidos na mensagem 3DS são carregados numa extensão de mensagem.
criticalityIndicatorUm valor booleano que indica se o destinatário deve entender os conteúdos da extensão para interpretar a mensagem inteira.< 5 ANNÃO
dataDados carregados na extensão.ObjectNÃO
idIdentificador único da extensão.< 64 ANNÃO
nameNome da extensão.< 64 ANNÃO

Recebimento do CRes

O CRes chegará em formato JSON codificado em Base64 na URL informada no serviço de autenticação (campo notification_url).

Parâmetros do CRes

ParâmetroDescriçãoFormato
threeDSServerTransIDID de transação 3DS Server= 36 AN
acsCounterAtoSContador usado como medida de segurança no canal seguro entre ACS e 3DS SDK.< 3 AN
acsTransIDID de transação no ACS= 36 AN
challengeCompletionIndIndicador do estado do desafio.
  • Y = Desafio concluído, e não serão necessárias novas mensagens de desafio
  • N = Desafio não concluído, e serão necessárias novas mensagens de desafio
= 1 AN
messageTypeValor fixo CRes.= 4 AN
messageVersionVersão de mensagem 3DS: 2.1.0 ou 2.2.0.< 8 AN
sdkTransIDID de transação no 3DS SDK= 36 AN
transStatusStatus da transação segundo o protocolo 3DS 2.0.
  • Y = Autenticado com sucesso
  • N = Não autenticado; transação negada.
  • U = Autenticação não pôde ser realizada; problemas técnicos ou outros.
  • A = Tentativas de processamento realizadas; não autenticado, mas uma prova de autenticação é fornecida.
  • C = Desafio requerido.
  • D = Autenticação decoupled requerida.
  • R = Autenticação rejeitada pelo emissor.
= 1 AN
messageExtension[] Dados necessários para auxiliar em requisitos não definidos na mensagem 3DS são carregados numa extensão de mensagem.
criticalityIndicatorUm valor booleano que indica se o destinatário deve entender os conteúdos da extensão para interpretar a mensagem inteira.< 5 AN
dataDados carregados na extensão.Object
idIdentificador único da extensão.< 64 AN
nameNome da extensão.< 64 AN

Notificação decoupled

Durante o processo de uma autenticação decoupled, o 3DS Server fará uma notificação para o 3DS Requestor informando o resultado da autenticação. Essa notificação se dará por meio de um HTTP POST na URL informada no serviço de autenticação (campo decoupled_notification_url), no formato application/x-www-form-urlencoded. O 3DS Requestor deve responder a essa chamada com o código HTTP 200.

Abaixo estão os parâmetros dessa notificação:

ParâmetroDescriçãoFormato
three_ds_server_statusStatus no 3DS Server. Saiba mais.= 3 AN
three_ds_server_trans_idID de transação 3DS Server.= 36 AN
eciElectronic Commerce Indicator.= 2 N
authentication_valueValor específico ao sistema de pagamento fornecido pelo ACS ou o DS usando um algoritmo definido pelo sistema de pagamento. Valor de autenticação que será usado para fornecer prova de autenticação (CAVV).= 28 AN

Iniciando um 3DS Method

Ao chamar o serviço de criação da transação, pode ser retornado o campo three_ds_method_url. Isso indica que deve ser renderizado um frame invisível na tela do comprador apontando para essa URL. Para isso, é necessário fazer um HTTP POST no formato application/x-www-form-urlencoded passando o campo threeDSMethodData, que se trata de um JSON codificado em Base64.

Parâmetros do objeto threeDSMethodData

ParâmetroDescriçãoFormatoObrigatório
threeDSMethodNotificationURLURL que receberá a notificação de conclusão do 3DS Method pelo ACS.< 256 ANSIM
threeDSServerTransIDID da transação 3DS Server.= 36 ANSIM

Exemplos

threeDSMethodData JSON:

{
   "threeDSServerTransID":"12341234-1234-1234-1234-123412341234",
   "threeDSMethodNotificationURL":"threeDSMethodNotificationURL"
}

threeDSMethodData Base64:

ewogICAidGhyZWVEU1NlcnZlclRyYW5zSUQiOiIxMjM0MTIzNC0xMjM0LTEyMzQtMTIzNC0xMjM0MTIzNDEyMzQiLAogICAidGhyZWVEU01ldGhvZE5vdGlmaWNhdGlvblVSTCI6InRocmVlRFNNZXRob2ROb3RpZmljYXRpb25VUkwiCn0=

Formulário HTML:

<form name="frm" method="POST" action="Rendering URL">
    <input type="hidden" name="threeDSMethodData" value="ewogICAidGhyZWVEU1NlcnZlclRyYW5zSUQiOiIxMjM0MTIzNC0xMjM0LTEyMzQtMTIzNC0xMjM0MTIzNDEyMzQiLAogICAidGhyZWVEU01ldGhvZE5vdGlmaWNhdGlvblVSTCI6InRocmVlRFNNZXRob2ROb3RpZmljYXRpb25VUkwiCn0=">
</form>

Notificação 3DS Method

Essa chamada será feita pelo ACS na URL informada pelo 3DS Requestor (campo threeDSMethodNotificationURL) utilizando o mesmo formato do formulário descrito acima. Essa chamada é importante para o preenchimento do campo three_ds_comp_ind no serviço de autenticação.

Códigos da API

IDs de bandeira

IDNome
1Visa
2Mastercard
41Elo

Status de transações do 3DS Server

CódigoNomeDescrição
NEWNovaTransação criada recentemente.
INVInválidaLoja enviou algum parâmetro inválido.
ERRErro de comunicaçãoFalha na comunicação com o DS.
EXPExpiradaTransação nova excedeu seu prazo de validade.
ERMMensagem de Erro3DS Server recebeu uma mensagem de erro do DS.
AUYStatus 3DS YAutenticação bem-sucedida.
AUNStatus 3DS NNão autenticada/conta não verificada; transação negada.
AUUStatus 3DS UAutenticação/Verificação de Conta não pôde ser realizada; problemas técnicos ou outros erros.
AUAStatus 3DS ATentativa de processamento realizada; não autenticada/verificada, mas uma prova de tentativa de autenticação/verificação é fornecida.
AUCStatus 3DS CSerá necessário um desafio, seguindo o fluxo "challenge".
AURStatus 3DS RAutenticação/verificação de conta rejeitada; emissor está rejeitando.
AUDStatus 3DS DSerá necessário um desafio, seguindo o fluxo "decoupled".

Códigos de erro

CódigoDescrição
1Credenciais (merchant_id e merchant_key) inválidas
2Transação não encontrada
3Status inválido da transação
101Mensagem de tipo desconhecido
201Parâmetro vazio (ver error.detail para mais detalhes)
202message.extension não reconhecido
203Parâmetro inválido (ver error.detail para mais detalhes)
301ID de transação inválido para o componente recebido
305Cartão não suportado pelo emissor para autenticações 3DS 2.0
402Timeout na comunicação com o DS
404Erro inesperado
405Erro de comunicação com o DS

Campo device_channel

CódigoDescrição
01Aplicativo
02Navegador
03Iniciado pelo 3DS Requestor (3RI)
04-79Reservado para uso futuro pela EMVCo
80-99Reservado para uso futuro pelo DS
  • Visão Geral
  • Comunicação
  • Fluxo
    • Pagamento com confirmação automática
    • Pagamento com confirmação tardia
  • O que você precisará
  • Criando a transação
  • Efetuando o pagamento
  • Verificando o estado do pagamento
  • Detalhes da chamada
  • Exemplos
    • Criação de pagamento com confirmação automática
    • Criação de pagamento com confirmação tardia
    • Criação de pagamento com agendamento
    • Criação de agendamento sem pagamento
    • Criação de pagamento com análise de risco Cielo e-Commerce
    • Criação de pagamento com análise de risco (utlizando o anti fraude Konduto)
  • Parâmetros de requisição
  • Parâmetros de resposta
  • Detalhes da chamada
  • Exemplos
    • Pagamento com captura automática
    • Pagamento com confirmação tardia
    • Pagamento com agendamento
    • Pagamento com cartão armazenado
    • Pagamento com planos de financiamento Via Certa Financiadora
    • Pagamento com prefixos
    • Pagamento split para roteamentos BIN e Sipag via SiTef
  • Parâmetros de requisição
  • Parâmetros de resposta
  • Detalhes da chamada
  • Exemplo
  • Parâmetros de requisição
  • Parâmetros de resposta
  • Detalhes da chamada
    • Consulta por NIT
    • Consulta por SID
  • Exemplos
    • Consulta de pagamento
    • Consulta de agendamento
    • Consulta por NIT de pagamento com agendamento
    • Consulta por SID de agendamento com pagamento
  • Parâmetros de resposta
  • Consulta de transações em um grupo de lojas
  • Detalhes da chamada
  • Exemplos
    • Consulta de múltiplas transações
  • Parâmetros de resposta
  • Fluxo
  • Detalhes da chamada
  • Exemplos
    • Consulta de cartão com envio de autorizadora
    • Consulta de cartão sem envio de autorizadora
    • Consulta de cartão Visa Checkout
    • Consulta de cartão com planos de financiamento
    • Consulta de cartão com dados adicionais para roteamento iCards via SiTef
    • Consulta de cartão com dados adicionais para roteamento IPG
  • Parâmetros de requisição
  • Parâmetros de resposta
  • Roteamentos que permitem consulta de cartão.
  • Fluxo
    • Fluxo de pagamento com confirmação automática
    • Fluxo de pagamento com confirmação tardia
  • Detalhes da chamada
  • Exemplos
    • Pagamento
    • Pagamento com cartão armazenado
  • Parâmetros de requisição
  • Parâmetros de resposta
  • Fluxo
    • Caso de sucesso
    • Caso de falha na confirmação da primeira transação
    • Caso de falha na confirmação da segunda transação
  • Detalhes da chamada
  • Exemplos
  • Parâmetros de requisição
  • Parâmetros de resposta
  • Introdução
  • Criação da confirmação de pagamento de origem externa
    • Detalhes da Chamada
    • Exemplo
    • Parâmetros da requisição
    • Parâmetros de resposta
  • Efetivação da confirmação de pagamento de origem externa
    • Detalhes da chamada
    • Exemplo
    • Parâmetros na requisição - query string
    • Parâmetros da requisição - JSON
    • Parâmetros de resposta
  • Visão Geral
  • Detalhes da chamada
  • Fluxo
  • Exemplos
    • Armazenamento de cartão
  • Parâmetros de requisição
  • Parâmetros de resposta
  • Fluxo
  • Consulta dos cancelamentos
  • O que você precisará
  • Criando a transação de cancelamento
  • Cancelando o pagamento
  • Verificando o estado do cancelamento
  • Configurações necessárias no e-SiTef
  • POST de autenticidade x assinatura
  • Detalhes da chamada
  • Exemplos
    • Criação de cancelamento com POST de autenticidade
    • Criação de cancelamento com assinatura
  • Parâmetros de requisição
  • Parâmetros do POST de autenticidade
  • Parâmetros de resposta
  • Detalhes da chamada
  • Exemplos
    • Cancelamento de pagamento via SiTef
    • Cancelamento de pagamento via Cielo e-Commerce
    • Cancelamento via host
    • Cancelamento origem externa
  • Parâmetros de requisição
  • Parâmetros de resposta
  • Comunicação
  • Fluxo
  • O que você precisará
  • Criando a Pré-Autorização
  • Efetivando a Pré-Autorização
  • Capturando a Pré-Autorização
  • Consulta de Cartão
  • Consulta de Transações
  • Análise de risco
  • Detalhes da Chamada
  • Exemplos
  • Parâmetros de Requisição
  • Parâmetros de resposta
  • Detalhes da Chamada
  • Exemplos:
  • Parâmetros de requisição
  • Parâmetros de resposta
  • Detalhes da chamada
  • Parâmetros de Requisição
  • Parâmetros de Resposta
  • Exemplo
  • Consulta de transações em um grupo de lojas
  • Fluxo
  • Detalhes da chamada
    • Exemplo de Consulta de cartão com envio de autorizadora
    • Exemplo de Consulta de cartão sem envio de autorizadora
    • Exemplo de Consulta de cartão Visa Checkout
    • Exemplo de Consulta de cartão com dados adicionais para roteamento iCards via SiTef
  • Parâmetros de Requisição
  • Parâmetros de Resposta
  • Parâmetros de Requisição:
  • Parâmetros de Resposta:
  • Criação da edição de pré-autorização com origem externa
    • Detalhes da Chamada
    • Exemplos
    • Parâmetros de Requisição
    • Parâmetros de resposta
  • Efetivação da edição de pré-auto com origem externa
    • Parâmetros de Requisição
    • Exemplo
  • Parâmetros de Requisição:
  • Parâmetros de Resposta:
  • Exemplo:
    • 1. Criação e de efetivação de pré-autorização de R$20,00:
    • 2. Incremento de pré-autorização de R$2,00
    • 3. Consulta de status da transação de pré-autorização resultante
  • Detalhes da chamada
  • Exemplo
  • Parâmetros da requisição
  • Parâmetros de resposta
  • Criação da captura origem externa
    • Detalhes da Chamada
    • Exemplos
    • Parâmetros de Requisição
    • Parâmetros de resposta
  • Efetivação da captura origem externa
    • Parâmetros de Requisição
    • Exemplo
  • Visão Geral
  • Comunicação
  • Fluxo
    • Agendamento com pagamento imediato
    • Agendamento sem pagamento imediato
  • Consulta dos agendamentos
  • O que você precisará
  • Criando a transação
  • Ativando o agendamento
  • Verificando o estado do agendamento
  • Detalhes da chamada
  • Exemplos
  • Parâmetros de requisição
  • Parâmetros de resposta
  • Aviso de status dos pagamentos recorrentes
  • Restrições do agendamento
  • O que você precisará
  • Criando uma edição de agendamento
  • Alterando o agendamento
  • Detalhes da chamada
  • Exemplo
  • Parâmetros de requisição
  • Parâmetros do POST de autenticidade
  • Parâmetros de resposta
  • Detalhes da chamada
  • Exemplos
    • Edição de múltiplos atributos
    • Inativação de agendamento
  • Parâmetros de requisição
  • Parâmetros de resposta
  • Visão Geral
  • Comunicação
  • Fluxo de recarga sem pagamento
  • Fluxo de recarga com pagamento
  • O que você precisará
  • Criando a transação
  • Listando concessionárias
  • Listando dados da filial
  • Efetivando a recarga
    • Recarga com pagamento
    • Recarga sem pagamento
  • Confirmando a recarga
  • Consultando a recarga
  • POST de autenticidade x assinatura
  • Detalhes da chamada
  • Exemplos
    • Criação de recarga com envio de todos os parâmetros
    • Criação de recarga com envio mínimo de parâmetros
    • Criação de recarga com envio de assinatura
  • Parâmetros de requisição
  • Parâmetros de resposta
  • Parâmetros enviados pelo e-SiTef no POST HTTPS
  • Detalhes da chamada
  • Exemplos
    • Listagem de concessionárias de recarga normal
    • Listagem de concessionárias de recarga de outros produtos (others)
    • Listagem de concessionárias de pagamento de fatura por assinatura (invoice)
    • Listagem de concessionárias com envio de assinatura
  • Parâmetros de requisição
  • Parâmetros de resposta
    • Retorno do campo questions.rule
    • Retorno do campo questions.type
  • Detalhes da chamada para recarga tipo normal
  • Detalhes da chamada para recarga tipo others
  • Detalhes da chamada para recarga tipo invoice
  • Exemplos
    • Listagem de dados da filial de recarga tipo normal
    • Listagem de dados da filial de recarga tipo others
    • Listagem de dados da filial de recarga tipo invoice
  • Parâmetros de requisição para recarga tipo normal
  • Parâmetros de requisição para recarga tipo others
  • Parâmetros de requisição para recarga tipo invoice
  • Parâmetros de resposta
    • Retorno do campo payment_methods.available
  • Detalhes da chamada
  • Exemplos
    • Recarga tipo normal com pagamento
    • Recarga tipo normal sem pagamento
    • Recarga tipo others
    • Recarga tipo invoice
  • Parâmetros de requisição
    • Envio do campo used_payment_methods
    • Envio de dados do cartão para pagamento
  • Parâmetros de resposta
  • Detalhes da chamada
  • Exemplos
  • Parâmetros de requisição
  • Parâmetros de resposta
  • Detalhes da chamada
  • Exemplos
  • Parâmetros de requisição
  • Parâmetros de resposta
  • Consulta de transações em um grupo de lojas
  • O que você precisará
  • Criando as chaves pública e privada
  • Algoritmo de assinatura
  • Primeira parte (cabeçalho)
  • Segunda parte (payload)
    • Composição do payload
  • Terceira parte (verificação)
  • Assinatura final
  • Utilizando site JWT para testes
  • Visão Geral
  • Fluxo
    • Pagamento sem redirecionar o comprador
    • Pagamento redirecionando o comprador para a Autorizadora
  • O que você precisará
  • Criando a transação de pagamento
  • Redirecionando o usuário
  • Recebendo um aviso de status
  • Processo de criação da transação
    • Ferramentas para testes
    • Parâmetros de requisição
    • Parâmetros de resposta
  • Fluxo
    • Quando utilizar a Consulta de Status?
  • Aviso de Armazenamento
  • Pagamento recorrente
  • Consulta dos dados do armazenamento
  • Visão Geral
  • Procedimentos para envio de arquivos de customização
  • Caso a empresa tenha mais de um merchantId
  • Customização de logotipo
  • Exemplo de customização
  • Interfaces e-SiTef suportadas para integração com pagamento SPLIT
  • Funcionalidades e-SiTef NÃO permitidas para integração com pagamento SPLIT
  • Configurações necessárias no e-SiTef
  • Parâmetros utilizados para efetuar um pagamento Split
    • ADDITIONAL_DATA (additional_data)
    • INNER_TRANSACTIONS (inner_transactions)
  • Aviso de status
  • Exemplos de chamada
  • Fluxo e telas
  • Aviso de status
  • Autorizadoras disponíveis
  • Credenciais necessárias
  • Parâmetros específicos da integração
  • Mastercard 3DS Identity Check Insights (Dataonly)
    • Via parâmetro ao iniciar transação
    • Via configuração de loja
  • Visão Geral
  • Exemplo de requisição de pré-autorização
  • Captura de pré-autorização
  • Visão Geral
  • Fluxo
    • Iniciando uma transação de recarga
    • Efetuando uma transação de recarga
  • O que você precisará
  • Criando a transação de recarga
  • Redirecionando o usuário
  • Recebendo um aviso de status
  • Processo de criação da transação
    • Ferramentas para testes
    • Parâmetros de requisição
    • Parâmetros de resposta
  • Comunicação
  • O que você precisará
  • Fluxo
  • Detalhes da chamada
  • Detalhes da chamada
    • Parâmetro de requisição
    • Resposta
  • Visão Geral
  • Fluxo
  • Criando a transação
  • Página de pagamento da loja virtual
  • Exemplo
  • Pagamento com Armazenamento
  • Exemplo
  • Campos com dados de cartão
  • Chamando o script do e-SiTef
  • Resposta dos callbacks de sucesso e fracasso
  • Resposta do callback de erro de validação
  • Exemplo
  • Fluxo
  • Criando a transação
  • Página de pagamento da loja virtual
  • Recebendo um aviso de armazenamento
  • Detalhes da chamada
  • Parâmetros de requisição
  • Parâmetros de resposta
  • Exemplo
  • Campos com dados de cartão
  • Chamando o script do e-SiTef
  • Resposta dos callbacks de sucesso e fracasso
  • Resposta do callback de erro de validação
  • Visão Geral
  • Primeiro Acesso
    • Dados de acesso via e-mail
    • Dados de acesso provisórios
  • Redefinição de senha
  • O que você precisará
  • Habilitando a autenticação em duas etapas para outros usuários
  • Cadastrando a autenticação em duas etapas
  • Alterar senha
  • Alterar idioma
  • Gráficos de transações
  • Exportação em arquivo CSV
  • Marcação de fraude
  • Cancelamento de transações passo a passo
  • Cancelamento de transações
  • Relatório de Agendamentos
    • Edição de agendamentos
  • Cadastro de Agendamentos
    • Execução dos pagamentos agendados
  • Cadastro de Usuários
  • Listagem de Usuários
  • Edição de Usuários
  • Página de seleção de lojas
  • Formulário para geração do link
    • Campos para a geração de link de pagamento
    • Campos extras para a geração de link de pagamento com agendamento
  • Página de Dados da geração do link
  • Análise de risco
  • Envio de dados de carrinho
  • Roteamentos suportados
  • Configurando o POS Virtual
  • Realizando pagamentos via POS Virtual
  • Página de seleção de lojas
  • Tela de configuração do POS Virtual
    • Configurações disponíveis
  • Página de seleção de lojas
  • Fluxo de pagamento via POS Virtual
    • Tela Inicial
    • Consulta do cartão
    • Inserção de Dados Extras
    • Escolha de parcelamento
    • Mensagem de confirmação
    • Tela de cupom
  • Relatório de Transações POS Virtual
  • Cancelamento de Transações POS Virtual
  • Tela de relatório de Transações POS
  • Resultado da busca
    • Visualização do cupom
    • Gráficos de transações por Status
    • Gráficos de transações por Autorizadora
    • Exportação de arquivo .CSV
  • Realizando recargas via POS Virtual
  • Relatório de recargas via POS Virtual
  • Autenticação em duas etapas
  • Recarga via POS Virtual
    • Dados da recarga
    • Dados de Autenticação
    • Tela de cupom
  • Relatório de Recargas via POS Virtual
  • Cancelamento de Transações POS Virtual
  • Fluxo de Retentativa Online
    • Interface REST
    • Interface HTML
  • Fluxo de Retentativa Offline
    • Interface REST
    • Interface HTML
  • Execução dos pagamentos agendados
  • Portal do Lojista - relatório de agendamento de recorrência
  • Códigos de retorno reversiveis, que podem ter retentativas são:
  • Interfaces e-SiTef suportadas para integração
  • Serviço de Consultas Bradescard
    • Detalhes da chamada
    • Parâmetros de resposta
  • Interfaces e-SiTef suportadas para integração
  • Pagamento REST
    • Criação de Pagamento
    • Efetivação de Pagamento
    • Prefixos
  • Pré-Autorização REST
    • Criação de Pré-Autorização
    • Efetivação de Pré-Autorização
    • Captura de Pré-Autorização
  • Exemplo
  • Pré-Autorização
  • Split de Pagamento
    • Parâmetros de requisição
    • Pagamento HTML
    • Pagamento REST
  • Introdução
  • Interfaces e-SiTef suportadas para integração
  • Pagamento REST
    • Criação de Pagamento REST
    • Efetivação de Pagamento REST
    • Prefixos
  • Código de Autorizadora
  • Interfaces e-SiTef suportadas para integração
  • Pagamento REST
    • Efetivação de Pagamento
  • Pré-Autorização REST
    • Criação de Pré-Autorização
    • Captura de Pré-Autorização
  • Pagamento REST
    • Efetivação de Pagamento
  • Pagamento REST
    • Efetivação de Pagamento
  • Interfaces e-SiTef suportadas para integração
  • Configurações necessárias no e-SiTef
    • Dados Cadastrais do Banco do Brasil
    • Inserir dados cadastrais no e-SiTef
  • Código de Autorizadora para Banco do Brasil no e-SiTef
  • Parâmetros para Pagamento HTML via Banco do Brasil
  • Parâmetros para transação via Banco do Brasil
    • Objeto additional_data
    • Objeto additiona_data.payer
  • Fluxo de pagamento Banco do Brasil
  • Reemissão de Boletos
  • Exemplo de requisição no Pagamento HTML
  • Interfaces e-SiTef suportadas para integração
  • Credenciais necessárias
  • Parâmetros de requisição
    • À vista
    • Parcelado
    • Pré-datado
  • Fluxo de Pagamento HTML
  • Configuração de URL's de redirecionamento
  • Configurações de tempo no e-SiTef
  • Interfaces e-SiTef suportadas para integração
  • Autorizadoras permitidas
  • Credenciais necessárias
  • Cadastro das informações pelo portal do lojista
  • Cadastro do SoftDescriptor no e-SiTef
  • Fluxos
    • Pagamento REST
    • Pagamento HTML
    • Pré-Autorização REST
    • Pré-Autorização HTML
    • Cancelamento REST
    • Cartões de testes
    • Restrições
  • Campos de MCC Dinâmico
    • Inicialização da transação de pagamento ou de pré-autorização REST
    • Parâmetros na efetivação do pagamento ou da pré-autorização REST
    • Tabela de correspondência de campos
  • Interfaces e-SiTef suportadas para integração
  • Credenciais necessárias
  • Parâmetros de serviço de criação de transação
    • Requisição
  • Parâmetros de serviço de efetivação do pagamento e pré-autorização
    • Requisição
    • Parâmetros de resposta
  • Interfaces e-SiTef suportadas para integração
  • Credenciais necessárias
  • Cadastro das informações pelo Portal do Lojista e-SiTef
  • Fluxos
    • Criação de Transação de Pagamento (HTML e REST)
    • Pagamento REST
    • Pagamento HTML
    • Confirmação de Pagamento
    • Pré-Autorização REST
    • Pré-Autorização HTML
    • Recorrência
    • Cancelamento
  • Campos de MCC Dinâmico
    • Inicialização da transação de pagamento ou de pré-autorização REST
    • Parâmetros na efetivação do pagamento ou da pré-autorização REST
    • Tabela de correspondência de campos
  • Interfaces e-SiTef suportadas para integração
  • Pagamento REST
    • Efetivação de Pagamento REST
    • Confirmação de Pagamento REST
  • Cancelamento REST
    • Efetivação de Cancelamento REST
  • Logon REST
    • Requisição de Logon
    • Resposta de Logon
  • Carga de Tabelas REST
    • Requisição de Carga de Tabelas
    • Resposta de Carga de Tabelas
  • Tipos de Dados
    • authentication
    • authentication.pin
    • pin.crypto
    • terminal
    • card
    • card.crypto
    • card.pin
    • resp_card
    • pos_entry_mode
    • emv
    • mtt
    • payment
    • cancellation
    • authorization_terminal
    • acquirer_table
    • product_bins
    • bin
    • emv_params
    • public_keys
    • mandatory_emv_tags
    • optional_emv_tags
    • emv_tags
    • brand_per_x_aid
  • Tabelas & Mapas
    • Códigos de Roteamento
    • Códigos de Bandeira
    • Mapa de Features
    • Códigos de Subtype
    • Mapa de Capacidades do Terminal
    • Códigos de Tipo de Terminal
    • Códigos de Capacidade de Tratamento de Terminal
    • Códigos de Processo de Criptografia
    • Códigos de Tipo de Atendimento do Terminal
    • Códigos de Capacidade de Entrada do Terminal
    • Códigos de Características Físicas do Terminal
    • Códigos de Tipo de tratamento da Senha
    • Códigos de Habilitação de Leitores de Cartão
    • Códigos de Condições do CHIP
    • Códigos de Modo de Entrada
    • Códigos de Capacidade de Entrada PIN
    • Códigos de ID de Transação MTT
  • Interfaces e-SiTef suportadas para integração
  • Autorizadoras permitidas
  • Credenciais necessárias
  • Cadastro das informações pelo portal do lojista
  • Subadquirência
  • Recorrências
  • Fluxos
    • Pagamento HTML
    • Pré-Autorização
    • Alteração de Pré-Autorização
    • Pagamento e Pré-Autorização REST
    • Cancelamento
  • Interfaces e-SiTef suportadas para integração
  • Autorizadoras permitidas
  • Credenciais necessárias
  • Cadastro das informações pelo portal do lojista
  • Fluxos
    • Pré-Autorização REST
    • Pagamento REST
    • Pagamento HTML
    • Autenticação via HTML
  • Cartões de testes GlobalPaymentsWS
  • Interfaces e-SiTef suportadas para integração
  • Autorizadoras permitidas
  • Credenciais necessárias
  • Cadastro das informações pelo portal do lojista
  • Fluxos
    • Consulta de cartão
    • Pagamento indicando recorrência
  • Interfaces e-SiTef suportadas para integração
  • Autorizadoras permitidas
  • Credenciais necessárias
  • Configurações necessárias no Portal do Itaú Shopline
    • URL de Retorno
  • Fluxo de Pagamento com Itaú Shopline
    • Aviso de Status
  • Parâmetros para transação via Itaú Shopline
  • Reemissão de boletos
  • Interfaces e-SiTef suportadas para integração
  • Credenciais necessárias
  • Códigos de autorizadora
  • Parâmetros específicos do Mercado Pago
    • Serviço de criação de pagamento HTML
  • Interfaces suportadas
  • Configurações necessárias no e-SiTef
    • Dados cadastrais do PagSeguro
    • Inserir dados cadastrais no e-SiTef
  • Código de Autorizadora para PagSeguro no e-SiTef
  • Parâmetros para transação via PagSeguro
  • Fluxo de pagamento PagSeguro
  • Aviso de Status - dados específicos
  • Transação de Estorno - Cancelamento REST
  • Portal do Lojista
  • Apêndices
    • Valores de chave para Metadata
    • Exemplo de JSON
  • Interfaces e-SiTef suportadas para integração
  • Código de Autorizadora no e-SiTef para PayPal
  • Credenciais necessárias
    • Dados de cadastro da loja no PayPal
    • Inserir dados cadastrais no e-SiTef
    • Imagem de cabeçalho ou logotipo customizado na página PayPal
  • Fluxo de Pagamento com PayPal
    • Aviso de Status
  • Parâmetros para transação de pagamento via PayPal
    • ADDITIONALDATA (additional_data)
    • ITEMS (items)
    • PAYER (payer)
    • SHIPMENT (shipment)
    • RECEIVERADDRESS (receiver_address)
    • EXTRAPARAM (extra_param)
    • ACQUIRERPARAMS (acquirer_params) (**)
    • Exemplos de request JSON para iniciar transações PayPal
  • Cancelamento de transações PayPal
    • Cancelamento via Portal do Lojista
  • Interfaces e-SiTef suportadas para integração
  • Autorizadoras permitidas
  • Credenciais necessárias
  • Cadastro das informações pelo Portal do Lojista e-SiTef
  • Fluxos
    • Pagamento REST/HTML
    • Efetivação de Pagamento
    • Confirmação de Pagamento
    • Recorrência
    • Pré-Autorização
    • Cancelamento
    • IATA
  • Interfaces e-SiTef suportadas para integração
  • Autorizadoras permitidas
  • Credenciais necessárias
  • Cancelamento
  • Subadquirência
    • Dados cadastrais necessários para subadquirência
    • MCC dinâmico
  • Interfaces e-SiTef suportadas para integração
  • Autorizadoras permitidas
  • Roteamentos permitidos
  • Análise Antifraude
    • Detalhes para a Análise Antifraude
  • Carteiras Digitais integradas
  • Roteamento/Adquirentes com suporte a autenticação 3DS
  • Fluxo de integração via Pagamento REST
  • Fluxo de integração via Pagamento HTML
  • Conteúdo do campo card.wallet_transaction_id
  • Fluxo
    • Fluxo sem demora na resposta do comprador
    • Fluxo com demora na resposta do comprador e status resolvido antes do limite de tempo
    • Fluxo com demora na resposta do comprador e limite de tempo atingido
  • Informações cadastrais
  • Pagamento REST
    • Fluxo
    • Informações adicionais na criação da transação
    • Requisição da efetivação do pagamento
    • Retornos na efetivação do pagamento com tamanho diferente do padrão
    • Retornos adicionais na efetivação do pagamento
  • Pagamento HTML
  • Cancelamento REST
    • Requisição da efetivação do cancelamento
    • Retornos adicionais na efetivação do cancelamento
  • Geração de link de pagamento no Portal do Lojista
  • Cadastro de chaves Pix no Portal do Lojista
  • Como Funciona
  • Pagamento REST
    • Integre-se ao Google Pay
    • Envie os dados para o e-SiTef
  • Armazenamento REST
  • Pagamento HTML
  • Roteamentos suportados
  • Interfaces e-SiTef suportadas
  • Configurações necessárias no e-SiTef
  • Requisito para integração REST
  • Fluxo de pagamento REST
  • Fluxo de Pré Autorização REST
  • Fluxo de Cancelamento / Estorno REST
  • Interfaces e-SiTef suportadas para integração
  • Código de Autorizadora no e-SiTef para Masterpass
  • Configurações necessárias
    • Criação do cadastro da loja no Portal Masterpass
    • Configurações necessárias no e-SiTef
  • Bandeiras permitidas
  • Fluxo de Pagamento Masterpass
    • Aviso de Status
  • Propriedades para uma transação de pagamento com a carteira digital Masterpass
  • Estorno de pagamentos Masterpass
  • Como Funciona
  • Dados cadastrais necessários
  • Bandeiras suportadas
  • Pagamento/Pré-Autorização REST
    • Envie os dados para o e-SiTef
  • Pagamento/Pré-Autorização HTML
  • Captura de Pré-Autorização REST e Cancelamento REST/via Portal
  • Armazenamento REST
  • O Apple Pay agora está disponível!
    • Vantagens
  • Introdução
  • Como Funciona
  • Dados cadastrais necessários
  • Bandeiras suportadas
  • Integre-se com a Apple Pay
  • Pagamento/Pré-Autorização REST
    • Envie os dados para o e-SiTef
  • Pagamento/Pré-Autorização HTML
  • Captura de Pré-Autorização REST e Cancelamento REST/via Portal
  • Armazenamento REST
  • Gerenciamento de chaves do lojista
  • Configuração de Roteamento/Adquirente
    • Roteamento/Adquirente único
    • Roteamentos/Adquirentes múltiplos
  • Visão Geral
  • Credenciais necessárias
  • Restrições
  • Cartão de Débito
  • Parâmetros de anti-fraude
    • Objeto items
    • Objeto payer
    • Objeto billing_data
    • Objeto shipment
    • Objeto browser
    • Objeto travel
    • Objeto passengers
    • Objeto connections
    • Objeto hotel_reservations
    • Objeto purchase_data
    • Objeto mdd
  • Configurar expiração para análise manual
  • Detalhes da chamada
  • Exemplos
  • Parâmetros de requisição
  • Parâmetros de resposta
  • Credenciais necessárias
  • Revisão manual
  • Parâmetros antifraude da ClearSale
    • Objeto items
    • Objeto payer
    • Objeto billing_data
    • Objeto shipment
    • Objeto passengers
    • Objeto connections
    • Objeto hotel_reservations
    • Objeto purchase_data
  • Exemplo
  • Lista de Códigos de Retorno
  • Credenciais necessárias
  • Bandeiras permitidas
  • Aviso de cancelamento por fraude
  • Parâmetros antifraude da CyberSource
    • Objeto items
    • Objeto shipment
    • Objeto browser
    • Objeto travel
    • Objeto passengers
    • Objeto connections
    • Objeto mdd
    • Valores de mdd
  • Exemplo
  • Lista de Códigos de Retorno
  • Credenciais necessárias
  • Configuração de URL Web Hook
  • Bandeiras permitidas
  • Funcionalidades suportadas
  • Parâmetros antifraude da Konduto (Link de Pagamento via HTML)
  • Campos coletados durante o Checkout
  • Exemplo
  • Antifraude Konduto no Link de Pagamento via Portal
  • Antifraude Konduto via REST
  • Parâmetros antifraude da Konduto
  • Exemplo
  • Credenciais necessárias
  • Configuração de URL Web Hook
  • Bandeiras permitidas
  • Funcionalidades suportadas
  • Parâmetros antifraude do Fraud Detect (Link de Pagamento via HTML)
  • Campos coletados durante o Checkout
  • Exemplo
  • Antifraude Fraud Detect no Link de Pagamento via Portal
  • Antifraude Fraud Detect via REST
  • Parâmetros antifraude do Fraud Detect
  • Exemplo
  • Troca de Autorizadora
  • Códigos de Autorizadoras no e-SiTef
  • Introdução
  • Certificado Digital
    • Certificados self-signed
  • Comunicação do e-SiTef com servidores de clientes
  • Criação de certificados self-signed
    • Configuração do openssl: openssl.cnf
    • Comandos openssl para gerar o certificado
  • Instalação do certificado self-signed gerado no servidor Apache
  • Verificação do certificado gerado
    • Detalhe do certificado no ambiente Windows
    • Detalhe do certificado no Firefox
  • Status de transações do e-SiTef
  • Status de agendamento
  • Status de armazenamento
  • Códigos de resposta
  • Códigos de resposta negativos (Roteamentos via SiTef)
  • Roteamentos via SiTef
  • Roteamentos não-SiTef
    • Cielo e-Commerce
    • e-Rede
    • e.Rede REST
    • Stone WS
    • Getnet WS
    • PayPal
    • SafraPay
    • GlobalPaymentsWS
  • O que você precisará
  • Criando as chaves pública e privada
  • Algoritmo de assinatura
  • Primeira parte (cabeçalho)
  • Segunda parte (payload)
    • Composição do payload
  • Terceira parte (verificação)
  • Assinatura final
  • Utilizando site JWT para testes
  • Visão Geral
  • Formato do arquivo de importação
  • Campos Padrão
  • Campos de configuração de autorizadoras
    • Exemplo
    • Resultado
  • Parâmetros dos roteamentos
    • Cielo via SiTef
    • Rede (Redecard) via SiTef
    • Stone via SiTef
    • BIN via SiTef
    • Safra via SiTef
    • Global Payments via SiTef
    • Getnet Lac via SiTef
    • Stone WS
    • Cielo EC
    • e-Rede
    • Global Payments WS
    • Getnet WS
  • Exemplo completos de linha de arquivo
    • Apenas uma autorizadora
    • Duas autorizadoras
  • Exemplos de Autorizadoras
  • Exemplos de Roteamentos
  • Visão Geral
  • Pré-requisitos
  • Roteamentos/Rede adquirentes suportadas
  • Formato do Arquivo de Importação
  • Códigos de Autorizadoras/Bandeiras
  • Códigos de Rede Adquirentes/Roteamentos
  • Parâmetros Adicionais
    • Stone WS
    • Exemplo Stone WS
  • Exemplo
  • Visão Geral
  • Comunicação
  • Fluxos
    • Criação de loja
    • Edição de loja
  • O que você precisará
  • POST de autenticidade x assinatura
  • Criando um token
  • Criando a loja
  • Detalhes da chamada
  • Exemplo
  • Parâmetros do POST de autenticidade
  • Parâmetros de resposta
  • Detalhes da chamada
  • Exemplo utilizando token
  • Exemplo utilizando assinatura
  • Parâmetros de requisição
    • Códigos de roteamento/adquirente
    • Parâmetros específicos do roteamento
    • Cadastro de lojas com antifraude
  • Parâmetros de resposta
  • Detalhes da chamada
  • Exemplo utilizando token
  • Exemplo utilizando assinatura
  • Parâmetros de requisição
  • Parâmetros de resposta
  • Detalhes da chamada
  • Exemplo
  • Parâmetros de resposta
  • Detalhes da chamada
  • Exemplo
  • Parâmetros de resposta
  • Detalhes da chamada
  • Exemplo
    • Listagem de loja utilizando token
    • Listagem de loja utilizando assinatura
  • Parâmetros de requisição
  • Parâmetros de resposta
  • Códigos de resposta
  • Visão Geral
  • Comunicação
  • Fluxos
    • Fluxo Frictionless
    • Fluxo Challenge
    • Fluxo Decoupled
  • O que você precisará
  • Criando a transação
  • Fazendo a autenticação
  • Detalhes da chamada
  • Geração da assinatura
    • Payload
    • Composição do payload
  • Exemplos
  • Parâmetros de requisição
  • Parâmetros de resposta
  • Detalhes da chamada
  • Exemplos
    • Fluxo Frictionless
    • Fluxo Challenge
    • Fluxo Decoupled
  • Parâmetros de requisição
  • Parâmetros de resposta
  • Detalhes da chamada
  • Exemplos
  • Parâmetros de resposta
  • Envio do CReq
    • Exemplos
    • Parâmetros do CReq
  • Recebimento do CRes
    • Parâmetros do CRes
  • Parâmetros do objeto threeDSMethodData
    • Exemplos
  • Notificação 3DS Method
  • IDs de bandeira
  • Status de transações do 3DS Server
  • Códigos de erro
  • Campo device_channel
e-SiTef
Relacionamento com o cliente
+55 (11) 3170-5300+55 (11) 4766-8000comercial@softwareexpress.com.br
Acessos
Portal do DesenvolvedorPortal e-SiTefVersão para impressão
Copyright © 2021 Software Express Informática Ltda - Todos os direitos reservados