Bonjour,
Je code une page de réception d'IPN de paypal, et je veux vérifier le montant payé.
Je compare donc le montant renvoyé par paypal ($montant_total), avec le prix unitaire de l'article acheté, multiplié par la quantité ($montant_attendu)
Paypal me renvoie un string "45.60", et mon calcul me renvoie un float 45.6
Dans tous les cas, pour être sûr de comparer les mêmes types, je les converti en float avec floatval()
Code :
$montant_total = floatval($_POST['mc_gross']); $montant_attendu = floatval($nbre_ticket* ($data['prix'])); if ($montant_attendu != $montant_total) { errorlog($tampon.'ipn erreur 1 : attendu='.$montant_attendu.'; recu='.$montant_total); }
|
J'ai comme sortie
float(45.6)
float(45.6)
ipn erreur 1 : attendu=45.6; recu=45.6 |
Les deux montants sont apparemment du même type et de la même valeur, mais on tombe à tous les coups dans la condition du if, c'est à dire $montant_attendu différent de $montant_total.
Auriez-vous une idée du problème ?
Merci d'avance
Message édité par Pascal le nain le 12-08-2010 à 15:22:35