Quick start

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

O que você precisará#

  • Cadastro ativo no ambiente de homologação do Carat (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
  • merchant_key: xxxxxxxxxxx

Parâmetros do POST:

  • Key/chave: request;
  • Value/valor: objeto JSON;
  • [tipo_de_retorno]: json ou xml;

Objeto JSON request mínimo:

Para usar este exemplo, não esquecer de definir a variável {{url}} com o valor
esitef-homologacao.softwareexpress.com.br

{
"merchant_id": "xxxxxxxxxx",
"amount": "1800"
}
curl
--request POST "https://{{url}}/e-sitef/init/json.se"
--header "Content-Type: application/x-www-form-urlencoded"
--header "merchant_key: xxxxxxxxxxx"
-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://{{url}}/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 Carat na etapa de criação da transação.

Recebendo um aviso de status#

Assim que o status da transação mudar, o Carat notificará a loja com um POST em sua URL de status cadastrada.

@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 Carat no domínio cadastrado pela loja:

curl -X POST \
https://dominiocadastrado.com.br \
-H 'Content-Type: application/x-www-form-urlencoded' \
-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.