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 :
- Triez les champs dont le nom commence par vads_ par ordre alphabétique.
- Assurez-vous que tous les champs soient encodés en UTF-8.
- Concaténez les valeurs de ces champs en les séparant avec le caractère "+".
- Concaténez le résultat avec la clé de test ou de production en les séparant avec le caractère "+".
- 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.
- 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://epaync.nc/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="953" /> <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="vSlCWjJwN8TpobRyuyKhwAlKEhlThtICZiI/rmpPK4U="/> <input type="submit" name="payer" value="Payer"/> </form>
Cet exemple de formulaire s'analyse de la manière suivante:
- 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
- On concatène la valeur de ces champs avec le caractère "+" :
INTERACTIVE+5124+TEST+953+PAYMENT+SINGLE+12345678+20170129130025+123456+V2
- 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+953+PAYMENT+SINGLE+12345678+20170129130025+123456+V2+1122334455667788
- 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 :
vSlCWjJwN8TpobRyuyKhwAlKEhlThtICZiI/rmpPK4U=