Endpoint responsável por buscar uma chave RSA para encriptar os dados do cartão

Gerando um Card Hash:

O Card Hash é gerado a partir de uma QueryString com os dados do cartão no formato URLencoded

Exemplo de dados de um cartão:
card_number : 49017200747543335
card_expiration_date: 122027 (mmyyyy)
card_cvv: 314

Primeiro passo:
Montar uma QueryString contendo os dados do cartão
Exemplo:
card_number=49017200747543335&card_expiration_date=122027&card_cvv=314

Segundo passo:
Realizar uma RSA Encryption
A RSA Key deve ser do tipo: Public Key
O Cipher deve ser do tipo: PKCS1Padding

Terceiro passo:
Encriptar a chave pública em conjunto com a QueryString

Quarto passo:
Converter o resultado em base64

Quinto passo:
Informar o resultado de todo o processo da seguinte forma:

Id + “_” + encrypted_string_base64
Na prática o resultado final será uma string similar ao exemplo abaixo:

Id_NezGQK7lNPZJAbBnuVy7/ndpqt+oZzkg6EY5VZ092xV9Ks6HZBuE1/fy3izBb4Ja5LX1SHFR9/Kk7ta49QuULw2Cdko3ydARpYHXh+lrja+4gjEzcotrIQ2YYF9HLkN/CTrNumymC9d6ip++gL+Qo1i/OFLPNWRbkGNwWfHAGy4=

Obs: A chave terá uma validade de 90 segundos após a requisição ser feita

Glossário:

QueryString: parâmetro enviado pela URL

URLencoded: Mecanismo para codificar informações em um Uniform Resource Identifier

Exemplo de uma URLencoded: nome=gabriel&cidade=itapema&idade=23

RSA Encryption: Método de criptografia que trabalha com duas chaves, sendo elas a chave de encriptação, que é pública e a chave de decriptamento que é privada e diferente da chave publica

Código de Exemplo em Php

<?php

$public_key = 'chave pública gerada no endpoint';

$urlEncoded = 'card_number=49017200747543335&card_expiration_date=122027&card_cvv=314';

openssl_public_encrypt($urlEncoded, $encrypted, $public_key, OPENSSL_PKCS1_PADDING);

$queryString = "id_" . base64_encode($encrypted);

echo $queryString;
Language
Authentication
Bearer
URL
Click Try It! to start a request and see the response here!