Jump to content

Having Problem with paypal Database


Umeed

Recommended Posts

Hello,

 

i have problem with my script that does not insert data to database.and i kept the insert query into if condition.

and this is the all conditions validation

 

 

include('db_fns.php');

 

 

// change these to your paypal settings

$paypal_email = "[email protected]";

$paypal_currency = 'USD';

$shipping = 10.00;

 

 

/**

  * checks if paypal trans id is already in database

  * @param int $trans_id

  * @return bool

  */

function no_paypal_trans_id($trans_id)

{

$connection = db_connect();

$query = sprintf("SELECT id from orders WHERE paypal_trans_id = '%s'",

                mysql_real_escape_string($trans_id));

$result = mysql_query($query);

 

$num_results = mysql_num_rows($result);

 

if($num_results == 0)

{

return true;

}

 

return false;

 

}

 

/**

  * checks to make sure that paypal payment amount is correct

  * @param int $shipping

* @param array $params

  * @return bool

  */

function payment_amount_correct($shipping, $params)

{

  $amount = 0.00;

 

for ($i=1;  $i <= $params['num_cart_items']; $i++)

{

  $query = sprintf("SELECT price from products where id='%s'",

mysql_real_escape_string($params["item_number{$i}"]));

$result = mysql_query($query);

if($result)

{

  $item_price = mysql_result($result, 0, 'price');

  $amount += $item_price * $params["quantity{$i}"];

}

}

 

if(($amount+$shipping) == $params['mc_gross'])

{

  return true;

}

else

{

  return false;

}

 

}

 

// read the post from PayPal system and add 'cmd'

$req = 'cmd=_notify-validate';

 

foreach ($_POST as $key => $value) {

$value = urlencode(stripslashes($value));

$req .= "&$key=$value";

}

 

// post back to PayPal system to validate

$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.paypal.com', 80, $errno, $errstr, 30);

 

// assign posted variables to local variables

$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'];

 

if (!$fp) {

// HTTP ERROR

} else {

fputs ($fp, $header . $req);

while (!feof($fp)) {

$res = fgets ($fp, 1024);

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

 

if ($_POST['payment_status'] == 'Completed'

  && no_paypal_trans_id($_POST['txn_id'])

&& $paypal_email == $_POST['receiver_email']

&& $paypal_currency == $_POST['mc_currency']

&& payment_amount_correct($shipping, $_POST)

)

{

//here is the insert query

}

?>

 

 

 

Any One Pleaaaaassssssssssssseeeeeeeee Help Me.

 

Link to comment
https://forums.phpfreaks.com/topic/110634-having-problem-with-paypal-database/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.