Envoyer un formulaire de paiement en POST

Le site marchand redirige l’acheteur vers la plateforme de paiement sous la forme d'un formulaire HTML POST en HTTPS.

Ce formulaire contient :

Les éléments techniques suivants :

  • Les balises <form> et </form> qui permettent de créer un formulaire HTML.
  • L’attribut method="POST" qui spécifie la méthode utilisée pour envoyer les données.
  • L’attribut action="https://secure.payzen.eu/vads-payment/" qui spécifie où envoyer les données du formulaire.

Les données du formulaire :

Toutes les données du formulaire doivent être encodées en UTF-8.

Les caractères spéciaux (accents, ponctuation etc.) seront ainsi correctement interprétés par la plateforme de paiement. Dans le cas contraire, le calcul de signature sera erroné et le formulaire sera rejeté.

Nous vous invitons à consulter le tableau suivant pour mieux comprendre la codification des formats.

Notation Description
a Caractères alphabétiques (de ‘A’ à ‘Z’ et de ‘a’ à ‘z’)
n Caractères numériques
s Caractères spéciaux
an Caractères alphanumériques
ans Caractères alphanumériques et spéciaux (à l'exception de "<" et ">")
3 Longueur fixe de 3 caractères
..12 Longueur variable jusqu’à 12 caractères
json JavaScript Object Notation.

Objet contenant des paires de clé/valeur séparées par une virgule.

Il commence par une accolade gauche " { et se termine par une accolade droite " } ".

Chaque paire clé/valeur contient le nom de la clé entre double-quotes suivi par " : ", suivi par une valeur.

Le nom de la clé doit être alphanumérique.

La valeur peut être :
  • une chaine de caractères (dans ce cas elle doit être encadrée par des doubles-quotes)
  • un nombre
  • un objet
  • un tableau
  • un booléen
  • vide
Exemple: {"name1":45,"name2":"value2", "name3"=false}
enum

Caractérise un champ possèdant un nombre fini de valeurs.

La liste des valeurs possibles est donnée dans la définition du champ.

liste d'enum Liste de valeurs séparées par un " ; ".

La liste des valeurs possibles est donnée dans la définition du champ.

Exemple: vads_payment_cards=VISA;MASTERCARD

map Liste de paires clé/valeur séparées par un " ; ".

Chaque paire clé/valeur contient le nom de la clé suivi par " = ", suivi par une valeur.

La valeur peut être :
  • une chaine de caractères
  • un booléen
  • un objet json
  • un objet xml

La liste des valeurs possibles pour chaque paire de clé/valeur est donnée dans la définition du champ.

Exemple: vads_theme_config=SIMPLIFIED_DISPLAY=true;RESPONSIVE_MODEL=Model_1

  • Les champs obligatoires :
    Tableau 1. Liste des champs obligatoires
    Nom du champ Description Format Valeur
    signature Signature garantissant l'intégrité des requêtes échangées entre le site marchand et la plateforme de paiement. ans

    Ex : ycA5Do5tNvsnKdc/eP1bj2xa19z9q3iWPy9/rpesfS0=

    vads_action_mode Mode d’acquisition des données de la carte enum INTERACTIVE
    vads_amount Montant du paiement (dans sa plus petite unité monétaire) n..12 Ex : 3000 pour 30,00 euro
    vads_ctx_mode Mode de communication avec la plateforme de paiement enum TEST ou PRODUCTION
    vads_currency Code numérique de la monnaie à utiliser pour le paiement, selon la norme ISO 4217 (code numérique) n3 Ex : 978 pour l'euro (EUR)
    vads_page_action Action à réaliser enum PAYMENT
    vads_payment_config Type de paiement enum SINGLE pour un paiement en 1 fois

    MULTI pour un paiement en plusieurs fois

    vads_site_id Identifiant de la boutique n8 Ex : 12345678
    vads_trans_date Date et heure du formulaire de paiement dans le fuseau horaire UTC n14 Ex : 20170701130025
    vads_trans_id Numéro de la transaction n6 Ex : 123456
    vads_version Version du protocole d’échange avec la plateforme de paiement enum V2
  • Les champs facultatifs :

    Vous pouvez utiliser des paramètres facultatifs supplémentaires.

    Référez-vous au chapitre Dictionnaire de données du guide d'implémentation du formulaire disponible sur notre site documentaire (https://payzen.io/fr-FR/) afin de visusaliser la liste des champs disponibles.

    Vous pourrez notamment :

    • Décrire le contenu du panier et de la commande
    • Envoyer des informations sur l'acheteur et sur la livraison
    • Personnaliser les pages de paiement

Le bouton Payer qui va permettre l’envoi des données :

<input type="submit" name="payer" value="Payer"/>