Bonjour,
J'ai besoin de l'aide des "paypalistes"
Pouvez-vous m'aider ?
Dans ma page ipn "boutique41.php",
je souhaite mettre ma bdd "shop_commande" à jour (date de paiement et moyen de paiement).
Et c'est là que cela coince.
On dirait même que ma page "boutique41.php" (ma page IPN) ne veut pas s'exécuter !
Savez-vous pourquoi ?
J'ai pourtant une confirmation de paiement accepté,
de par la sandbox de paypal !
Pour m'assurer du passage dans "boutique41.php",
j'ai même mis en tout début :
Simple paypal, qu'ils disaient !!!
C'est loin d'être une bataille de romains !!!
En début de page "boutique40.php", mes datas sont bien enregistrées, il me semble,
avec les bonnes infos.
Et dans cette même page "boutique40.php", j'ai aussi ce bout de code dans le form :
Voici toute ma page "boutique41.php" :
Modifié par jytest (17 Oct 2012 - 09:00)
J'ai besoin de l'aide des "paypalistes"
Pouvez-vous m'aider ?
Dans ma page ipn "boutique41.php",
je souhaite mettre ma bdd "shop_commande" à jour (date de paiement et moyen de paiement).
Et c'est là que cela coince.
On dirait même que ma page "boutique41.php" (ma page IPN) ne veut pas s'exécuter !
Savez-vous pourquoi ?
J'ai pourtant une confirmation de paiement accepté,
de par la sandbox de paypal !
Pour m'assurer du passage dans "boutique41.php",
j'ai même mis en tout début :
echo "STOP";
exit;
Rien n'y fait, le paiement est accepté !!!Simple paypal, qu'ils disaient !!!
C'est loin d'être une bataille de romains !!!
En début de page "boutique40.php", mes datas sont bien enregistrées, il me semble,
avec les bonnes infos.
$custom="";
$custom.="verrou=".$_SESSION['panier']['verrou'];
$custom.="&promo=".$_SESSION['panier']['promo'];
$custom.="&idClient=".$_SESSION['panier']['idClient'];
$custom.="&refcommande=".$refcommande;
$custom.="&cumulHTVA=".$_SESSION['panier']['cumulHTVA'];
$custom.="&cumulTVAC=".$_SESSION['panier']['cumulTVAC'];
$custom.="&totarticle=".$totarticle;
Et dans cette même page "boutique40.php", j'ai aussi ce bout de code dans le form :
<input type="hidden" name="cmd" value="_xclick"/>
<input type="hidden" name="business" value="seller_1343650986_biz@skynet.be"/>
<input type="hidden" name="item_name" value="Commande <?php echo $refcommande.' du '.$dateCommande; ?>"/>
<input type="hidden" name="item_number" value="<?php echo $refcommande; ?>"/>
<input type="hidden" name="amount" value="<?php echo number_format($cumulTVAC,2,'.',''); ?>"/>
<input type="hidden" name="currency_code" value="EUR"/>
<input type="hidden" name="no_note" value="1"/>
<input type="hidden" name="no_shipping" value="0"/>
<input type="hidden" name="bn" value="Créaprint_boutique_WPS_BE">
<input type="hidden" name="lc" value="FR"/>
<input type="hidden" name="notify_url" value="http://www.cx.be/boutique41.php" />
<input type="hidden" name="return" value="http://www.cx.be/boutique50.php" />
<input type="hidden" name="cancel_return" value="http://www.cx.be/boutique51.php" />
<input type="hidden" name="custom" value="<?php echo $custom; ?>" />
Voici toute ma page "boutique41.php" :
<?php
session_start();
$dd = date("Ymd");
$datum0 = date("YmdHis");
//permet de traiter le retour ipn de paypal
$email_account = "seller_1343650986_biz@skynet.be";
$req = 'cmd=_notify-validate';
require_once("php/fonctions-panier.inc.php");
require_once("php/connexionMysql.inc.php");
foreach ($_POST as $key => $value) {
$value = urlencode(stripslashes($value));
$req .= "&$key=$value";
}
$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 ('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 30);
$item_name = $_POST['item_name'];
$item_number = $_POST['item_number'];
$payment_status = $_POST['payment_status'];
$payment_amount = $_POST['mc_gross'];
$payment_currency = $_POST['mc_currency'];
$txn_id = $_POST['txn_id'];
$receiver_email = $_POST['receiver_email'];
$payer_email = $_POST['payer_email'];
// $moyen = $_POST['creditcardtype'];
parse_str($_POST['custom'],$custom);
$idClient=$custom['idClient'];
$refcommande=$custom['refcommande'];
$totarticle=$custom['totarticle'];
$verrou=$custom['verrou'];
$promo=$custom['promo'];
$cumulHTVA=$custom['cumulHTVA'];
$cumulTVAC=$custom['cumulTVAC'];
if (!$fp) {
} else {
fputs ($fp, $header . $req);
while (!feof($fp)) {
$res = fgets ($fp, 1024);
if (strcmp ($res, "VERIFIED") == 0) {
// vérifier que payment_status a la valeur Completed
if ($payment_status == "Completed") {
if ($email_account == $receiver_email) {
// vérifier un max d'informations
file_put_contents('log', print_r($_POST,true));
$pieces=0;
$data=serialize($_POST);
$query = mysql_query("SELECT * FROM shop_commande_ligne ".
"WHERE idclient='".$idClient."' ");
while ($back = mysql_fetch_assoc($query)) {
$pieces+=$back['quantite'];
}
$reqCompte="SELECT * FROM shop_client03 ".
"WHERE parent='".$idclient."' ";
$resCompte=mysql_query($reqCompte);
$record=mysql_fetch_array($resCompte);
$tvaoui=1;
if ($record) {
$tvaoui=trim($record['tvaoui']);
}
if ($tvaoui==0) {
$cumulTVAC=$cumulHTVA;
}
if ($cumulTVAC == $payment_amount AND $totarticle == $pieces AND $payment_currency == 'EUR') {
// $data n'est actuellement pas sauvegardé, il faudra vérifier par l'interface utilisateur de paypal
$requeteNEW="UPDATE shop_commande SET ".
"payemontant01='".$payment_amount."', ".
"payedate01='".$datum0."', ".
"payepar01='PAY', ".
"facturedate01='' ".
"WHERE idclient='".$idClient."' AND refcommande='".$refcommande."' ";
mysql_query($requeteNEW);
file_put_contents('log','Le paiement a bien été confirmé');
} else {
file_put_contents('log','Le paiement ne correspond pas au panier commandé');
}
}
} else {
// Statut de paiement: Echec
}
exit();
} else if (strcmp ($res, "INVALID") == 0) {
// Transaction invalide
}
}
fclose ($fp);
}
supprimePanier();
creationPanier();
$_SESSION['panier']['verrou']=$verrou;
$_SESSION['panier']['promo']=$promo;
$_SESSION['panier']['idClient']=$idClient;
$_SESSION['panier']['cumulHTVA']=$cumulHTVA;
$_SESSION['panier']['cumulTVAC']=$cumulTVAC;
$query = mysql_query("SELECT id FROM shop_commande_ligne ".
"WHERE idclient='".$idClient."' ");
while ($back = mysql_fetch_assoc($query)) {
$_SESSION['panier']['idProduit'][]=$back['idarticle'];
$_SESSION['panier']['qteProduit'][]=$back['quantite'];
$_SESSION['panier']['pvuProduit'][]=$back['pu_net_ht'];
}
?>
Modifié par jytest (17 Oct 2012 - 09:00)