Serviço de criação de recarga

import ApiDoc from '../../src/components/api-doc/ApiDoc';

POST de autenticidade x assinatura

O Carat possui duas formas de autenticação da loja na interface de recarga REST: POST de autenticidade ou assinatura.

No método de POST de autenticidade, o Carat enviará os dados da transação de recarga recém-criada para a URL de autenticidade cadastrada da loja.

No método de assinatura, a loja deve ter uma chave pública de criptografia RSA cadastrada no Carat e deverá montar uma assinatura JWT (JSON Web Tokens) a ser enviada no cabeçalho Authorization. Neste caso, as informações da transação de recarga serão retornadas diretamente na resposta do serviço. Saiba mais.

Detalhes da chamada

<ApiDoc method="post" path="/e-sitef/api/v3/recharge" />

  • Recurso: /v3/recharge
  • Método HTTP: POST
  • Formato da requisição: JSON
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
Content-TypeDeve ser enviado com o valor application/json.= 15 ANSIM
AuthorizationDeve ser enviada a assinatura de autenticação da loja no formato Bearer {assinatura}. Exemplo: Bearer {SEU_TOKEN_AQUI}.< 2000 ANNÃO

Exemplos

Abaixo estão alguns exemplos de chamada do serviço de criação de recarga utilizando a ferramenta cURL.

Criação de recarga com envio de todos os parâmetros

Requisição:

Para usar este exemplo, não esquecer de definir a variável {{url}} com o valor<br/> <URLPOSTMAN/>

curl
--request POST "https://{{url}}/e-sitef/v3/recharge"
--header "Content-Type: application/json"
--data-binary
{
   "begin_recharge_request":{
      "merchant_key":"XXXXXXXX",
      "merchant_usn":"2398",
      "order_id":"023748",
      "general_hash":"0000000000000000",
      "recharge_type":"normal"
   }
}
--verbose

Resposta:

{
   "begin_recharge_response":{
      "esitef":{
         "message":"OK. Transaction successful.",
         "code":"0"
      }
   }
}

POST de autenticidade:

curl -X POST \
  https://dominiodaloja.com.br \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'cache-control: no-cache' \
  -d 'merchantUSN=987654321&merchantId=LOJAFATURAT&orderId=123456789&nit=e009886843920c5173104557c9f6cd66b1481557fb3f4d88daca072eb8a50c97&generalHash=85E791AD85E791AD'

Criação de recarga com envio mínimo de parâmetros

Requisição:

Para usar este exemplo, não esquecer de definir a variável {{url}} com o valor<br/> <URLPOSTMAN/>

curl
--request POST "https://{{url}}/e-sitef/v3/recharge"
--header "Content-Type: application/json"
--data-binary
{
   "begin_recharge_request":{
      "merchant_key":"XXXXXXXX"
   }
}
--verbose

Resposta:

{
   "begin_recharge_response":{
      "esitef":{
         "message":"OK. Transaction successful.",
         "code":"0"
      }
   }
}

Criação de recarga com envio de assinatura

Requisição:

Para usar este exemplo, não esquecer de definir a variável {{url}} com o valor<br/> <URLPOSTMAN/>

curl
--request POST "https://{{url}}/e-sitef/v3/recharge"
--header "Content-Type: application/json"
--header "Authorization: Bearer {TOKEN_JWT_EXAMPLE}"
--data-binary
{
   "begin_recharge_request":{
      "merchant_key":"XXXXXXXX",
      "merchant_usn":"1446681016",
      "order_id":"13014858663",
      "general_hash":"0000000000000000"
   }
}
--verbose

Resposta:

{
   "begin_recharge_response":{
      "esitef":{
         "message":"OK. Transaction successful.",
         "code":"0"
      },
      "nit": "jhadafsafhjhasdfghiyuw43u8785345jksjknsmnnsjkfkiu34u98ynksnn3535",
      "merchant_id": "XXXXXXXX",
      "order_id": "13014858663",
      "merchant_usn": "1446681016",
      "general_hash": "AF32810AAF32810A"
   }
}

Parâmetros de requisição

