====== Fonctionnement du paiment sécurisé Online ====== * **Étape 1 : préparation de la commande** L'interface de payement d'Online ne gère que la transaction proprement dite entre les cartes de payement de vos clients et votre compte bancaire. Vous devez gérer vous-même les opérations de gestion de commande soit : le calcul du prix, la récolte des informations telles que le nom et la langue de votre client (ses coordonnées, le cas échéant)... * **Étape 2 : initialisation de la transaction** L'initialisation de la transaction se fait en appelant la fonction payement() ou payement_mensuel(). Dans la suite de cet exemple, nous considèrerons que l'URL de retour que vous avez fournie à l'une de ces fonctions est la suivante : http://www.online.net/retour.php?num_commande=1234&session= Il est vivement conseillé d'insérer, comme ici (paramètre num_commande, de valeur 1234), un numéro de commande interne à votre application car il vous permettra d'ajouter une vérification dans votre application après le payement du client. L'appel à la fonction payement() ou payement_mensuel() vous retourne un numéro de session. Dans la suite de cet exemple, nous partirons du principe que le numéro de session retourné a le nom suivant : **numero_session** Il est très important de stocker ce numéro de session : il vous resservira après l'opération de payement. L'appel à payement() ou payement_mensuel() affiche un lien hypertexte. Lorsque le client clique sur ce lien, il est envoyé sur le serveur sécurisé de payement. * **Étape 3 : payement sur le serveur sécurisé** Sur le serveur sécurisé, le client doit entrer son numéro de carte bancaire afin de payer la somme que vous lui demandez. Les informations qui sont demandées au client sont : le type de sa carte bancaire (Carte bleue, Visa, Eurocard, Mastercard...), le numéro de la carte et la date d'expiration. Ces informations sont alors vérifiées auprès de la banque concernée. Si la banque donne son accord, le client est alors débité et vous êtes crédité. * **Étape 4 : appel automatique du script de retour** Une fois que votre client a saisi ses coordonnées bancaires, le serveur sécurisé de payement appelle le script que vous avez fourni (paramètre url_retour) à la fonction payement() ou payement_mensuel(). Cet appel a plusieurs particularités : * c'est un simple GET (et non pas un POST), * le numéro de session (numero_session, dans notre exemple) est concaténé à l'URL que vous avez fournie en paramètre (paramètre url_retour de payement() ou payement_mensuel()), * la variable auto, de valeur 1, est également ajoutée, * il est fait à chaque tentative de payement du client. Par exemple, dans le cas de deux échecs avant un succès lors du payement, le script de retour est appelé 3 fois. Dans notre exemple, le serveur sécurisé appelle cette adresse : http://www.online.net/retour.php?num_commande=1234&session=numero_session&auto=1 Le script retour.php devra alors vérifier l'état du payement en appelant la fonction check_payement(). **Attention !** Cette étape est très importante : c'est celle qui vous permet de valider définitivement une commande. Il est impératif que vous vérifiiez le maximum d'informations, en particulier que le numéro de session correspond bien à votre numéro de commande interne. * **Étape 5 : retour éventuel du client** Certains clients reviendront sur votre site après avoir effectué leur payement. Ils seront redirigés sur la même adresse que celle appelée par le serveur sécurisé, à la différence que le paramètre auto=1 ne sera pas présent. Dans notre exemple, le client reviendra sur cette adresse : http://www.online.net/retour.php?id=1234&session=numero_session