Informations techniques générales sur le paiement WAP

Sommaire
  1. Installation du script d'accès
    1. Champs optionnels du formulaire
  2. Tester son script d'accès
    1. Illustration 1: Bouton d'accès au script
    2. Illustration 2: Script d'accès au document payant
  3. Sécurisation de vos pages payantes
    1. Principe de fonctionnement
      1. Illustration 3: Edition de documents WAP
    2. Sécuriser un document payant
    3. Sécuriser une zone payante
  4. Erreurs et codes de retour
  1. Installation du script d'accès

    Le script qui vous est fourni se présente sous la forme d'un simple formulaire. Il contient les informations nécessaires à l'affichage des paliers associés à votre document et les champs de saisie du ou des codes d'accès.

    Exemple de formulaire au format WML:

      <p>
        <anchor>
          Payer par allopass
          <go href="http://wap.allopass.com/access/script.wml" method="post">
            <postfield name="SITE_ID" value="xxxxxx" />
            <postfield name="DOC_ID" value="xxxxxx" />
    
            <postfield name="LG_SCRIPT" value="fr" />
          </go>
        </anchor>
      </p>
      

    Exemple de formulaire au format XHTML Mobile ou i-mode:

      <form action="http://wap.allopass.com/access/script.wml" method="post">
        <input type="hidden" name="SITE_ID" value="xxxxxx" />
        <input type="hidden" name="DOC_ID" value="xxxxxx" />
        <input type="hidden" name="LG_SCRIPT" value="fr" />
        <input type="submit" value="Payer par allopass" />
    
      </form>
      

    Ce formulaire doit contenir au moins 3 champs:

    • Le champ SITE_ID contenant l'identifiant Allopass de votre site.
    • Le champ DOC_ID contenant l'identifiant Allopass du document protégé.
    • Le champ LG_SCRIPT contenant la langue d'affichage du script.

    NOTE:

    La valeur "xxxxxx" dans les exemples précédents est à remplacer par l'identifiant Allopass de votre site pour le champ SITE_ID et par l'identifiant Allopass du document protégé pour le champ DOC_ID.

    La valeur de ces champs doit correspondre à celle fournie dans le script d'origine (voir la page "Installation des scripts" dans la rubrique "Gestion de documents").

    URL d'envoi du formulaire:

    Lors de la soumission de ce formulaire, toutes ces données sont envoyées à l'URL http://wap.allopass.com/access/script.wml.

    IMPORTANT:

    Certains périphériques mobiles n'acceptant pas ou peu les URL trop longues, la soumission des données doit être obligatoirement effectuée par méthode "post".

    1. Champs optionnels du formulaire

      Dans ce formulaire, vous pouvez ajouter plusieurs champs optionnels qui n'apparaissent pas dans le script fourni par défaut. Ces champs cachés (donc de type "hidden") doivent respecter le format adapté au type contenu que vous utilisez pour la présentation de votre site WAP.

      Pour un site au format WML:

        <postfield name="RECALL" value="1" />
      
        

      Pour un site au format XHTML Mobile ou i-mode:

        <input type="hidden" name="RECALL" value="1" />
      
        

      Les champs optionnels que vous pouvez ajouter à votre formulaire sont identiques à ceux utilisés pour les scripts de paiement à l'acte. Consulter la liste des champs optionnels.

  2. Tester son script d'accès

    Une fois l'installation de votre script terminée, vous devez voir un bouton "Payer par allopass" apparaître sur votre page d'accès (voir l'illustration 1 ci-dessous).

    Illustration 1: Bouton d'accès au script
    Illustration 1

    En cliquant sur le bouton "payer par allopass", votre visiteur est redirigé vers un script hébergé sur nos serveurs (voir l'illustration 2 ci-dessous). Ce script va permettre à votre client de composer le numéro surtaxé correspondant au pays de son choix et d'insérer son code d'accès. Une fois le code allopass validé, l'internaute pourra consulter votre contenu payant.

    NOTE:

    Par défaut, juste avant le script d'accès au document payant, vous devriez voir apparaître un disclaimer informant le "mobinaute" que: L'accès aux numéros surtaxés Allopass est réservé aux personnes majeures.

    Si vous disposez déjà de votre propre disclaimer et que vous souhaitez désactiver celui d'allopass, vous devez impérativement en faire la demande auprès de notre service clientèle à l'adresse suivante: contact@allopass.com.

    Illustration 2: Script d'accès au document payant
    Illustration 2

    Si vous êtes redirigé vers une page d'erreur "Script indisponible", au lieu de votre script d'accès, votre formulaire a été mal installé (cf : Installation du script d'accès). La page d'erreur affiche une liste de codes de retour dont la signification vous est fournie dans la section Erreurs et codes de retour.

  3. Sécurisation de vos pages payantes

    Il est possible, si vous le désirez, de sécuriser l'accès à vos documents payants en interrogeant la plateforme Allopass. La manipulation nécessite un peu de programmation de votre part comme il est expliqué ci-après.

    1. Principe de fonctionnement

      Le but de la manipulation est d'interdire aux "mobinautes" l'accès direct à vos documents payants sans être au préalable passés par le formulaire de saisie du ou des codes audiotels Allopass.
      Pour cela vous devez utiliser le champ optionnel RECALL pour transmettre à votre page de retour les codes saisis sur le script d'accès.

      Après que votre page de retour ait reçu cette information, vous avez 1 minute pour interroger notre plateforme et ainsi vous assurer que ce ou ces codes viennent d'être validés pour l'accès à votre document.

      Illustration 3: Edition de documents WAP
      Illustration 3

      Pour vous assurer de la validité d'un ou plusieurs codes d'accès, il vous suffit d'envoyer une requête HTTP à un script hébergé sur notre plateforme.

      Ce script est disponible à l'URL suivante:

      http://www.allopass.com/check/vf.php4

      et attend deux paramètres:

      • CODE contenant le ou les codes à vérifier
      • AUTH contenant l'identifiant du document (cf. illustration 3)

      Le serveur peut vous répondre:

      OK
      Code valide
      NOK
      Code non valide
      ERR
      La requête n'a pas été comprise (L'identifiant du document est peut-être erroné).

      Pour plus de détails, vous trouverez ci-dessous un exemple concret en PHP.

    2. Sécuriser un document payant

      Votre formulaire d'accès se présentera ainsi:

      En WML:

        <p>
          <anchor>
            Payer par allopass
            <go href="http://wap.allopass.com/access/script.wml" method="post">
              <postfield name="SITE_ID" value="12" />
              <postfield name="DOC_ID" value="34" />
      
              <postfield name="LG_SCRIPT" value="fr" />
              <postfield name="RECALL" value="1" />
            </go>
          </anchor>
        </p>
        

      En XHTML Mobile ou i-mode:

        <form action="http://wap.allopass.com/access/script.wml" method="post">
          <input type="hidden" name="SITE_ID" value="12" />
          <input type="hidden" name="DOC_ID" value="34" />
      
          <input type="hidden" name="LG_SCRIPT" value="fr" />
          <input type="hidden" name="RECALL" value="1" />
          <input type="submit" value="Payer par allopass" />
        </form>
        

      Si votre page de retour est un script appelé retour.php, alors à la saisie d'un code valide, ce script sera appelé. Vous y trouverez la variable HTTP nommée RECALL, de type GET et contenant le code saisi.

      Voici à quoi devrait ressembler le début de votre script retour.php:

      <?php
      
        session_start();
      
        $RECALL = !empty( $_GET["RECALL"] ) ? trim( $_GET["RECALL"] ) : false;
      
        if( $RECALL === false )
        {
          // Paramètre RECALL manquant
      
          // on redirige le mobinaute vers une page d'erreur
      
          header( "Location: http://mobile.mondomaine.com/erreur.wml" );
          exit(1);
        }
      
        // $RECALL contient le ou les codes d'accès
      
        // $AUTH contient l'identifiant de votre document (cf. Illustration 3)
      
        $RECALL = urlencode( $RECALL );
        $AUTH = urlencode( "1234/5678/91011" );
      
      
      
        /**
         * On appele la plateforme Allopass pour vérifier les codes contenus 
         * dans $RECALL. Le contenu de la variable $result ressemblera à un tableau 
         * formatté comme suit:
         * 
         * // Cas d'un document avec 1 seul code
         * 
         *   Array( 0 => "OK", 1 => "FR" );
         * 
         * // Cas d'un document multicodes (2 codes)
         * 
         *   Array(
         *     0 => "OK", 
         *     1 => "FR", 
         *     2 => "OK", 
         *     3 => "FR"
         *   );
         *
         * dans $result[1] et $result[3] on aura le code du pays d'appel de 
         * l'internaute (FR, BE, UK, DE, CH, CA, LU, IT, ES, AT, ...)
         */
      
      
        $scriptURL = "http://www.allopass.com/check/vf.php4";
        $result = @file( "{$scriptURL}?CODE={$RECALL}&AUTH={$AUTH}" );
      
        // on teste la réponse du serveur
      
        for( $lineIndex = 0; $lineIndex < sizeof( $result ); $lineIndex+=2 )
        {
           if( trim( $result[$lineIndex] ) != "OK" ) 
           {
              // Le serveur a répondu ERR ou NOK
      
              // L'accès est donc refusé
      
              header( "Location: http://mobile.mondomaine.com/erreur.wml" );
              exit(1);
           }
        }
      
       
        /**
         * Le code est valide !
         * On initialise une variable de session appelée CODE_OK et qui vaut 
         * la valeur 1. Dans les pages suivantes, il n'y aura plus qu'à tester 
         * l'existence de cette variable. Si elle existe, c'est que l'internaute 
         * est autorisé, sinon on le renverra sur une page d'erreur.
         */
      
      
      
        $_SESSION["CODE_OK"] = "1";
      
      ?>
      
    3. Sécuriser une zone payante

      Dans les pages de votre zone payante, vous pouvez vérifier l'existence de la variable de session (CODE_OK) initialisée dans votre page de retour (cf. Sécuriser un document payant).

      <?php
      
        session_start();
      
        if( !isset( $_SESSION["CODE_OK"] ) || $_SESSION["CODE_OK"] != "1" )
        {
           // La variable de session CODE_OK n'est pas initialisée
      
           // ou n'est pas égale à 1. L'accès est donc refusé.
      
           header( "Location: http://mobile.mondomaine.com/erreur.wml" );
           exit(1);
        }
      
      ?>
      
      
  4. Erreurs et codes de retour

    Code Signification
    210x Problèmes de format des champs optionnels
    2100 champ NDE invalide
    2101 champ RECALL invalide
    2102 champ RECALL_CA invalide
    2103 champ DATAS invalide
    2104 champ AP_CA invalide
    2105 champs AP_CA_IDCn, AP_CA_MNTn et AP_CA_MAPn mal configurés
    2106 champ AP_CA_IDCn invalide
    2107 champ AP_CA_MNTn invalide
    2108 champ AP_CA_MAPn invalide
    211x Champs obligatoires manquants
    2110 identifiant du site non renseigné ( champ SITE_ID )
    2111 identifiant du document non renseigné ( champ DOC_ID )
    2112 langue du script non renseignée ( champ LG_SCRIPT )