Na tabela abaixo está a descrição dos parâmetros de requisição do serviço de criação de recarga:

ParâmetroDescriçãoFormatoObrigatório
merchant_keyChave da loja cadastrada no Carat< 80 ASIM
merchant_usnNúmero sequencial único gerado pela loja< 12 NNÃO
order_idCódigo de identificação do pedido gerado pela loja< 20 ANNÃO
general_hashCódigo de identificação da versão da tabela com os dados relativos às recargas (operadoras, filiais, faixas de valores, validades dos créditos, dentre outros).<br/><br/>Caso a loja não tenha feito uma recarga anteriormente ou não tenha guardado um valor de general_hash previamente recebido do Carat, o valor: 0000000000000000 pode ser passado ao Carat.<br/><br/>Este campo permite ao lojista saber se ocorreu alteração nos dados da recarga. Isso porque se ocorreu alguma alteração na tabela, o general_hash retornado será diferente do general_hash que o lojista possui. Neste caso, é aconselhável que o lojista efetue as consultas e atualize os valores das operadoras de recarga em sua aplicação.= 16 ANÃO
recharge_typeTipo da recarga a ser realizada.<br/><br/>Valores:
  • normal – Recarga de celulares
  • others – Recarga para outros tipos de produtos, como PIN de jogos, doações, seguros ou até mesmo recarga de celular por outras modalidades.
  • invoice – Pagamento de fatura por assinatura
Valor padrão: normal
= 6 ANÃO

Parâmetros de resposta

Em caso de sucesso, o código de resposta HTTP será 200. Qualquer outro código deve ser interpretado como erro. Na tabela abaixo está a descrição dos parâmetros de resposta do serviço de criação de recarga:

ParâmetroDescriçãoFormato
nitIdentificação da transação de recarga no Carat= 64 AN
merchant_idCódigo de identificação da loja no Carat< 15 AN
order_idCódigo de identificação do pedido gerado pela loja< 20 AN
merchant_usnNúmero sequencial único gerado pela loja< 12 N
general_hashCódigo de identificação da tabela com os dados relativos às recargas (operadoras, filiais, faixas de valores, validades dos créditos, dentre outros).= 16 AN
esitefElemento que descreve a resposta do Carat.
codeCódigo de resposta do Carat. Qualquer código diferente de 0(zero) significa falha. Saiba mais.< 4 N
messageMensagem de resposta do Carat.< 500 AN

Parâmetros enviados pelo post de autenticidade

Na tabela abaixo está a descrição dos parâmetros enviados pelo Carat no POST de autenticidade:

ParâmetroDescriçãoFormato
nitIdentificação da transação de recarga no Carat.Este é o campo relevante para prosseguimento do processo de efetuar recarga.= 64 AN
merchantIdCódigo de identificação da loja no Carat< 15 AN
orderIdCódigo de identificação do pedido gerado pela loja< 20 AN
merchantUSNNúmero sequencial único gerado pela loja< 12 N
generalHashCódigo de identificação da tabela com os dados relativos às recargas (operadoras, filiais, faixas de valores, validades dos créditos, dentre outros).= 16 AN

O Carat também pode enviar novos parâmetros sem aviso prévio, o que significa que a aplicação do lojista deve estar preparada para receber campos extras e simplesmente ignorá-los.

Parâmetros enviados pelo Carat no POST HTTPS

Importante:

O Carat utiliza o tipo de mídia x-www-form-urlencoded, para envio do POST HTTPS. Sendo assim, o servidor tem que aceitar este tipo de mídia na URL que for cadastrada para recebimento do POST HTTPS.

ParâmetroDescriçãoFormato
nitIdentificação da transação de recarga no Carat= 64 AN
merchantIdCódigo de identificação da loja no Carat< 15 AN
orderIdCódigo de identificação do pedido gerado pela loja< 20 AN
merchantUSNNúmero sequencial único gerado pela loja< 12 N
generalHashCódigo de identificação da tabela com os dados relativos às recargas (operadoras, filiais, faixas de valores, validades dos créditos, dentre outros).= 16 AN