Pagamento REST
#
Visão GeralO Carat possui duas interfaces para integração com a loja virtual, POST/HTML e Web Services (REST), possibilitando a maneira adequada de interação da loja com o Carat, 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 Carat 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.
E para saber mais sobre essas nomenclaturas (Bin, Software Express, Carat, e-Sitef) Saiba mais
#
ComunicaçãoPara 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 Carat:
URL base de Produção:
https://ecomm-bin.fiserv.com.br/e-sitef/api
URL base de Homologação:
https://sandbox.ecomm-bin.fiserv.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 ecomm-bin.fiserv.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 Carat.
Importante:
Além dos parâmetros de retorno dos serviços descritos nesta especificação o Carat 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.
#
FluxoO fluxo de pagamento será iniciado pela aplicação 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 Carat se responsabiliza por confirmar o pagamento com a adquirente, 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 a aplicação 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áticaDescrição do fluxo:
- O lojista cria uma transação via API 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).
- 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).
Exemplo
Para usar este exemplo, não esquecer de definir a variável {{url}}
com o valor
sandbox.ecomm-bin.fiserv.com.br
Requisição:
Resposta obdita: (Repare no status da transação, que é CON de Confirmada)
#
Pagamento com confirmação tardiaDescrição do fluxo:
- Assim como no fluxo de pagamento com confirmação automática, o lojista cria uma transação na API passando os dados do pagamento. Adicionalmente, ele deve enviar o parâmetro
postpone_confirmation
com valortrue
. - 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). - Concluindo, a loja virtual chama o serviço de confirmação do pagamento, passando o NIT novamente e o parâmetro
confirm
com valortrue
, resultando numa transação com statusCON
(confirmada). Também existe a possibilidade do lojista desfazer a transação em vez de confirmar. Para isso, o parâmetroconfirm
deve ser enviado com valorfalse
, o que resultará numa transação com statusPPN
(desfeita).
Exemplo
Para usar este exemplo, não esquecer de definir a variável {{url}}
com o valor
sandbox.ecomm-bin.fiserv.com.br
Note o parâmetro
postpone_confirmation
incluído com o valortrue
, bem como o status retornado, que agora éPPC
.
Resposta obdita: