Paypal交易

时间:2012-09-06 13:44:38

标签: php paypal

我正在创建一个网站,可以让我们使用Paypal提供的交易功能。

为了让网站完美运作,我正在使用沙盒帐户进行开发。

现在有两个名为return和cancel_return的参数。当交易成功完成时,paypal网站将其重定向到返回参数中提到的页面,否则返回cancel_return参数。但是网页不是重定向。点击返回链接到网页显示错误。

我的代码success.php

         <?php
             define("DB_HOST", "localhost");
             define("DB_USERNAME", "root");
              define("DB_PASSWORD", "");
             define("DB_DATABASE", "test");
            $connect = mysql_connect(DB_HOST, DB_USERNAME, DB_PASSWORD) or   
                 die("Database Connection Error");
            mysql_select_db(DB_DATABASE) or ("Database Selection Error");

             session_start();
             $uid = $_SESSION['uid'];
             $username=$_SESSION['username'];

              $item_no = $_GET['item_number'];
              $item_transaction = $_GET['tx'];
              $item_price = $_GET['amt'];
              $item_currency = $_GET['cc'];

           //Getting product details
$sql=mysql_query("select product,price,currency from products where pid='$item_no'");
   if($sql === FALSE) {
       die(mysql_error()); // TODO: better error handling
   }
   $row=mysql_fetch_array($sql);
       $price=$row['price'];
      $currency=$row['currency'];

        //Rechecking the product details
      if($item_price==$price && $item_currency==$currency)
     {

     $result = mysql_query("INSERT INTO sales(pid, uid, saledate,transactionid) 
     VALUES('$item_no', '$uid', NOW(),'$item_transaction')");
  if($result){
         echo "<h1>Welcome, $username</h1>";
        echo '<h1>Payment Successful</h1>';

       }else{
        echo "Payment Error";
      }
     }
      else
        {
      echo "Payment Failed";
            }
          ?>

它不会保存到数据库中并显示错误

  Undefined index: item_number in C:\wamp\www\mvc\view\success.php on line 13
  Undefined index: tx in C:\wamp\www\mvc\view\success.php on line 14
  Undefined index: amt in C:\wamp\www\mvc\view\success.php on line 15
  Undefined index: cc in C:\wamp\www\mvc\view\success.php on line 16

由于

1 个答案:

答案 0 :(得分:1)

这是一个通知错误。 这意味着你的一些$ _GET变量没有设置。

摆脱此错误消息的一个示例是切换分配变量的方式......例如

$item_no = isset($_GET['item_number']) ? $_GET['item_number'] : null;

您也可以通过更改php.ini中的变量error_reporting来禁用通知,但不建议在开发计算机上使用