e-SiTef

e-SiTef

  • Portal do Desenvolvedor
  • Fale Conosco
  • English

›Informações Gerais

Pagamento REST

  • Visão Geral
  • Quick start
  • Serviço de criação da transação
  • Serviço de efetivação de pagamento
  • Serviço de confirmação de pagamento
  • Serviço de consulta de transação
  • Serviço de consulta de múltiplas transações
  • Serviço de consulta de cartão
  • Serviço de efetivação de pagamento com múltiplos meios de pagamento
  • Serviço de confirmação de pagamento com múltiplos meios de pagamento
  • Serviço de confirmação de pagamento de origem externa

Armazenamento REST

  • Visão Geral

Cancelamento REST

  • Fluxo
  • Quick start
  • Cancelamento via host
  • Cancelamento origem externa
  • Serviço de criação de cancelamento
  • Serviço de cancelamento

Pré-autorização REST

  • Visão Geral
  • Quick start
  • Serviço de Criação de Pré-Autorização
  • Serviço de Efetivação de Pré-Autorização
  • Serviço de Consulta de Pré-Autorização
  • Serviço de Consulta de Cartões
  • Serviço de Edição de Pré-Autorização
  • Serviço de Edição de Pré-Autorização de Origem Externa
  • Serviço de Incremento de Pré-Autorização
  • Serviço de Captura de Pré-Autorização
  • Serviço Captura de Pré autorização com origem externa

Agendamento de Recorrência REST

  • Visão Geral
  • Quick start
  • Serviço de criação da transação
  • Serviço de ativação de agendamento
  • Execução dos pagamentos agendados
  • Fluxo de edição de agendamento
  • Quick start: edição de agendamento
  • Serviço de criação de edição de agendamento
  • Serviço de edição de agendamento

Recarga REST

  • Visão Geral
  • Quick start
  • Serviço de criação de recarga
  • Serviço de listagem de concessionárias
  • Serviço de listagem de dados da filial
  • Serviço de efetivação de recarga
  • Serviço de confirmação de recarga
  • Serviço de consulta de recarga

Pagamento HTML

  • Visão Geral
  • Quick start
  • Iniciando uma transação de pagamento
  • Aviso de Status
  • Serviço de consulta de transação HTML
  • Pagamento com armazenamento de cartão
  • Customização de Páginas
  • Pagamento com Link
  • Pagamento Split
  • Pagamento com múltiplos meios de pagamento
  • Integração 3DS 2.0

Pré-Autorização HTML

  • Visão Geral

Recarga HTML

  • Visão Geral
  • Quick start
  • Iniciando uma transação de recarga

Operações Genéricas REST

  • Visão geral
  • Serviço de geração de token
  • Serviço de operação genérica

Pagamento JavaScript

  • Visão Geral
  • Quick start
  • Serviço de criação da transação
  • Página de pagamento da loja virtual
  • Serviço de consulta de transação

Armazenamento JavaScript

  • Visão Geral
  • Quick start
  • Serviço de criação da transação
  • Página da loja virtual

Portal do Lojista

  • Introdução
  • Acesso ao Portal
  • Autenticação em duas etapas
  • Configurações do usuário
  • Configurar Autorizadoras
  • Relatório de Transações
  • Relatório de Resumo Diário
  • Relatório de Armazenamentos
  • Relatório de Recargas
  • Relatório Analítico
  • Cancelamento de Transações
  • Agendamentos de Recorrência
  • Configurar Análise de Risco
  • Configurar Ordenação de Autorizadoras
  • Administração de Usuários
  • Geração de link de pagamento

Portal do Lojista (POS)

  • Visão Geral
  • Configuração do POS Virtual
  • Pagamento via POS Virtual
  • Relatório de Transações POS

Portal do Lojista (Recarga POS)

  • Visão Geral
  • Recarga via POS Virtual

Retentativa

  • Visão Geral
  • Fluxos
  • Retentativa e Agendamento de Recorrência
  • Retentativa e códigos de retornos permitidos

Roteamentos via SiTef

  • Bradescard
  • Cetelem
  • GetnetLac
  • Orbitall
  • Vero
  • Bin
  • Sipag

Roteamentos Não-SiTef

  • Banco do Brasil
  • Banrisul Vero
  • Cielo e-Commerce
  • EPX
  • e.Rede REST
  • Fepas HUB
  • Getnet WS
  • GlobalPayments WS
  • IPG
  • Itaú Shopline
  • Mercado Pago
  • PagSeguro
  • PayPal
  • SafraPay
  • Stone WS

Auxílio Emergencial

  • Auxílio Emergencial

Carteira digital

  • Visão Geral
  • Carteira Digital VEE via CardSE
  • Pix via CardSE
  • Google Pay
  • Visa Checkout
  • Masterpass
  • Samsung Pay
  • Apple Pay
  • Configurações para Carteiras Digitais

Integração com antifraude

  • Visão Geral
  • Serviço de análise de risco na Interface HTML
  • Retorno da análise de risco
  • Fluxo de Revisao Manual
  • Serviço de marcação de fraude
  • ClearSale
  • CyberSource
  • Konduto
  • Fraud Detect

Informações Gerais

  • Autorizadoras
  • Certificados Digitais
  • Códigos da API
  • Soft Descriptor
  • Autenticação com assinatura

Cadastros em Lote

  • Cadastros de Lojas em Lote
  • Configuração de Roteamento em Lote

Cadastro de Lojas REST

  • Visão Geral
  • Quick start
  • Serviço de criação de token
  • Serviço de criação de loja
  • Serviço de edição de loja
  • Serviço de consulta de loja
  • Serviço de consulta de status loja
  • Serviço de listagem de lojas
  • Códigos da API

3DS Server

  • Visão Geral
  • Quick start
  • Serviço de criação de transação
  • Serviço de autenticação
  • Serviço de consulta de transação
  • Mensagens de desafio
  • Notificação decoupled
  • Iniciando um 3DS Method
  • Códigos da API

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"

← Soft DescriptorCadastros de Lojas em Lote →
  • 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
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