[PayPal] Installation : id de sa commande
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é) :
Code:
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']);
} |
Et voici mon code dans return.php :
Code:
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'];
}
} |
J'ai essayé d'utilisé la variable CUSTOM mais ça ne fonctionne pas ...
Merci de votre aide !