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

O Card Hash é criado a partir de uma QueryString com valores URLencoded dos dados do cartão

card_number = 4901720077543335

card_expiration_date = 122013

card_cvv = 314

Neste caso a QueryString seria: card_number=4901720077543335&card_expiration_date=122013&card_cvv=314

Agora será necessário fazer uma criptografia pública com RSA e o padding PKCS1Padding usando a public_key que você recebeu na request passando a QueryString construída e converter o resultado para Base64

Você pode buscar um RSA Key para encriptar os dados do cartão para uma transação.
Gerando um Card Hash

O seu cardhash será compost por id + "" + encrypted_string_base64

ESSA CHAVE SERÁ VÁLIDA POR 90 SEGUNDOS APÓS A REQUISIÇÃO

Log in to see full request history

Código de Exemplo em Php

<? use GuzzleHttp\Client; use phpseclib\Crypt\RSA; // A sua Chave de integração belluno SANDBOX $key = ""; $headers = array(); $headers['Content-Type'] = 'application/json'; $headers['Authorization'] = "Bearer " . $key; $request = array(); $request["headers"] = $headers; $client = new Client(); $response = $client->request( 'GET', "https://ws-sandbox.bellunopag.com.br/transaction/card_hash_key", $request ); $responseDecoded = json_decode($response->getBody()->getContents()); $card_number = '4970100000000055'; $card_expiration_date = '112021'; $card_cvv = '123'; $stringHash = "card_number=$card_number&card_expiration_date=$card_expiration_date&card_cvv=$card_cvv"; $rsa = new RSA(); $rsa->setEncryptionMode(RSA::ENCRYPTION_PKCS1); $rsa->loadKey($responseDecoded->rsa_public_key); $crypto = $rsa->encrypt($stringHash); $crypto_64 = base64_encode($crypto); $card_hash = "" . $responseDecoded->id . "_" . $crypto_64 . "";
function getHashKey(uid) { return $.ajax({ type: "GET", url: `https://api.belluno.digital/link/${uid}/card_hash_key`, headers: { Authorization: "Basic acces_token", }, dataType: "JSON", success: function (response) { }, error: function (response) { console.log(response); }, }); } function hash(id, public_key, card) { var encrypt = new JSEncrypt(); encrypt.setPublicKey(public_key); card_string = `card_number=${card.number}&card_expiration_date=${card.expire}&card_cvv=${card.cv}`; var encrypted = encrypt.encrypt(card_string); hash = "" + id + "_" + encrypted; return hash; } response = getHashKey(); card_hash = hash(response.id, response.public_key, { number: '123...', expire: '05/2026', cv: '123' });
Responses

Language
Credentials
URL
Click Try It! to start a request and see the response here! Or choose an example:
application/json