bonjour,
voila je suis bloquer dans mon code pour paiment paypal:
j'ai l'erreur "Statut de paiement: Echec" donc il n'arrive pas a rentrer dans la boucle.
je ne suis plus quoi faire, c est tres important et je suis bloquer dessus depuis au moins 3 jours.
quand je fait if(isset($_POST)){...} il rentre bien dedans.
voila la page d'appel:
voici la page validationPaiement.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
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 $nbArticles=count($_SESSION['panier']['idProduit']); <form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">'; for ($i=0 ;$i < $nbArticles ; $i++) { $index = $i +1; <input type="text" name="item_name_'.$index.'" value="'.htmlspecialchars($_SESSION['panier']['libelleProduit'][$i]).'"> //<input type="text" name="poids_'.$index.'" value="'.htmlspecialchars($_SESSION['poids'][$i]).'"> <input type="text" name="amount_'. $index . '" value="'.htmlspecialchars($_SESSION['panier']['prixProduit'][$i]).'"> <input type="text" name="quantity_'. $index .'" value="'.htmlspecialchars($_SESSION['panier']['qteProduit'][$i]).'"> } <input type="text" name="amount" value="'.MontantGlobal().'" /> <input name="currency_code" type="text" value="EUR" /> <input name="shipping" type="text" value="0.00" /> <input name="tax" type="text" value="0.00" /> <input name="return" type="text" value="'.RACINE.'/modules/catalogue/validationPaiement.php" /> <input name="cancel_return" type="text" value="'.RACINE.'/modules/catalogue/paiementAnnule.php" /> <input name="notify_url" type="text" value="'.RACINE.'/modules/catalogue/validationPaiement.php" /> <input type="text" name="cmd" value="_cart"> <input type="text" name="upload" value="1"> <input name="business" type="text" value="my.bab_1324302424_biz@gmail.com" /> <input name="no_note" type="text" value="1" /> <input name="lc" type="text" value="FR" /> <input name="bn" type="text" value="PP-BuyNowBF" /> <input name="custom" type="text" value="'.$_SESSION['id'].'" /> <input alt="Effectuez vos paiements via PayPal : une solution rapide, gratuite et sécurisée" name="submit" src="https://www.paypal.com/fr_FR/FR/i/btn/btn_buynow_LG.gif" type="image" /><img src="https://www.paypal.com/fr_FR/i/scr/pixel.gif" border="0" alt="" width="1" height="1" /> </form> '; //header("Location: ".$serveur_paypal.$liste_param_paypal['TOKEN']); ?>
merci.
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
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93 <?php */ //lire le formulaire provenant du système PayPal et ajouter 'cmd' $req = 'cmd=_notify-validate'; foreach ($_POST as $key => $value) { $value = urlencode(stripslashes($value)); $req .= "&$key=$value"; } // renvoyer au système PayPal pour validation $header .= "POST /cgi-bin/webscr HTTP/1.0\r\n"; $header .= "Content-Type: application/x-www-form-urlencoded\r\n"; $header .= "Content-Length: " . strlen($req) . "\r\n\r\n"; $fp = fsockopen ('www.sandbox.paypal.com', 80, $errno, $errstr, 30); /**commande**/ /** Le montant de la transaction**/ $payment_amount = $_POST['amount']; /**nom command ici j 'ai mit le numero**/ $item_name = $_POST['item_name1']; /**nombre d'article**/ $item_number = $_POST['item_number']; /****/ $payment_status = $_POST['payment_status']; /**Choix de la monnaie**/ $payment_currency = $_POST['mc_currency']; /**Taxe TVA**/ $txn_id = $_POST['txn_id']; /**Identifiant du membre**/ $id_user = $_POST['custom']; /**Identifiant du membre**/ $receiver_email = $_POST['email']; if (!$fp) { // ERREUR HTTP } else { fputs ($fp, $header . $req); while (!feof($fp)) { $res = fgets ($fp, 1024); if (strcmp ($res, "VERIFIED") == 0) { // transaction valide } else if (strcmp ($res, "INVALID") == 0) { // Transaction invalide } } fclose ($fp); } // transaction valide // vérifier que payment_status a la valeur Completed if ($payment_status == "Completed") { // vérifier que txn_id n'a pas été précédemment traité: Créez une fonction qui va interroger votre base de données if (VerifIXNID($txn_id) == 0) { // vérifier que receiver_email est votre adresse email PayPal principale if ( "my.bab_1324302424_biz@gmail.com" == $receiver_email) { // vérifier que payment_amount et payment_currency sont corrects // traiter le paiement } else { // Mauvaise adresse email paypal echo'Mauvaise adresse email paypal'; } } else { // ID de transaction déjà utilisé echo'ID de transaction déjà utilisé'; } } else { // Statut de paiement: Echec echo'Statut de paiement: Echec'; } /* include('../../config/base.php');*/ ?>
Partager