Qui n’a jamais voulu intégrer un paiement paypal sur un site de e-commerce ou même un site personnel?
Je vais vous présenter à travers ce tuto une façon simple d'intégrer ce paiement sur votre site
Choses préalables à savoir:
Vous devez bien entendu avoir un compte paypal
Vous devrez fabriquer un nouveau bouton à chaque endroit où vous voudrez mettre en place un paiement par paypal
Pour commencer nous allons nous attaquer à la classe PHP.
class paymentPaypal {
//déclaration des variables de la classe
var $account;
var $itemName;
var $amount;
var $shipping;
var $custom;
var $returnPage;
var $cancelReturnPage;
var $notifyUrl;
var $currency;
var $tax;
var $lc;
//constructeur de la classe
function paymentPaypal() {
$this->account = "votrecomptepaypal"; //mettez ici l'identifiant de votre compte paypal
$this->returnPage = " votrePageDeRetour"; //mettez ici l'URL de la page de retour (cette page sera affichée après validation du paiement)
$this->cancelReturnPage = " votrePageAnnulation"; //mettez ici la page qui sera affichée en cas d'annulation du paiement
$this->notifyUrl = " votrePageDeTraitement"; //mettez ici votre page de traitement du paiement qui sera appelée //par paypal si le paiement est validé
$this->currency = "EUR"; //mettez ici la devise à utiliser pour le paiement, ici le paiement se fera en Euros
$this->lc = "FR"; //mettez ici la langue à utiliser, ici c'est Français
}
function setItemName($name) {
$this->itemName = $name;
}
function setAmount($amount) {
$this->amount = $amount;
}
function setShipping($shipping) {
$this->shipping = $shipping;
}
function setCustom() {
$args = func_get_args();
$this->custom = implode("|", $args);
}
function setReturnPage($returnPage) {
$this->returnPage = $returnPage;
}
function setCancelReturnPage($cancelReturnPage) {
$this->cancelReturnPage = $cancelReturnPage;
}
function setNotifyUrl($notifiUrl) {
$this->notifyUrl = $notifyUrl;
}
function setCurrency($currency) {
$this->currency = $currency;
}
function setTax($tax) {
$this->tax = $tax;
}
function setLc($lc) {
$this->lc = $lc;
}
function afficheForm() {
echo "<form action=\"https://www.paypal.com/cgi-bin/webscr\" method=\"post\">
<input name=\"cmd\" value=\"_xclick\" type=\"hidden\" />
<input name=\"business\" value=\"".$this->account."\" type=\"hidden\" />
<input name=\"item_name\" value=\"".$this->itemName."\" type=\"hidden\" />
<input name=\"amount\" value=\"".$this->amount."\" type=\"hidden\" />
<input name=\"shipping\" value=\"".$this->shipping."\" type=\"hidden\" />
<input name=\"no_shipping\" value=\"0\" type=\"hidden\" />
<input name=\"custom\" value=\"".$this->custom."\" type=\"hidden\" />
<input name=\"return\" value=\"".$this->returnPage."\" type=\"hidden\" />
<input name=\"cancel_return\" value=\"".$this->cancelReturnPage."\" type=\"hidden\" />
<input name=\"notify_url\" value=\"".$this->notifyUrl."\" type=\"hidden\" />
<input name=\"no_note\" value=\"1\" type=\"hidden\" />
<input name=\"currency_code\" value=\"".$this->currency."\" type=\"hidden\" />
<input name=\"tax\" value=\"".$this->tax."\" type=\"hidden\" />
<input name=\"lc\" value=\"".$this->lc."\" type=\"hidden\" />
<input name=\"bn\" value=\"PP-BuyNowBF\" type=\"hidden\" />
<input src=\"https://www.paypal.com/fr_FR/i/btn/btn_xpressCheckout.gif\" name=\"submit\" alt=\"Effectuez vos paiements via PayPal : une solution rapide, gratuite et sécurisée\" border=\"0\" type=\"image\" /><img src=\"https://www.paypal.com/fr_FR/i/scr/pixel.gif\" border=\"0\" height=\"1\" width=\"1\" />
</form>";
}
}
Voici ce que vous avez à faire dans la classe:
Modifiez les intructions détaillées dans le constructeur de la classe pour les remplacer par vos propres valeurs. A savoir que les vous n'avez pas besoin de redéfinir ces valeurs quand vous instanciez la classe.
On commence par mettre le compte paypal qui sera crédité après validation du paiement
Ensuite remplissez l'URL de la page qui sera affichée une fois que le paiement aura été valid
Après renseignez l'URL de la page qui sera affichée si le client annule la transaction
Définissez l'URL de la page de traitement qui sera appelée par paypal si le paiement est validé. Cette page est très importante, c'est celle qui vous permettra de réaliser des traitements au sein de votre site à savoir des insertions en base de données par exemple pour stocker vos achats ou autres...
Ensuite on défini la devise à utiliser pour le paiement
Et pour finir on renseigne la langue de paypal
Attaquons nous maintenant au fichier de traitement.
Je ne vais pas ici vous montrer un traitement juste vous donner quelques petites astuces.
Pour accéder aux variables custom il faut utiliser la fonction explode
Vous avez accès à toutes les variables POST présentes dans le bouton génér
//on récupère les variables custom
$custom = explode("|", $_POST["custom"]); //la fonction explode retourne un tableau pour accéder aux variables on utilise la syntaxe suivante
echo $custom[0]; //affichera la première variable passée à la fonction setCustom à l'instanciation de la classe
Attaquons nous maintenant à l'affichage du bouton de paypal.
Je vais vous décrire la marche à suivre:
Dans un premier temps il est nécessaire d'inclure le fichier de la classe paypal
Ensuite nous allons instancier un objet qui sera en fait un bouton paypal
Il nous faut maintenant définir quelques paramètres pour définir les caractérisqiques du paiement qui va être effectué.
On commence par le nom de l'objet
Ensuite on renseigne le montant hors taxe de la transaction
Vient ensuite le montant des frais de port
On renseigne maintenant les variables personnelles, vous pouvez passer ici tout ce que vous voulez, et qui pourra vous être utile lors de votre traitement
On définit la TVA
Voici comment utiliser la class PHP paypal
$paypal = new paymentPaypal();
//ici on définit le nom de l'objet que l'on vend
$paypal->setItemName("Voiture");
//ici on définit le montant HORS TAXE de l'objet à vendre
$paypal->setAmount(10);
//ici ce sont les frais de ports de l'objet
$paypal->setShipping(0);
//on définit ici les variables custom qui peuvent être utiles pour le traitement que l'on réalisera
$paypal->setCustom("toto", "tata", "titi");
//ici on définit la TVA sur l'objet
$paypal->setTax(1);
//enfin on affiche le bouton paypal qui a été créé
$paypal->afficheForm();
Voila maintenant tous les paramètre définis il nous suffit d'afficher notre bouton.
J’ai développé cette fonction qui permet de parser un fichier XML c'est-à-dire qui permet depuis un fichier XML d’avoir un tableau d’objet qui contient toutes les valeurs du fichier XML.
Le fichier XML est un fichier de données organisé avec des balises..
Avec ces fonctions et cette class PHP on va pour voir récupérer toutes les données de ce fichier.
//--------------------------------------------------------------------------
// Classe qui permet de stocker les informations du fichier XML
//--------------------------------------------------------------------------
class ClassXML
{
var $pseudo;
var $prenom;
var $age;
function ClassXML ($aa)
{
foreach ($aa as $k=>$v)
{
$this->$k = $aa[$k];
}
}
}
//-------------------------------------------------
// Fonctions permettant de parser le fichier XML
//-------------------------------------------------
function readDatabase($filename) {
// lit la base de données xml des Biens
$data = implode("",file($filename));
$parser = xml_parser_create();
xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0);
xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1);
xml_parse_into_struct($parser,$data,$values,$tags);
xml_parser_free($parser);
// boucle à travers les structures
foreach ($tags as $key=>$val)
{
//ici mettre la clé que vous desiré parser
if ($key == "individu")
{
$molranges = $val;
for ($i=0; $i < count($molranges); $i+=2)
{
$offset = $molranges[$i] + 1;
$len = $molranges[$i + 1] - $offset;
$tdb[] = parseMol(array_slice($values, $offset, $len));
}
}
else
{
continue;
}
}
return $tdb;
}
function parseMol($mvalues) {
for ($i=0; $i < count($mvalues); $i++)
{
$mol[$mvalues[$i]["tag"]] = @$mvalues[$i]["value"];
}
return new ClassXML($mol);
}
Pour récupérer toutes les données il faut utiliser la première fonction avec comme variable de retour une variable de type tableau d’objet.
//je parse le fichier XML qui me retourne un tableau d'objet qui contient toutes les valeur du fichier xml
$db = readDatabase("fichierXML.xml");
//pour chaque objet tu tableau j'affiche les valeurs
foreach ($db as $objet)
{
//affichage des données....
echo "Pseudo :".$objet->pseudo." ";
echo "Prenom :".$objet->prenom." ";
echo "Age :".$objet->age." ";
}
Voici le résultat ! il ne reste plus qu’à l’adapter à votre fichier XML..
Pseudo :anonyma Prenom :anthony Age :22 Pseudo :coolspot Prenom :adrien Age :21 Pseudo :Mcdam Prenom :damien Age :21 Pseudo :Smookyhead Prenom :tathan Age :23 Pseudo :Kendo Prenom :aureilen Age :23
Google nous propose d'utiliser gratuitement Google map et de l'intégrer dans notre site web. Pour cela il faut télécharger la Class PHP GoogleMapAPI.class.php (renommer le fichier .txt en .php) modifié par mes soins pour que le résultat soit aux normes W3C et vous munir d'une API Key. Pour se la procurer allez sur le site http://code.google.com/intl/fr/apis/maps/signup.html.
Une fois la clé et le fichier PHP contenant la classe, ajouter ceci :
require('GoogleMapAPI.class.php');
$map = new GoogleMapAPI('map','tutoriel_map');
$map->setAPIKey('Votre Cle');
//taille de la map
$map->setHeight("450");
$map->setWidth("550");
//Quel est le type de carte par defaut ? (map/satellite/hybrid)
$map->setMapType('map'); // default
//On déssactive les boutons pour afficher la direction d'un point a l'autre
$map->disableDirections();
// Permet de definir le zoom automatiquement afin de voir tous les marqueurs d'un coup.
$map->enableZoomEncompass();
//Active la mini map en bas a droite
$map->enableOverviewControl();
//permet de définir l'icone sur la map, nous on change pa
//$map->setMarkerIcon('adresse internet de votre image marker','adresse internet de votre image marker',6,20,10,1);
$map->addMarkerByAddress(
"votre adresse",
"description",
"CODE HTML");
$map->printHeaderJS();
$map->printMapJS();
A paramétrer selon votre envie ! Chaque ligne est commentée !
Pour afficher la map rien de plus simple ajouter cette ligne de PHP
$map->printMap(); //on affiche la map
Important : In ne faut absolument pas oublier de rajouter onload="onLoad();" a la balise body de cet page
Cette fonction traite une image envoyée depuis un formulaire. Elle permet :
De la Redimensionner proportionnellement
De lui donner un nom et un suffixe
De choisir la taille qu'elle ne doit pas dépasser
De choisir la destination du fichier
Cette fonction fonctionne avec les extensions .jpg, .png et .gif et gère les fichiers images avec espaces. Il ne faut pas oublier d'utiliser l'attribut enctype="multipart/form-data" dans le formulaire sinon l'image ne sera pas envoyée