Calcular a assinatura

Para calcular a assinatura, você deve ter:
  • todos os campos com o nome começando por vads_
  • o tipo de algoritmo escolhido na configuração da loja
  • da chave

O valor da chave está disponível no seu Back Office Estabelecimento Comercial selecionando o menu Configuração > Loja > aba Chaves.

O tipo de algoritmo é definido no seu Back Office Estabelecimento Comercial selecionando o menu Configuração > Loja > aba Configuração.

Para um segurança máxima, recomendamos usar o algoritmo HMAC-SHA-256 bem como uma chave alfanumérica.

Para calcular a assinatura:

  1. Classificar por ordem alfabética todos os campos com o nome começando por vads_ .
  2. Garanta que todos os campos sejam codificados em UTF-8.
  3. Separe os valores dos campos com o símbolo "+".
  4. Concatene o resultado com a chave de teste ou de produção, separando-os com o símbolo "+".
  5. Conforme o algoritmo definido na configuração da sua loja:
    1. Se sua loja estiver configurada para usar “SHA-1”, aplique a função hash SHA-1 no string obtido na etapa anterior.
    2. Se sua loja estiver configurada para usar "HMAC-SHA-256", calcule e codifique no formato Base64 a assinatura da mensagem usando o algoritmo HMAC-SHA-256 com os parâmetros seguintes:
      • a função hash SHA-256,
      • a chave de teste ou de produção (em função do valor do campo vads_ctx_mode) como chave compartilhada,
      • O resultado da etapa anterior como mensagem para ser autenticada.
  6. Salve o resultado da etapa anterior no campo signature.
Exemplos de parâmetros enviados para a plataforma de pagamento:
<form method="POST" action="https://secure.payzen.com.br/vads-payment/">
<input type="hidden" name="vads_action_mode" value="INTERACTIVE" />
<input type="hidden" name="vads_amount" value="5124" />
<input type="hidden" name="vads_ctx_mode" value="TEST" />
<input type="hidden" name="vads_currency" value="986" />					
<input type="hidden" name="vads_page_action" value="PAYMENT" />
<input type="hidden" name="vads_payment_config" value="SINGLE" />
<input type="hidden" name="vads_site_id" value="12345678" />
<input type="hidden" name="vads_trans_date" value="20170129130025" />
<input type="hidden" name="vads_trans_id" value="123456" />
<input type="hidden" name="vads_version" value="V2" />
<input type="hidden" name="signature" value="95934ce8678c9e3305f93134054143bd209972dd	" />					
<input type="submit" name="pagar" value="Pagar"/>
</form>

Este exemplo de formulário entende-se da maneira seguinte:

  1. Classificar por ordem alfabética todos os campos com o nome começando por vads_ :
    • vads_action_mode
    • vads_amount
    • vads_ctx_mode
    • vads_currency
    • vads_page_action
    • vads_payment_config
    • vads_site_id
    • vads_trans_date
    • vads_trans_id
    • vads_version
  2. Concatene o valor dos campos com o símbolo "+" :
    INTERACTIVE+5124+TEST+986+PAYMENT+SINGLE+12345678+20170129130025+123456+V2
  3. Acrescente o valor da chave de teste no final do string separando com o símbolo "+"). Neste exemplo, a chave de teste é 1122334455667788:
    INTERACTIVE+5124+TEST+986+PAYMENT+SINGLE+12345678+20170129130025+123456+V2+1122334455667788
  4. Se você usar o algoritmo SHA-1, aplique ele no string obtido.

    O resultado para ser enviado no campo de assinatura é : 95934ce8678c9e3305f93134054143bd209972dd

  5. Se sua loja estiver configurada para usar "HMAC-SHA-256", calcule e codifique no formato Base64 a assinatura da mensagem usando o algoritmo HMAC-SHA-256 com os parâmetros seguintes:
    • a função hash SHA-256,
    • a chave de teste ou de produção (em função do valor do campo vads_ctx_mode) como chave compartilhada,
    • O resultado da etapa anterior como mensagem para ser autenticada.

    O resultado a ser enviado no campo assinatura é:

    6yRacR+27j4ufafWL/uafpA9YBUCOukOguC0ny2bm74=