Dans ce tuto PHP en vidéo, nous verrons comment développer un système de paiement en ligne Paypal qui permettra à vos clients de payer soit par le biais de leur compte paypal, soit directement par carte bancaire grâce à la solution Paypal Express Checkout.

Tout d'abord, nous configurerons notre environnement de test avec la Sandbox de Paypal, nous récupèrerons nos informations d'identification pour communiquer avec l'API de Paypal.

Ensuite je vous présenterai les différentes méthodes utilisées par l'API pour définir un paiement, récupérer les détails de la transaction, et enfin finaliser le paiement. Nous coderons une classe PHP qui nous permettra de mettre en œuvre notre projet de paiement en ligne,et qui nous évitera de ré-écrire le même code à chaque requête vers l'API.

Les articles que nous mettrons en vente seront récupérés dans une base de données, afin de simuler un vrai cas pratique. Nous verrons donc comment communiquer à Paypal des informations sur nos produits et cela de façon dynamique avec PHP. Tout au long du processus de paiement, nous vérifierons que les données traitées correspondent bien à celle des articles voulus, cela afin d'éviter d'éventuelles fraudes d'utilisateurs peu scrupuleux.

Et enfin, lors de la validation définitive du paiement, nous effectuerons des traitements en base de données, nous verrons comment récupérer les données transmises par Paypal sur la transaction, de manière très pratique en sérialisant ces données.

Nous verrons par la suite comment se servir éventuellement des données sur les ventes, enregistrées en base de donnée. Pour cela, nous verrons comment transformer les données sérialisées en array PHP, afin de pouvoir s'en servir facilement.

Bon tuto et bonnes ventes enligne !

Jetez un oeil à ces autres tuto Php 5.4

Les expressions régulières appliquées en PHPLes expressions régulières…
Voici une formation pour apprendre à travailler avec les expressions…

Créer un site internet complet avec Laravel 4Créer un site internet complet…
Voici une formation pour Créer un site internet complet (front-office…

Formulaire de contact avec pièce jointe par mailFormulaire de contact avec…
Dans ce tuto PHP en vidéo, nous verrons comment créer un formulaire…

Générer un QR Code en PHPGénérer un QR Code en PHP…
Dans ce tuto, nous allons créer une classe PHP permettant de…

Créer un site de A à Z en PHP (Blog et Administration)Créer un site de A à Z en…
Voici une formation pour Créer un blog de A à Z en PHP avec…

Formulaire de contact avec pièce jointe par mailFormulaire de contact avec…
Dans ce tuto PHP en vidéo, nous verrons comment créer un formulaire…

Créer un site internet complet avec Laravel 4Créer un site internet complet…
Voici une formation pour Créer un site internet complet (front-office…

Les expressions régulières appliquées en PHPLes expressions régulières…
Voici une formation pour apprendre à travailler avec les expressions…

Pour vous faire un avis, voici un extrait de quelques secondes. La version complète et téléchargeable de ce tuto Php 5.4 de 1 heure 10 minutes est proposée dans une résolution plus grande que l’extrait suivant :

Partagez cet extrait

Lien vers cet extrait : Embed code :

simpledev , formateur certifié



Toutes les formations de Simpledev


Témoignage des clients de simpledev

Bravo continue comme ça parce que franchement grâce à toi ça va beaucoup mieux merci pour tout ce que tu fais.

Tutoriel clair et précis. Continuez ainsi :)

Tuto sur le codeigniter excellent par contre existe t il un tuto sur la création d'un back office avec codeigniter. Si oui, je suis fortement intéressée...

Superbes tutos pour apprendre Laravel ! Continue comme ça :D

Merci beaucoup pour tes tutorial que j'adore :D

Lire les autres témoignages

 

D'autres tuto de simpledev

Laravel : formulaire de contactLaravel : formulaire de contact
Dans ce tuto Laravel gratuit en vidéo, nous verrons comment créer un formulaire de…

Laravel : poster un nouvel articleLaravel : poster un nouvel article
Dans ce tuto Laravel gratuit en vidéo, nous créerons un formulaire pour permettre aux…

Laravel : système de commentairesLaravel : système de commentaires
Dans ce tuto PHP en vidéo dédié au frameword Laravel, nous allons créer un système…

Redirection avec compte à rebours en JqueryRedirection avec compte à rebours en Jquery
Dans ce tuto jQuery en vidéo nous verrons comment mettre en place un système de redirection…

voir tous les tuto de simpledev

Notes attribuées par les utilisateurs (7 votes)

Note moyenne des utilisateurs  

Votez pour ce tuto


 

Les avis / Questions des utilisateurs (47)

par 93skalaa voté :
(a acheté ce tuto - 09 avril 2013)

" Hello simpleDev !
Je viens de prendre cette formation :)
Par contre lors de la création de la class Paypal je bloque pas mal à cause de la nouvel interface de Paypal.

