Informations techniques générales sur le paiement à l'acte

Sommaire
  1. Le formulaire de saisie du code d'accès
  2. Champs optionnels du formulaire
    1. Quatre champs pour reccueillir des informations :
      1. data
      2. recall
      3. recall_ca
      4. nde
    2. Quatre champs pour l'affiliation :
      1. ap_ca
      2. ap_ca_idc[n]
      3. ap_ca_mnt[n]
      4. ap_ca_map[n]
  3. Vérification de validité d'un code
  1. Le formulaire de saisie du code d'accès

    Le script qui vous est fourni contient :

    • Une image PNG dont la source est sur notre serveur et indiquant le numéro de téléphone à composer selon le palier que vous avez choisi.
    • Un formulaire HTML contenant différents champs.

    Ce formulaire HTML doit contenir au moins 3 champs :

    • Le champ code[] (de type TEXT dans le script) dans lequel l'internaute saisit son code d'accès. Dans le cas de plusieurs codes d'accès, vous aurez les champs code[0], code[1], etc...
    • Le champ ids contenant l'identifiant Allopass de votre site.
    • Le champ idd contenant l'identifiant Allopass du document protégé.

    URL d'envoi du formulaire :

    Lors de la soumission de ce formulaire, toutes ces données sont envoyées à l'URL http://payment.allopass.com/acte/access.apu. Le système Allopass vérifie alors la validité du code. Si celui-ci est valide, il y a redirection immédiate vers votre URL de retour.

  2. Champs optionnels du formulaire

    Vous pouvez ajouter plusieurs champs optionnels à ce formulaire et qui n'apparaissent pas dans le script fourni par défaut:

    1. Quatre champs pour reccueillir des informations

      1. Le champ data :

        Ce champ caché (donc de type HIDDEN) peut contenir n'importe quelle valeur de votre choix.
        Lors du renvoi de votre client vers votre site en cas de code d'accès valide, votre URL de retour sera appelée avec en plus un paramètre appelé DATAS contenant ce que vous y aviez mis dans le formulaire.

        Par exemple, si vous avez configuré l'URL de retour : http://www.monsite.com/retour.php
        le système Allopass appellera cette URL de la façon suivante : http://www.monsite.com/retour.php?DATAS=xxxx
        avec "xxxx" correspondant à ce que vous aviez mis dans le champ data du formulaire.

      2. Le champ recall :

        Ce champ caché, si présent dans le formulaire et de valeur "1", vous permettra de connaitre le code qu'a tapé l'internaute en cas de code valide. Un paramètre appellé RECALL vous sera retourné dans l'URL de retour contenant le ou les codes saisis.

        Par exemple : http://www.monsite.com/retour.php?RECALL=12345678
        Dans le cas du MultiCode (exemple 3 codes) : http://www.monsite.com/retour.php?RECALL=12345678,78945612,45897845

      3. Le champ recall_ca :

        Ce champ caché, si présent dans le formulaire et de valeur "1", vous permettra de connaitre le code partenaire qui a été utilisé pour cet accès. Un paramètre appellé RECALL_CA vous sera retourné dans l'URL de retour contenant le code partenaire. Si aucun code partenaire n'a été utilisé, alors ce paramètre sera vide.

      4. Le champ nde :

        Ce champ caché, si présent dans le formulaire et de valeur "1", empêche le retour vers votre script des paramètres DATAS,RECALL,RECALL_CA... si le code saisi est invalide (et donc appel de votre script configuré comme page d'erreur).

    2. Quatre champs pour l'affiliation :

      1. Le champ ap_ca :

        Ce champ caché, s'il est présent, doit contenir un "code partenaire", que vous pouvez générer dans la rubrique "Liens partenaires". Si un tel champ est présent dans votre formulaire, alors, quel que soit votre visiteur, le pourcentage que vous avez défini en créant ce code partenaire sera crédité au compte de votre partenaire. Ce montant est déduit de votre reversement.

        Ce champ peut être utile par exemple si vous vendez un contenu en partenariat avec une autre personne. Cette autre personne recevra un pourcentage des gains générés et pourra, comme vous, faire ses demandes de chèques sur Allopass.

      2. Le champ ap_ca_idc[n] (n allant de 0 à 4) :

        Ce champ contient l'identifiant d'un partenaire auquel vous désirez reverser un pourcentage de votre gain sans avoir créé auparavant un lien partenaire.

        Votre partenaire trouvera son identifiant dans la rubrique "Infos personnelles" de l'Espace Webmaster.

        Si vous utilisez ce champ ap_ca_idc[n], vous devez alors également utiliser l'un des deux champs suivants. Les champs ci-dessous servent à définir combien vous reverserez au compte de votre partenaire.

      3. Le champ ap_ca_mnt[n] (n allant de 0 à 4) :

        Il s'agit du montant (en pourcentage) à reverser au partenaire que vous avez défini grâce au paramètre ap_ca_idc. Cette valeur doit être comprise entre 0 et 100.

        Vous pouvez cependant, plutôt que d'inscrire "en clair" le pourcentage reversé, utiliser un système d'alias.

        Pour en savoir plus, Configurez ces alias !

      4. Le champ ap_ca_map[n] (n allant de 0 à 4) :

        Ce champ doit contenir l'identifiant d'un "Programme de reversement pour affiliation".

        Un "Programme de reversement pour affiliation" définit, pour chaque palier, le montant fixe (ce n'est donc pas ici un pourcentage) que vous allez reverser à votre partenaire.

        Attention ! Vous ne pouvez pas utiliser conjointement dans un même script d'accès des champs ap_ca_mnt[n] et ap_ca_map[n] !

        De plus, l'utilisation des "Programme de reversement pour affiliation" est incompatible avec les liens partenaires : si votre internaute a cliqué sur l'une de vos bannière d'affiliation, cette affiliation n'est pas prise en compte si un champ ap_ca_map[n] est présent dans votre script d'accès.

        Créez votre propre "Programme de reversement pour affiliation" !

      Grâce à ces deux champs ap_ca_idc[n] et ap_ca_mnt[n] (ou ap_ca_map[n]), vous pouvez redistribuer une partie de votre gain avec un maximum de 5 partenaires différents !

      Bien sûr, la somme de tous les ap_ca_mnt[n] ne doit pas depasser 100 et les sommes des reversements à vos partenaires définies par les ap_ca_map[n] ne doivent pas être superieure au reversement total !

    Attention ! pour les scripts au format iframe, les variables doivent être passées en GET dans l'url comportant le script de saisie du code (right.php4). Vous devrez également remplacer le symbole # des alias par %23 ou utiliser la fonction php urlencode()

  3. Vérification de validité d'un code

    Vos scripts en PHP, ASP ou autres peuvent interroger la plateforme Allopass sur la validité d'un code qui vous est retourné grâce au paramètre RECALL du formulaire.

    Après que votre page de retour ait reçu cette information, vous avez 1 minute pour savoir si ce code vient d'être validé pour l'accès à un document donné.

    L'idée est que votre script va effectuer une requête HTTP vers notre serveur contenant en paramètre à la fois le ou les codes que vous souhaitez vérifier et l'identifiant de votre document privé.

    Notre serveur vous répond alors si ce ou ces codes sont valides ou pas pour l'accès à ce document.

    Mise en oeuvre :

    • Vous devez tout d'abord relever l'identifiant du document protégé. Cet identifiant se trouve dans la liste de vos documents dans la colonne "Identifiant". Cet identifiant est du type "54/75/4567".
    • Ensuite, votre page de retour doit envoyer une requête à notre serveur avec un paramètre appelé code contenant le code à vérifier et un paramètre appellé auth contenant l'identifiant du document.
    • Notre serveur peut vous répondre :
      OK
      ce code a été accepté dans les deux dernières minutes pour l'accès à ce document.
      NOK
      ce code n'est pas valide
      ERR
      La requête n'a pas été comprise (peut-être une erreur sur l'identifiant du document).

    Vous pouvez, par exemple, si le ou les codes sont validés, envoyer un cookie à votre internaute indiquant que celui-ci a bien payé sa consultation. Sur les autres pages de votre partie privée vous n'aurez plus alors qu'à tester ce cookie.
    Si celui-ci n'est pas présent, vous redirigez alors l'internaute vers une page d'erreur.

    Voici un exemple concret (en PHP, PERL : voir en bas de page):

    Votre formulaire HTML de saisie de code se présente ainsi :

      <form action ="http://payment.allopass.com/acte/access.apu" method="post">
        <input type="hidden" name="ids" value="99" />
        <input type="hidden" name="idd" value="74" />
        <input type="hidden" name="recall" value="1" />
        <input type="text" name="code[]" size="8" />
        <input type="submit" value=" Entrer " />
    
      </form>
    

    Bien sûr, les valeurs des paramètres ids et idd doivent correspondre à ceux fournis dans le script d'origine.

    Si votre page de retour est un script appelé retour.php4, alors à la saisie d'un code valide, ce script sera appelé.
    Vous y trouverez la variable $RECALL contenant le code saisi.

    Vous interrogez alors la plateforme Allopass. Voici l'exemple en PHP :

    <?php
    
      $RECALL = $_GET["RECALL"];
      if( trim($RECALL) == "" )
      {
        // La variable RECALL est vide, renvoi de l'internaute
    
        // vers une page d'erreur
        header( "Location: erreur.html" );
        exit(1);
      }
      // $RECALL contient le code d'accès
      $RECALL = urlencode( $RECALL );
    
      // $AUTH doit contenir l'identifiant de VOTRE document
    
      $AUTH = urlencode( "54/75/456" );
    
      /**
       * envoi de la requête vers le serveur AlloPAss
       * dans la variable $r[0] on aura la réponse du serveur
       * dans la variable $r[1] on aura le code du pays d'appel de l'internaute
       * (FR,BE,UK,DE,CH,CA,LU,IT,ES,AT,...)
       * Dans le cas du multicode, on aura également $r[2],$r[3] etc...
       * contenant à chaque fois le résultat et le code pays.
       */
      $r = @file( "http://payment.allopass.com/api/checkcode.apu?code=$RECALL&auth=$AUTH" );
    
      // on teste la réponse du serveur
    
      if( substr( $r[0],0,2 ) != "OK" ) 
      {
        // Le serveur a répondu ERR ou NOK : l'accès est donc refusé
    
        header( "Location: erreur.html" );
        exit(1);
      }
     
      /**
       * Le code est valide !
       * on place un cookie appelé CODE_OK et qui vaut la valeur 1
       * Ce cookie est valide jusqu'à ce que l'internaute ferme son navigateur
       * Dans les pages suivantes, il n'y aura plus qu'à tester l'existence du cookie
       * S'il existe, c'est que l'internaute est autorisé,
       * sinon on le renverra sur une page d'erreur
       */
      setCookie( "CODE_OK", "1", 0, "/", ".mondomaine.com", false );
    
    
      /**
       * Remplacez dans la ligne ci-dessus ".mondomaine.com" par le nom de domaine
       * de votre site!
       * Par exemple, si votre site est accessible à l'adresse :
       * http://perso.herbergeur.com/mapage
       * alors il faudra que vous mettiez ".herbergeur.com"
       * (n'oubliez pas le "." devant le nom de domaine !!)
       */
    
    ?>
    

    Dans les pages suivantes de la zone payante de votre site, vous pouvez alors verifier l'existence de ce cookie comme suit:

    <?php
    
      if( $HTTP_COOKIE_VARS['CODE_OK'] != '1')
      {
        header( "Location: erreur.html" );
        exit(1);
      }
    
    
    ?>
    

    Cela dit, la sécurité maximum sera obtenu en enregistrant dans un système de session le fait que votre visiteur a bien utilisé Allopass pour consulter votre site.

    Les programmeurs en PERL pourront trouver ici un module spécialement conçu pour Allopass par l'un des membres (M. B. Nauwelaerts) que nous remercions : http://www.it-development.be/software/PERL/Business-PhoneBill-Allopass/