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)…
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.
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é.
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 :
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.
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