il n'ya plus de notion d'userName et password etc...
maintenant on a : "Endpoint , ClientId, Secret ...."

Pourrais tu me donner un coup de main pour démarrer sereinement avec la nouvelle version de Paypal

Merci d'avance ! "

par auroreapia voté :
(a acheté ce tuto - 16 mars 2013)

" Tres bon tuto... merci beaucoup.
En revanche paypal a changer son interface. Donc pas facile de s'y retrouver au début. "

par djrayz
(a acheté ce tuto - 19 février 2013)

" J'ai toujours la même erreur :

Une erreur s'est produite :

? Merci "

par thone27
(a acheté ce tuto - 15 février 2013)

" Bonjour,

Merci de votre réponse, a présent lorsque je valide il me met

"Parse error: syntax error, unexpected 'CURLOPT_SSL_VERIFYPEER' (T_STRING), expecting ')".

Mais je n'ai plus les erreurs CURLOPT.

Un petit coup de pouce SVP.
"

par simpledev
(auteur de ce tuto - 10 février 2013)

" @ GreenApple Bonjour, non chaque système de paiement a ses propres particularités, ce tuto porte uniquement sur Paypal donc il ne vous aidera pas si vous souhaitez développer un autre système de paiement.
A+ "

par GreenApple
(n'a pas acheté ce tuto - 07 février 2013)

" Bonjour, je compte utiliser un autre moyen de paiement sur mon site que paypal(vraiment trop de litiges) est ce que ce tuto va m'aider ou est il est uniquement dédié a paypal ? merci "

par simpledev
(auteur de ce tuto - 01 février 2013)

" @thone27 Hello, essayes de rajouter CURLOPT_SSL_VERIFYPEER et CURLOPT_SSL_VERIFYHOST dans les options CURL en mettant 1 comme valeur pour chacune des deux pour voir. "

par thone27
(a acheté ce tuto - 01 février 2013)

" OUPS j'au pas dit mon pb .
Le soucis viens de la variable CURL... "

par thone27
(a acheté ce tuto - 01 février 2013)

" Bonjour,

J'ai le même problème que certain sauf que quand je met l'extension sur wamp et que je le redemarre ça ne change strictement rien je suis planté de chez planté.
Un petit peu d'aide, un conseil SVP.

Merci d'avance "

par BlaCkMaRe90
(a acheté ce tuto - 18 octobre 2012)

" Alors juste une formation sa serrais utile :) Moi personnellement j'ai tout aimer tes tutoriels, et tous mes sites ont été créer de base par tes apprentissage que tu ma montré sous plusieurs tuto. "

par simpledev
(auteur de ce tuto - 16 octobre 2012)

" @ BlaCkMaRe90 hello, tant mieux si ça fonctionne bien en prod;)
En fait oui ça serait envisageable de faire une petite formation sur PHP OOP, par contre faire un site tout orienté objet ça ferait vraiment une grosse formation, et puis je suis pas trop partisan du réinventer la roue, pas mal de frameworks existent pour nous simplifier la vie, je citerai juste Codeigniter et Laravel qui sont vraiment simple à prendre en main et pour lesquelles tu trouveras des tutos gratuits sur ce site.
Voilà donc une petite formation théorique suivie de cas pratique verra peut-être le jour, mais pour un site en entier ça me paraît un peu long et fastidieux;) "

