Quick start
Este guia mostra o processo de cancelamento de um pagamento, utilizando a interface web service REST do Carat.
O que você precisará
esitef_usnde um pagamento confirmado no Carat. Saiba mais.- 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 cancelamento
Tipo de requisição: POST
URL: https://<URLPOSTMAN/>/e-sitef/api/v1/cancellations
Headers:
- Content-Type: application/json
- merchant_id: {seu código de loja}
- merchant_key: {chave da sua loja}
Requisição:
Preencha o campo <nsu_pagamento> na requisição abaixo com o esitef_usn obtido na resposta do pagamento.
Para usar este exemplo, não esquecer de definir a variável {{url}} com o valor<br/> <URLPOSTMAN/>
{
"esitef_usn": "<nsu_pagamento>"
}
curl
--request POST "https://{{url}}/e-sitef/api/v1/cancellations"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"esitef_usn":"<nsu_pagamento>"
}
--verbose
Recebimento do POST de autenticidade:
<!--Java + Spring Framework-->
@RestController
public class MyAuthenticityController {
@PostMapping(value = "/myauthenticity",
consumes = "application/x-www-form-urlencoded; charset=utf-8")
public ResponseEntity<String> myAuthenticity(@RequestParam Map<String, String> request) {
Log.info("nit = " + request.get("nit"));
// ...
// armazena o NIT do cancelamento
// ...
return new ResponseEntity<>("OK", HttpStatus.OK);
}
}
Resposta:
{
"code": "0",
"message": "OK. Transaction successful."
}
Saiba mais sobre esse serviço.
Cancelando o pagamento
Tipo de requisição: PUT
URL: https://<URLPOSTMAN/>/e-sitef/api/v1/cancellations/<nit>
Preencha o campo <nit> na URL acima com o NIT obtido no POST de autenticidade.
Headers:
- Content-Type: application/json
- merchant_id: {seu código de loja}
- merchant_key: {chave da sua loja}
Requisição:
Para usar este exemplo, não esquecer de definir a variável {{url}} com o valor<br/> <URLPOSTMAN/>
{
"card": {
"number": "5555555555555555",
"expiry_date": "1222",
"security_code": "601"
},
"amount": "1"
}
curl
--request PUT "https://{{url}}/e-sitef/api/v1/cancellations/<nit>"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"card":{
"number":"5555555555555555",
"expiry_date":"1222",
"security_code":"601"
},
"amount":"1"
}
--verbose
Resposta:
{
"code": "0",
"message": "OK. Transaction successful.",
"cancellation": {
"authorizer_code": "000",
"authorizer_message": "Transacao OK",
"status": "CON",
"nit": " <nit>",
"order_id": "09062259711",
"customer_receipt": "=== COMPROVANTE ===",
"merchant_receipt": "=== COMPROVANTE ===",
"authorizer_id": "2",
"acquirer_id": "229",
"acquirer_name": "Bin",
"authorizer_date": "09/11/2017T18:23",
"authorization_number": "092423",
"merchant_usn": "9062259711",
"esitef_usn": "171109108051261",
"sitef_usn": "092424",
"host_usn": "999092424 ",
"amount": "1",
"payment_type": "C",
"issuer": "2",
"authorizer_merchant_id": "000000000000005",
"esitef_date": "09/11/2017T18:23",
"is_host_cancel": "false"
}
}
Saiba mais sobre esse serviço.
Verificando o estado do cancelamento
Tipo de requisição: GET
URL: https://<URLPOSTMAN/>/e-sitef/api/v1/transactions/<nit>
Preencha o campo <nit> na URL acima com o NIT obtido no POST de autenticidade.
Headers:
- Content-Type: application/json
- merchant_id: {seu código de loja}
- merchant_key: {chave da sua loja}
Requisição:
Para usar este exemplo, não esquecer de definir a variável {{url}} com o valor<br/> <URLPOSTMAN/>
curl
--request GET "https://{{url}}/e-sitef/api/v1/transactions/<nit>"
--header "merchant_id: xxxxxxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--verbose
Resposta:
{
"code": "0",
"message": "OK. Transaction successful.",
"cancellation": {
"authorizer_code": "000",
"authorizer_message": "Transacao OK",
"status": "CON",
"nit": " <nit>",
"order_id": "09062259711",
"customer_receipt": "=== COMPROVANTE ===",
"merchant_receipt": "=== COMPROVANTE ===",
"authorizer_id": "2",
"acquirer_id": "229",
"acquirer_name": "Bin",
"authorizer_date": "09/11/2017T18:23",
"authorization_number": "092423",
"merchant_usn": "9062259711",
"esitef_usn": "171109108051261",
"sitef_usn": "092424",
"host_usn": "999092424 ",
"amount": "1",
"payment_type": "C",
"issuer": "2",
"authorizer_merchant_id": "000000000000005",
"esitef_date": "09/11/2017T18:23",
"is_host_cancel": "false"
}
}