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://<URLPOSTMAN/>/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<br/> <URLPOSTMAN/>

{
  "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.

<!--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&lt;String, String&gt; 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.