par BlaCkMaRe90
(a acheté ce tuto - 16 octobre 2012)

" @simpledev , en faite sur le serveur (mon vrai host) et non WAMP, le production fonctionne pas le test. de toute mani;re c'est pas grave, il fonctionne en production c'est parfait.

J'aurais une requète pour toi, je ne sais pas si il existe une place pour, ou sinon juste te le faire en commentaire, mais je me lance. J'ai regarder beaucoup de tutos provenant de toi, ils sont tous très claires, très bien expliquer, et je voudrais savoir si sa te serrais possible de faire une petite formations sur les fondamentaux de PHP Orienté Objet avec un exercice de mise en pratique en temps réel, genre sur la création d'un petit site, si oui, moi je serrais l'un des premiers à l'acheter. "

par simpledev
(auteur de ce tuto - 16 octobre 2012)

" BlaCkMaRe90 donc si ça marche en mode production avec les vrais credentials, c'est qu'il y'a un problème au niveau de tes credentials de test. Vérifies qu'ils sont les bons, au pire supprimes tes comptes de test et recréer les pour voir si ça fonctionne avec les nouveaux. "

par BlaCkMaRe90
(a acheté ce tuto - 15 octobre 2012)

" Quand j'utilise ton code source, pis je met les vrai informations sur le serveur, sa fonctionne nickel, mais pas sur wamp ni sur sandbox. "

par BlaCkMaRe90
(a acheté ce tuto - 15 octobre 2012)

" Non rien ne fonctionne pour moi, même si j'upload les fichier sur mon serveur, sa produit la meme erreur, même avec ton propre code source où je change les informations de la base de donnée, api etc, sa fonctionne pas plus. "

par simpledev
(auteur de ce tuto - 15 octobre 2012)

" @ BlaCkMaRe90 non c'est pas normal que tu n'ai rien dans ton array $response. Est ce que même lorsque tu utilises la première méthode SetExpressCheckout et que tu fais un print_r sur $response, tu n'as rien ou tu as quelque chose? Si tu n'a rien vérifie bien tes crédentials que tu as renseigné dans la class Paypal. "

par BlaCkMaRe90
(a acheté ce tuto - 15 octobre 2012)

" Est-ce normal qu'a 37:52 où tu fait ton test avec print_r sur la variable response et qui te retourne un array, que moi lorsque je le fait sa fait rien, juste une page blanche ? Peut-être j'ai fait une erreur, pour info simpledev, j'ai tous refait ton tuto è main pour voir ou étais l'erreur, Je pense que la variable $response est vide, et je ne sais pas pourquoi, pourtant j'ai tout réécrie comme toi.

Merci de ton aide. "

par BlaCkMaRe90
(a acheté ce tuto - 12 octobre 2012)

" En activant curl, ca fonctionne bien, sauf au niveau de la creation du token, il m'indique l'erreur, sans me dire les informations de ton code source avec la ligne : echo 'Une erreur s'est produite : <br> '.$response['L_LONGMESSAGE0']; ... "

par simpledev
(auteur de ce tuto - 11 octobre 2012)

" Du coup je viens de me rendre compte que tu es sur windows en local, donc clic sur l'icone wamp, sélectonne php extensions, et active curl, ensuite redémarre wamp et logiquement ça fonctionnera. Je reste à ta dispo pour toute question. "

par simpledev
(auteur de ce tuto - 11 octobre 2012)

