Easy-Micro

ESPACEMEMBRE Paiement en ligne
Module PayBox

Exemple PayBox

Exemple de déclaration des 9 constantes PayBox obligatoires

Afin de renseigner le module de paiement, on utilise des constantes prédéfinies (voir les constantes en PHP) par le système utilisé. Ces constantes, une fois renseignées, sont envoyées au module CGI qui affichera la page de paiement.

Exemple de déclaration des 9 constantes PayBox obligatoires

<form action="cgi-bin/moduleV2.cgi" method="post">
<!-- ici le formulaire -->
<input type="hidden" name="PBX_MODE" value="1" />
<input type="hidden" name="PBX_SITE" value="1999888" />
<input type="hidden" name="PBX_RANG" value="99" />
<input type="hidden" name="PBX_IDENTIFIANT" value="2" />

<input type="hidden" name="PBX_TOTAL" value="1500" />
<input type="hidden" name="PBX_DEVISE" value="978" />
<input type="hidden" name="PBX_CMD" value="facture_123456" />
<input type="hidden" name="PBX_PORTEUR" value="client@fournisseur.com" />
<input type="hidden" name="PBX_RETOUR" value="montant:M;ref:R;auto:A;trans:T" />
</form>

PBX_MODE
La constante PBX_MODE définie la mode de récupération des informations par le module CGI (de 1 à 4 chiffres):
1 = par formulaire avec les variables dans des champs cachés (comme ci-dessus).
13 = formulaire + un fichier texte qui contient les variables (nécessite la variable PBX_OPT pour donner le chemin d'accès du fichier).
4 = par URL (ligne de commande):
<a href="modulev1.cgi?PBX_MODE=4&PBX_SITE=1999888&PBX_RANG=99...
2 = par variables d'environnemnt, en utilisant la fonction getenv().

PBX_SITE, PBX_RANG, PBX_IDENTIFIANT
Les trois constantes PBX_SITE, PBX_RANG et PBX_IDENTIFIANT sont obtenues auprès du banquier - pour les 2 première - et auprès de PAYBOX pour la dernière.

PBX_TOTAL, PBX_CMD, PBX_PORTEUR
Bien entendu, certaine constante doivent être absolument traitées de façon dynamique. Ci-dessus, les constantes PBX_TOTAL pour la somme total - en centième d'euros (soit 10,00 euros = 1000) - traitée ici en javascript comme ceci : var recup = window.document.monformulaire.sommettc.value + "00"; et PBX_CMD pour la référence facture (un compteur automatique), ainsi que PBX_PORTEUR qui doit contenir l'adresse de messagerie de l'acheteur (le porteur de la carte Bleu) sont différentes à chaque traitement.

Exemple de traitement dynamique en PHP de la constante PBX_PORTEUR (adresse mail)
La variable PHP "$adressemail" est récupérée préalablement par un $adressemail = $_POST['adressemail'];
<input type="hidden" name="PBX_PORTEUR" value="<?php echo $adressemail; ?>" />

Exemple de traitement dynamique en PHP de la constante PBX_CMD (numéro de commande)
Pour créer un numéro différent à chaque commande, j'utilise la date du jour et l'heure.
<input type="hidden" name="PBX_CMD" value="<?php setlocale(LC_TIME, "french"); $date_fr = strftime("%d%m%y%H%M"); echo $date_fr;?>" />

PBX_DEVISE
La valeur "978" de PBX_DEVISE signifie "euro" donc, on touche pas.

PBX_RETOUR
La constante PBX_RETOUR contient les variables renvoyées par PAYBOX:
- montant
- référence de la commande
- numéro de transaction
- numéro d'abonnement
- numéro d'autorisation

PBX_EFFECTUE, PBX_REFUSE et PBX_ANNULE
Sont souvent rajouté au formulaire, trois dernières contantes facultatives qui renseignent les pages Web à ouvrir en cas de succès (PBX_EFFECTUE) ou d'echec (PBX_REFUSE et PBX_ANNULE):

<input type="hidden" name="PBX_EFFECTUE" value="http://www.monsite.com/merci.html" />
<input type="hidden" name="PBX_REFUSE" value="http://www.monsite.com/regret.html" />
<input type="hidden" name="PBX_ANNULE" value="http://www.monsite.com/regret.html" />

Paiement en ligne Autre technique
Exemple de traitement dynamique en PHP de la constante PBX_TOTAL
Il s'agit ici de la dernière étape: la page récapitulative - avant paiement:
<?php
if (isset($_GET['PBX_TOTAL'])) { $PBX_TOTAL = $_GET['PBX_TOTAL']; }
else { $PBX_TOTAL = "pas de montant total"; }
echo "Montant total de vos achats: ".$PBX_TOTAL." Euros";
?>

<a href="modulev2.cgi?PBX_TOTAL=<?php echo $PBX_TOTAL; ?>">Payer votre commande</a>

Voir l'exemple de la boutique en ligne PAYBOX
Voir une explication en ligne par PEEL SUPPORT DEVELOPPEMENT
Voir aussi l'aide pour ceux qui utilise OVH: Installation PayBox


< Page précédente PAIEMENT EN LIGNE