Pagamento REST

Visão Geral#

O Pagamento Online 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 Pagamento Online, 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 Pagamento Online 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 Pagamento Online:

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 Pagamento Online.

Importante:

Além dos parâmetros de retorno dos serviços descritos nesta especificação o Pagamento Online 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 Pagamento Online 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 Pagamento Online 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 Pagamento Online 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).