" D'après ce que je vois, toutes les variables curl sont indéfinies, j'en déduis que peut-être la librairie curl n'est pas active sur ton hébergement ou sur ton serveur localhost. Pour l'activer cherche sur google par rapport à ton système d'exploitation, et si elle est déjà activé tiens moi au courant pour chercher une autre cause du problème.
A+ "

par BlaCkMaRe90
(a acheté ce tuto - 11 octobre 2012)

" http://addickinfotech.com/paypaltuto/error.png

Voila l'image de l"erreur. si tu veux le code, jpeut te lenvoyer. "

par simpledev
(auteur de ce tuto - 11 octobre 2012)

" Salut, est ce que tu peux me donner l'erreur exact stp? "

par BlaCkMaRe90
(a acheté ce tuto - 11 octobre 2012)

" simpledev, j'ai un petit soucis, j'ai tout écouter ton tutoriel pour comprendre son fonctionnement, mais j"ai prit le code source et modifier selon mes informations. Seul hic est lorsque je clique sur Acheter, sa me redirige sur la page checkout.php qu j'ai créer, mais on me dit qu'il y a une érreur dans les constante CURLOPT. Je n'est pas sus trouver le problème, aurais-tu une solution ? "

par PeGaZe33
(a acheté ce tuto - 25 septembre 2012)

" Merci ^^
Je vais pouvoir "m'amuser" à coder tout ça dans la semaine alors
(et vérifier mon code une fois ton tuto réalisé ^^) "

par simpledev
(auteur de ce tuto - 24 septembre 2012)

" @PeGaZe33 hello, tu peux jetter un coup d'oeil ici : https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content;_ID=developer/e_howto_api_ECCustomizing
y'a un exemple concret un peu plus bas dans la page avec 2 articles (café et filtres), regarde bien le code tu vas comprendre le mécanisme, ensuite pense à un foreach sur le contenu de ta carte pour intégrer tous les articles.
Sinon je comptais faire un tuto là dessus justement;) "

par PeGaZe33
(a acheté ce tuto - 21 septembre 2012)

" Bonsoir (ça faisait longtemps ^^),

Petite question que j'ai du mal à solutionner avec les brides de réponses trouvées un peu partout sur le net.
J'ai créé un panier avec CI (qui peut contenir plusieurs articles, des codes promo, ...) et la question est on ne peut plus basique : comment ajuster ton code pour qu'il puisse gérer l'envoi de plusieurs articles?

D'avance merci pour ta réponse :) "

par sarka voté :
(a acheté ce tuto - 20 septembre 2012)

" Merci simpledev pour ta réponse ! Je vais essayé de voir ça.
Par contre petit souci que j'avais pas avant !
Maintenant pour me connecter à la sandbox il faut que je mette dans la page paiement.php cet url : 'https://api-3t.sandbox.paypal.com/nvp';
alors qu'avant c'était : 'https://api.sandbox.paypal.com/nvp';
Bizarre non ? surtout que 'api-3t' c'est en mode non test !

"

par csengina voté :
(a acheté ce tuto - 19 septembre 2012)

" Très explicite pour des développeurs occasionnels. "

par simpledev
(auteur de ce tuto - 06 septembre 2012)

" Pour inclure la TVA, c'est un peu plus compliqué j'ai volontairement simplifié les choses dans ce tuto, mais tu pourrais faire quelque chose comme ça :

USER=********************
PWD=********************
SIGNATURE=********************
METHOD=SetExpressCheckout
VERSION=72.0
RETURNURL=********************
CANCELURL=********************
PAYMENTREQUEST_0_PAYMENTACTION=Sale //le type de vente
PAYMENTREQUEST_0_AMT=42.00 //le montant total de la transaction
PAYMENTREQUEST_0_ITEMAMT=35 .00//le montant de ton objet
PAYMENTREQUEST_0_TAXAMT=7.00 //le montant de ta taxe
PAYMENTREQUEST_0_CURRENCYCODE=EUR
L_PAYMENTREQUEST_0_NAME0='Nom de ton objet'
L_PAYMENTREQUEST_0_NUMBER0=5543312 //identifiant de ton objet
L_PAYMENTREQUEST_0_DESC0='Description de ton objet'
ALLOWNOTE=1
NOSHIPPING=1

