1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| <?php
$designation= "Commande sur ".TITRESITE."";
include("fonction_api.php"); // On importe la page créée précédemment
$requete = construit_url_paypal(); // Construit les options de base
// La fonction urlencode permet d'encoder au format URL les espaces, slash, deux points, etc.)
$requete = $requete."&METHOD=SetExpressCheckout".
"&CANCELURL=".urlencode("".ROOTPATH."/index.php?page=cancel").
"&RETURNURL=".urlencode("".ROOTPATH."/index.php?page=return").
"&AMT=".number_format($tot, 2,'.',' ').
"&CURRENCYCODE=EUR".
"&DESC=".urlencode($designation).
"&EMAIL=".urlencode($_SESSION['email']).
"&LOCALECODE=FR".
"&HDRIMG=".urlencode("".ROOTPATH."/images/logo-lunette-lucchini.jpg");
// Initialise notre session cURL. On lui donne la requête à exécuter
$ch = curl_init($requete);
// Modifie l'option CURLOPT_SSL_VERIFYPEER afin d'ignorer la vérification du certificat SSL. Si cette option est à 1, une erreur affichera que la vérification du certificat SSL a échoué, et rien ne sera retourné.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
// Retourne directement le transfert sous forme de chaîne de la valeur retournée par curl_exec() au lieu de l'afficher directement.
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// On lance l'exécution de la requête URL et on récupère le résultat dans une variable
$resultat_paypal = curl_exec($ch);
// S'il y a une erreur, on affiche "Erreur", suivi du détail de l'erreur.
if (!$resultat_paypal)
{echo "<p>Erreur</p><p>".curl_error($ch)."</p>";}
else // S'il s'est exécuté correctement, on effectue les traitements...
{
$liste_param_paypal = recup_param_paypal($resultat_paypal); // Lance notre fonction qui dispatche le résultat obtenu en un array
// Si la requête a été traitée avec succès
if ($liste_param_paypal['ACK'] == 'Success')
{
// Redirige le visiteur sur le site de PayPal
header("Location: ".$serveur_paypal.$liste_param_paypal['TOKEN']."&useraction=commit");
exit();
}
else // En cas d'échec, affiche la première erreur trouvée.
{echo "<p>Erreur de communication avec le serveur PayPal.<br />".$liste_param_paypal['L_SHORTMESSAGE0']."<br />".$liste_param_paypal['L_LONGMESSAGE0']."</p>";}
}
// On ferme notre session cURL.
curl_close($ch);
?> |
Partager