Implémentation de PayPal Via l’API REST
Prérequis Nom d’utilisateur API Mot de passe API Signature API À partir de votre compte Sandbox marchand -> dans l’onglet Préférences -> Mes outils de vente -> Accès API -> Voir la signature de l’API
Processus global normal Votre serveur PayPal SetExpressCheckout Panier d’achat Token Sandbox pour confirmer la méthode de paiement Si ok redirige vers la page confirmation Confirmation GetExpressCheckoutDetails Renvoi les détails de la transaction DoExpressCheckoutDetails Retourne la confirmation
Serveur Weba … Pas de Curl Curl est une bibliothèque de requêtes aux URL Permet de récupérer le contenu d’une URL Curl est nécessaire pour faire les requêtes sur PayPal Autres possibilités (fopen, file_get_contents) ne supportent pas bien le HTTPS
Solution : Processus global Weba Pas de CURL Serveur X PayPal SetExpressCheckout Serveur avec CURL Token Sandbox pour confirmer la méthode de paiement Appel Curl Si ok redirige vers la page confirmation GetExpressCheckoutDetails Réponse de PayPal Renvoi les détails de la transaction DoExpressCheckoutDetails Retourne la confirmation
Processus avec un serveur avec Curl Paiement.php (Weba) $paypal>SetExpressCheckout DPayPal.php (Weba) SetExpressCheckout() Appel => SendRequest() Appel Curl #1 – Appel à la librairie #3 – Retour de données #2 – Appel Curl à PayPal PayPal
DPayPal.php (Serveur X) Processus avec WebA Paiement.php (Weba) $paypal>SetExpressCheckout DPayPal.php (Weba) SetExpressCheckout() Appel => SendRequest() #1 – Appel à la librairie #5 – Redirection PHP avec data #2 – Appel à la librairie sur l’autre serveur Via une redirection PHP DPayPal.php (Serveur X) Appel Curl #4 – Retour de données PayPal #3 – Appel Curl à PayPal
Conseils Bien analyser la démo fournie Bien lire la documentation de PayPal sur les méthodes SetExpressCheckout https://developer.paypal.com/docs/classic/api/merchant/SetExpressCheckout_API_Operation_NVP/ GetExpressCheckout https://developer.paypal.com/docs/classic/api/merchant/GetExpressCheckoutDetails_API_Operation_NVP/ DoExpressCheckout https://developer.paypal.com/docs/classic/api/merchant/DoExpressCheckoutPayment_API_Operation_NVP/
Démo ! Disponible à cette adresse: http://weba.cegepsherbrooke.qc.ca/~tia16010/paypal/express/paiement.php