la ligne PAYMENTREQUEST_0_TAXAMT c'est là que tu mets le montant de la taxe

Je sais que comme ça, ça doit pas être super clair, mais je comptais aborder ça dans un tuto complet sur la réalisation d'un site e-commerce de A à Z, avec intégration de paypal à un panier d'articles etc, et donc aborder la question de la TVA. "

par sarka voté :
(a acheté ce tuto - 05 septembre 2012)

" Un très grand merci à ce très bon formateur pour ce très bon tuto !
Bien complet et fonctionnel.
Toutefois, j'aurais bien aimé savoir comment on fait lorsqu'on à des taxes (TVA) à inclure.
Merci !! "

par doctor-pixela voté :
(a acheté ce tuto - 03 septembre 2012)

" merci, je viens de te l'envoyer, tu es super sympa....... ça c'est du service !!! lol "

par simpledev
(auteur de ce tuto - 03 septembre 2012)

" @doctor-pixel est ce que tu peux m'envoyer tout ton code en zip sur mon mail nettutoriel[at]gmail.com ? Je vais regarder ce qui ne vas pas. "

par doctor-pixela voté :
(a acheté ce tuto - 03 septembre 2012)

" Je suis bloqué à l'étape de test à 39mn... le test d'affichage de $response n'envoie rien, aucun message d'erreur, ça fait 7h que je tourne dessus....
J'ai même créé un autre compte Sandbox Paypal.

J'ai même pris ton code avec mes propres paramètres et ça marche pas non plus, il me dit : une erreur s'est produite, sans me donner le type d'erreur..
la base de données est bonne...

comment peut-on savoir si on se connecte correctement à la sandbox?
dans ton code, il y a souvent, dans les définitions de tableaux une virgule après le dernier élément, juste avant la parenthèse de fermeture, est ce normal?

l'adresse pour $endPoint c'est bien https://api.sandbox.paypal.com/nvp ?

