Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

पेपैल आईपीएन MySQL डेटाबेस अपडेट नहीं कर रहा है

पेपैल आईपीएन लौटाई गई स्थिति में पहला वर्ण अपरकेस है।

तो Completed Completed . के बराबर नहीं है . इसे आजमाएं

curl_close($ch);

if (strcmp ($res, "VERIFIED") == 0) {

$token = $_POST['invoice'];
$item= $_POST['invoice'];

$conn=new PDO("mysql:host=SERVER;dbname=MYDATABASE","NAME","PASS");
if ($_POST['payment_status'] == 'Completed')
{
   $sql="UPDATE `tbl_products` SET `id_status` = 3 WHERE `id_product`=:idproduct";
   $stmt=$conn->prepare($sql);
   $stmt->bindParam(':idproduct',$item);
   $stmt->execute();
}
if ($_POST['payment_status'] == 'Pending')
{
    $sql="UPDATE `tbl_products` SET `id_status` = 2 WHERE `id_product`=:idproduct";
    $stmt=$conn->prepare($sql);
    $stmt->bindValue(':idproduct',$item);
    $stmt->execute();
}
foreach ($_POST as $key => $value)
{
    $emailtext .= $key . " = " .$value ."\n\n";
}
mail("MYEMAIL", "Live-VALID IPN", $emailtext . "\n\n" . $req);
}
else if (strcmp ($res, "INVALID") == 0)
{
// log for manual investigation
foreach ($_POST as $key => $value)
{
    $emailtext .= $key . " = " .$value ."\n\n";
}
mail("MYEMAIL", "Live-INVALID IPN", $emailtext . "\n\n" . $req);
}

स्थिति को एक चर में संग्रहीत करना और php strtolower . का उपयोग करना बेहतर है उन्हें लोअर केस बनाने के लिए कार्य करें।

$paypalStatus = strtolower($_POST['payment_status']);

ऐसे करें चेक

if($paypalStatus == 'pending')



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में चीनी/UTF8 वर्णों का प्रतिपादन PuTTY और कमांडलाइन क्लाइंट का उपयोग करके चयन करें

  2. MySQL केस...कहां...फिर बयान

  3. php . का उपयोग कर दूरस्थ mysql डेटाबेस से कनेक्ट करने में समस्या

  4. Sqlalchemy पुरानी पंक्तियों को लौटाता है?

  5. SQL प्रदर्शन लंबे स्ट्रिंग्स की खोज कर रहा है