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]:
jsonouxml;
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<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'