Tokenização do cartão

Detalhes da chamada#

  • Recurso: /v1/cards
  • Método HTTP: POST
  • Formato da requisição: JSON
  • Formato da resposta: JSON
  • Parâmetros de cabeçalho:
ParâmetroDescriçãoFormatoObrigatório
merchant_idCódigo da loja no Carat. Os códigos de produção e certificação serão diferentes.< 15 ANSIM
merchant_keyChave de autenticação da loja no Carat. As chaves de produção e certificação serão diferentes.< 80 ANSIM
Content-TypeDeve ser enviado com o valor application/json.= 15 ANSIM

Fluxo#

Exemplos#

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

Armazenamento de cartão#

Requisição:

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

curl
--request POST "https://{{url}}/e-sitef/api/v1/cards"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"card":{
"expiry_date":"1222",
"number":"5444445555555555",
},
"authorizer_id":"2",
"merchant_usn":"16013439434",
"customer_id":"11122211122"
}
--verbose
curl
--request POST "https://{{url}}/e-sitef/api/v1/cards"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"card":{
"wallet_transaction_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=="
},
"authorizer_id":"2",
"merchant_usn":"16013439434",
"customer_id":"11122211122"
}
--verbose

Resposta:

{
"code":"0",
"message":"OK. Transaction successful.",
"card":{
"token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==",
"suffix":"5555",
"bin": "544444"
},
"store":{
"status":"CON",
"nsua":"18051600000560A",
"nita":"xxxxxxxxxxxxxxxxxxx",
"merchant_usn":"16013439434",
"customer_id":"11122211122",
"authorizer_id":"2"
}
}

Códigos de resposta

Veja a referencia no Códigos da API - códigos de resposta

Parâmetros de requisição#

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

ParâmetroDescriçãoFormatoObrigatório
authorizer_idCódigo da autorizadora no Carat. Saiba mais.< 3 NSIM
merchant_usnNúmero sequencial único para cada pedido, criado pela loja.< 12 NNÃO
customer_idIdentificação do comprador para armazenamento de cartão. Esta identificação deve ser única para cada usuário da loja. Mas atenção, essa garantia de unicidade é de total responsabilidade da loja, o Carat não realizará nenhuma validação.< 20 ANSIM
card
numberNúmero do cartão do comprador (PAN). Não deve ser informado junto com o identificador da carteira.< 19 NCOND.
expiry_dateData de vencimento do cartão no formato MMAA. Sua obrigatoriedade depende do adquirente escolhido. Na maioria dos casos, esse campo é obrigatório.= 4 NCOND.
wallet_transaction_idIdentificador gerado pela carteira digital. Atualmente somente suportado para a Google Pay.< 2048 ANCOND.

Atenção: os campos card.number e card.wallet_transaction_id não devem ser definidos ao mesmo tempo na mesma requisição.

Parâmetros de resposta#

Em caso de sucesso, o código de resposta HTTP será 201. 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 armazenamento de cartão:

ParâmetroDescriçãoFormato
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
store
statusStatus da transação de armazenamento no Carat. Saiba mais.= 3 AN
nsuaNúmero sequencial único da transação de armazenamento no Carat.= 15 AN
nitaIdentificação do armazenado no Carat.= 64 AN
merchant_usnNúmero sequencial único enviado pela loja.< 12 N
customer_idIdentificação do comprador para armazenamento de cartão.< 20 AN
authorizer_idCódigo da autorizadora utilizada no armazenamento.< 3 N
card
tokenIdentificação do cartão armazenado. Este token deve ser utilizado no lugar do cartão do comprador para realização de transações com o Carat.= 88 AN
suffixÚltimos 4 dígitos do cartão do comprador.= 4 AN
bin6 primeiros dígitos do cartão do comprador.= 6 AN