Démonstrations
Rechercher
Catégories
Tags
Implémentation
Formulaire embarqué (cartes)
API REST de paiement
API REST PCI-DSS
Formulaire en redirection
Échange de fichiers
Paiement Mobile
Aide à l'intégration
Modules de paiement gratuits
Exemples de code
Back office
Guides
Aide
FAQ
Contacter le support

Calculer la signature

Afin de pouvoir calculer la signature vous devez être en possession :
  • de la totalité des champs dont le nom commence par vads_
  • du type d'algorithme choisi dans la configuration de la boutique
  • de la clé

La valeur de la clé est disponible dans votre Back Office Marchand depuis le menu Paramétrage > Boutique > onglet Clés .

Le type d'algorithme est défini dans votre Back Office Marchand depuis le menu Paramétrage > Boutique > onglet Configuration .

Pour calculer la signature :

  1. Triez les champs dont le nom commence par vads_ par ordre alphabétique.
  2. Assurez-vous que tous les champs soient encodés en UTF-8.
  3. Concaténez les valeurs de ces champs en les séparant avec le caractère " +".
  4. Concaténez le résultat avec la clé de test ou de production en les séparant avec le caractère " +".
  5. Calculez et encodez au format Base64 la signature en utilisant l'algorithme HMAC-SHA-256 avec les paramètres suivants:
    • la fonction de hachage SHA-256,
    • la clé de test ou de production (en fonction de la valeur du champ vads_ctx_mode ) comme clé partagée,
    • le résultat de l'étape précédente comme message à authentifier.
  6. Sauvegardez le résultat de l'étape précédente dans le champ signature .
Exemple de paramètres envoyés à la plateforme de paiement :
<form method="POST" action="https://clicandpay.groupecdn.fr/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="978" />					
<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="ycA5Do5tNvsnKdc/eP1bj2xa19z9q3iWPy9/rpesfS0="/>					
<input type="submit" name="payer" value="Payer"/>
</form>

Cet exemple de formulaire s'analyse de la manière suivante:

  1. On trie par ordre alphabétique les champs dont le nom commence par 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. On concatène la valeur de ces champs avec le caractère " + " :
    INTERACTIVE+5124+TEST+978+PAYMENT+SINGLE+12345678+20170129130025+123456+V2
  3. On ajoute la valeur de la clé de test à la fin de la chaîne en la séparant par le caractère " + ". Dans cet exemple, la clé de test est 1122334455667788
    INTERACTIVE+5124+TEST+978+PAYMENT+SINGLE+12345678+20170129130025+123456+V2+1122334455667788
  4. Calculez et encodez au format Base64 la signature du message en utilisant l'algorithme HMAC-SHA-256 avec les paramètres suivants:
    • la fonction de hachage SHA-256,
    • la clé de test ou de production (en fonction de la valeur du champ vads_ctx_mode ) comme clé partagée,
    • le résultat de l'étape précédente comme message à authentifier.

    Le résultat à transmettre dans le champ signature est :

    ycA5Do5tNvsnKdc/eP1bj2xa19z9q3iWPy9/rpesfS0=

  • Exemple d'implémentation en JAVA
  • Exemple d'implémentation en PHP