Bonjour,
J'ai un site de vente en ligne avec un paiement sécurisé Atos du CA et je souhaite proposer un mode de paiement supplémentaire pour les afficionados de Paypal.
J'ai suivi pas à pas un tuto pour l'installation de Paypal avec l'API NVP, tout à l'air de bien fonctionner mais il y a un truc que je n'arrive pas à faire, c'est de trimballer l'ID de ma commande afin de mettre à jour ma base de donnée si le paiement est accepté. Je pensais que c'était le B.A. BA mais visiblement que ce soit dans la doc paypal ou sur les tuto que j'ai lu... pas un mot !
Voici mon script d'appel (simplifié) :
Et voici mon code dans return.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 $requete = $requete."&METHOD=SetExpressCheckout". "&CANCELURL=".urlencode("http://www.monsite.com/web/commande/paypal_erreur.php"). "&RETURNURL=".urlencode("http://www.monsite.com/web/commande/paypal_return.php"). "&AMT=10.0". "&CUSTOM=123456". "&CURRENCYCODE=EUR". "&DESC=".urlencode("Commande N°123456"). "&LOCALECODE=FR". "&HDRIMG=".urlencode("http://www.monsite.com/web/images/logo2.png"); $ch = curl_init($requete); $resultat_paypal = curl_exec($ch); $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: https://www.sandbox.paypal.com/webscr&cmd=_express-checkout&token=".$liste_param_paypal['TOKEN']); }
J'ai essayé d'utilisé la variable CUSTOM mais ça ne fonctionne pas ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 $requete = $requete."&METHOD=DoExpressCheckoutPayment". "&TOKEN=".htmlentities($_GET['token'], ENT_QUOTES). // Ajoute le jeton qui nous a été renvoyé "&AMT=10.0". "&CURRENCYCODE=EUR". "&PayerID=".htmlentities($_GET['PayerID'], ENT_QUOTES). // Ajoute l'identifiant du paiement qui nous a également été renvoyé "&PAYMENTACTION=sale"; $ch = curl_init($requete); $resultat_paypal = curl_exec($ch); if (!$resultat_paypal) {echo "<p>Erreur</p><p>".curl_error($ch)."</p>";} else { $liste_param_paypal = recup_param_paypal($resultat_paypal); // Si la requête a été traitée avec succès if ($liste_param_paypal['ACK'] == 'Success') { echo "Youpii, le paiement a été effectué"; //on fait le traitement ... $idCommande = $liste_param_paypal['CUSTOM']; } }
Merci de votre aide !
Partager