pour aujourd’hui(hui, je bâche, j'en peux plus, là "

par simpledev
(auteur de ce tuto - 03 septembre 2012)

" @doctor-pixel Quand la version change il ne se passe rien du tout, ton script continue de fonctionner comme avant, c'est juste qu'il ont mis à jour leur version, c'est tout ;) "

par doctor-pixela voté :
(a acheté ce tuto - 03 septembre 2012)

" j'ai repris le tuto en l’appliquant, mais dis moi , dans la calsss paypal , avec protected $version = '94.0'; que se passe t'il quand la version change?
d'ailleurs c'est le cas, elle est passée de 92 à 94 depuis le tuto
"

par simpledev
(auteur de ce tuto - 28 août 2012)

" Même lorsque tu le place dans le else ? Si oui c'est que tu as fait une erreur ailleurs. Essayes de poster ton code quelque part et donne le lien que je regarde. "

par lolo301187a voté :
(a acheté ce tuto - 28 août 2012)

" ca ne donne rien j'ai un ecran blanc :-( "

par simpledev
(auteur de ce tuto - 28 août 2012)

" Et si tu fais un print_r($response); ça donne quoi ? "

par lolo301187a voté :
(a acheté ce tuto - 28 août 2012)

" Bonjour,

en fait le message d'erreur n'apparait pas
il y a écrit une erreur c'est produite :
puis après il n'y a rien pas de texte

"

par simpledev
(auteur de ce tuto - 28 août 2012)

" Bonjour,

Quel est le message d'erreur exact qui suit "une erreur s'est produite" ? "

par lolo301187a voté :
(a acheté ce tuto - 28 août 2012)

" Bonjour,

Merci pour ton aide j'ai pu avancer un peu

j'ai juste une dernière question

lorsque je clique sur "acheter je suis rediriger vers la page paiement.php mais il m'affiche un message "une erreur s'est produite"
j'ai pourtant bien mis tous mes identifiant paypal
je travail en local sur paypal développeur

Selon vous d'ou peut venir ce problème?

Merci pour votre aide "

par simpledev
(auteur de ce tuto - 23 août 2012)

" @lolo301187 ça c'est parce que la librairie curl doit pas être activée. Si t'es en local avec wamp, tu peux l'activer via les icones en faisant php --&gt; extentions php --&gt; php_curl . Une fois que c'est coché tu redémarre wamp. Si tu es avec mamp ou autre, tu vas dans le fichier php.ini et tu cherche la ligne : ;extension=php_curl.dll , tu retire le point-virgule devant, tu enregistre et tu redémarre ton serveur. Si tu es sur un hébergement mutualisé, change d'hébergeur au plus vite et si tu es sur un hébergement dédié procède comme je t'ai dit avec le php.ini.
Voilà en espérant avoir résolu ton problème, n'hésites pas si t'as un souci.
A+ "

par lolo301187a voté :
(a acheté ce tuto - 23 août 2012)

" je viens de finir le tuto. ca à l'air super mais j'ai un bug quant je clique sur acheter il m'affiche des erreurs dans la class

Notice: Use of undefined constant CURLOPT_URL - assumed 'CURLOPT_URL'

Notice: Use of undefined constant CURLOPT_RETURNTRANSFER - assumed 'CURLOPT_RETURNTRANSFER' in C:wampwwwTUTOpaypal2paypal.class.php on line 35

Notice: Use of undefined constant CURLOPT_POSTFIELDS - assumed 'CURLOPT_POSTFIELDS' in C:wampwwwTUTOpaypal2paypal.class.php on line 36

atal error: Call to undefined function curl_init() in C:wampwwwTUTOpaypal2paypal.class.php on line 39

je ne sais pas quoi faire "

par fastzibona voté :
(a acheté ce tuto - 16 août 2012)

" Très bien. Clair, précis, net, formateur à suivre......... "

par doctor-pixela voté :
(a acheté ce tuto - 12 août 2012)

" Pas mal, mais un peu dense quand même lorsqu'on est pas un spécialiste du la POO, mais on peut faire confiance à l'auteur et réutiliser le code.
Coté technique, la vidéo est flou (encodage?) à 18mn40 pendant une ou deux minutes, et ça serait bien que les erreurs de frappe de l'auteur soient éditées et effacées de la vidéo. "

par simpledev
(auteur de ce tuto - 09 août 2012)

" Bonjour doctor-pixel, bien sur que si, le tuto fonctionne avec php 5.3 et même les version antérieurs. C'est juste que la version de PHP que j'utilise est la 5.4 ;) "

par doctor-pixela voté :
(a acheté ce tuto - 09 août 2012)

" bonjour,

il faut absolument PHP 5.4 pour faire le tuto???

ça marche pas avec la 5.3? "

 

Donnez votre avis ou posez une question au formateur.

Vous souhaitez commenter ce tuto vidéo ? Créez un compte gratuit. Déjà membre ? Identifiez-vous

Ce tuto en résumé ...

Ce tuto Php 5.4 d’une durée de 1 heure 10 minutes a été acheté 273 fois et a reçu une note moyenne de 4/5.

Ce tuto a été publié le 8 août 2012 par simpledev, formateur certifié par Tuto.com, ayant reçu une note moyenne de 4,4/5 pour l’ensemble de ses vidéos.

Tous les fichiers sources sont fournis avec cette formation. Ces derniers vous permettront de reproduire les manipulations expliquées dans cette formation.

Ce tuto video vous expliquera étape par étape, toutes les manipulations présentées par le formateur.

Toutes nos vidéos sont visionnées par notre équipe, avant d’être mises en ligne, garantissant ainsi la qualité des produits téléchargés.

N'hésitez pas à nous contacter si vous avez la moindre question !