Network Tokenization
A Tokenization de cartão é um serviço que substitui o PAN (Primary Account Number) por um token, que é fornecido diretamente pelas bandeiras de cartão. Embora cada bandeira tenha seu próprio modelo de token para gerar tokens exclusivos, todos eles seguem o mesmo formato, aderindo à mesma estrutura de um PAN, consistindo em 16 dígitos, incluindo o BIN e um dígito de verificação. Como resultado, os dados permanecem no mesmo formato e mantêm o mesmo nível de segurança, ao mesmo tempo em que são interoperáveis e capazes de ser processados por quaisquer adquirentes que suportem Network Tokenization.
Além disso, toda transação envolvendo um token de bandeira de cartão requer a geração de um criptograma, adicionando uma camada extra de segurança às transações de e-commerce e garantindo que o token seja válido e possa ser processado. Para concluir a transação, tanto o token quanto o criptograma devem ser gerados pelo mesmo provedor.
Observações ao usar Network Tokenization durante pagamentos
Para usar o número de Tokenization, ele deve ser colocado como o valor number_token, juntamente com sua data de expiração correspondente.
Para poder ler as informações geradas na requisição de token no momento do pagamento, a API da GetNet espera receber as seguintes informações adicionais (que podem ser encontradas no objeto tokenization, um objeto de terceiro nível dentro de qualquer requisição de autorização):
| Atributo | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|
card | Object | Sim | Conjunto de dados do cartão | - |
card.number_token | String | Condicional | Número do cartão tokenizado. Envie apenas quando card.number não for enviado | e71084449bc70e344f77d4c382704ea |
tokenization | Object | Condicional | Conjunto de dados de Tokenization. Obrigatório para pagamentos com network tokenization | - |
tokenization.type | String | Sim | Tipo de Tokenization | TAVV (Visa) ou UCAF (Mastercard) |
tokenization.cryptogram | String | Sim | Valor do criptograma criado anteriormente na geração do criptograma do cartão pelo TSP (Token Service Provider) | 0006010865799300000620111679930000000000 |
tokenization.eci | String | Condicional | Electronic Commerce Indicator, um código numérico. Obrigatório para conformidade com SCA | 07 (Visa) ou 06 (Mastercard) |
tokenization.requestor_id | String | Condicional | Identificador numérico. Obrigatório ao usar o serviço de Tokenization da GetNet | 1234567 |
Na coluna Obrigatório, Condicional significa que o campo é obrigatório apenas em cenários específicos, descritos na linha do campo.
Para mais detalhes, consulte a Referência da API
Tokenization transparente (interna)
Para que as transações sejam realizadas de forma segura, os dados do cartão serão tokenizados com o fluxo de autorização interno da GetNet, sem a necessidade de uma requisição de Tokenization prévia. Portanto, ao enviar uma requisição de pagamentos, o corpo da requisição deve conter as seguintes propriedades dentro do objeto card de terceiro nível:
| Atributo | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|
card | Object | Sim | Conjunto de dados do cartão | - |
card.number | String | Condicional | Número do cartão. Envie apenas quando card.number_token não for enviado | 4013790001234569 |
card.expiration_month | String | Sim | Mês de expiração do cartão com dois dígitos | 09 |
card.expiration_year | String | Sim | Ano de expiração do cartão com dois dígitos | 30 |
card.cardholder_name | String | Sim | Nome do comprador impresso no cartão | Roland Deschain |
card.security_code | String | Não | Código de segurança. CVV ou CVC | 517 |
card.brand | String | Não | Bandeira do cartão, preenchida automaticamente pela API se não informada | Visa |
card.number_token | String | Condicional | Número do cartão tokenizado. Envie apenas quando card.number não for enviado | e71084449bc70e344f77d4c382704ea |
Tokenization de terceiros (externa)
É possível autorizar pagamentos com cartões tokenizados em soluções externas à GetNet.
Para fazer isso, ao enviar uma requisição de pagamento, o corpo da requisição deve conter os dados do cartão dentro do objeto card e as propriedades já mencionadas (type, cryptogram, eci, requestor_id) dentro do objeto tokenization.
| Atributo | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|
card | Object | Sim | Conjunto de dados do cartão | - |
card.number | String | Condicional | Número do cartão gerado pelo TSP (Token Service Provider) | 4013790001234569 |
card.expiration_month | String | Sim | Mês de expiração do cartão com dois dígitos | 09 |
card.expiration_year | String | Sim | Ano de expiração do cartão com dois dígitos | 30 |
card.cardholder_name | String | Sim | Nome do comprador impresso no cartão | Roland Deschain |
card.security_code | String | Não | Código de segurança. CVV ou CVC | 517 |
card.brand | String | Não | Bandeira do cartão, preenchida automaticamente pela API se não informada | Visa |
tokenization | Object | Condicional | Conjunto de dados de Tokenization | - |
tokenization.type | String | Sim | Tipo de criptograma usado pelo TSP (Token Service Provider) | TAVV |
tokenization.cryptogram | String | Sim | Valor do criptograma gerado pelo TSP (Token Service Provider) | AwAAJxAAPbVE1LYAmcebg0KAAAA= |
tokenization.eci | String | Condicional | Indicador ECI (Electronic Commerce Indicator). Obrigatório para conformidade com SCA | 05 |
tokenization.requestor_id | String | Condicional | Indica o identificador do solicitante do Token | 98765432101 |
Preencher corretamente requestor_id e eci é essencial para conformidade com os padrões SCA (Strong Customer Authentication) aplicáveis no mercado espanhol/europeu.