0) { echo("$txn_id - already posted\n"); continue; } // Get payment info $query = "SELECT * FROM user_online_payments WHERE record_num = {$trx_num}"; $r = db_query($query); $row = db_fetch_assoc($r); $transaction_fee = $row['transaction_fee']; // Update hotlunch_orders table $query = "SELECT hloh.* FROM hotlunch_order_header as hloh, people as p " . "WHERE hloh.school_num = {$school_num} " . "AND ordered_by_num = p.record_num " . "AND p.user_num = {$user_num} " . "AND hloh.status NOT IN ('Paid','Complimentary','Concession')"; $orders = db_query($query); // Update paypal_payments database table $query = "UPDATE user_online_payments " . "SET status = 'Paid', payment_amount = balance_owing, reference = '{$txn_id}', trx_fee = {$mc_fee}, completed_time = $now; " . "WHERE record_num = $trx_num"; db_query($query); if (db_num_rows($orders) > 0) { $order_payments = ""; while ($row = db_fetch_array($orders)) { $onum = $row['record_num']; $ototal = $row['order_total']; $opaid = $row['amount_paid']; $snum = $row['schedule_num']; $amt = number_format($ototal - $opaid,2); if (strlen($order_payments) > 0) $order_payments .= "|"; $order_payments .= "{" . $onum . ":" . $amt . "}"; $query = "UPDATE hotlunch_order_header " . "SET amount_paid = order_total, " . "status = 'Paid', " . "paid_date = '$today', " . "payment_method = 'PayPal' " . "WHERE record_num = {$onum}"; db_query($query); } } // Post transaction to the user_account $entered_time = $now; $trx_time = date("Y-m-d H:i:s",$entered_time); // Post transaction fee if there is one if ($transaction_fee > 0) { $query = "INSERT INTO user_account " . "(school_num,user_num,schedule_num,transaction_datetime,transaction_type,transaction_status,note,transaction_amount,amount_paid,transaction_fee,payment_method,payment_reference,order_payments,deleted,entered_time) " . "VALUES ($school_num,$user_num,$snum,'$trx_time','PayPal Transaction Fee','Closed','',$transaction_fee,$transaction_fee,0,'PayPal','$txn_id',NULL,'N',$entered_time)"; db_query($query); $entered_time += 1; $trx_time = date("Y-m-d H:i:s",$entered_time); } $amount = $mc_gross * -1; $query = "INSERT INTO user_account " . "(school_num,user_num,schedule_num,transaction_datetime,transaction_type,note,transaction_amount,transaction_fee,payment_method,payment_reference,order_payments,deleted,entered_time) " . "VALUES ($school_num,$user_num,$snum,'$trx_time','Payment','PayPal Payment',$amount,$mc_fee,'PayPal','$txn_id','$order_payments','N',$entered_time)"; db_query($query); // Reset user transaction status $query = "update users set trx_status = NULL where school_num = $school_num and record_num = $user_num"; db_query($query); // Reset user can_order flag $query = "update users set can_order = 'Yes' where school_num = $school_num and can_order = 'Balance' and record_num = $user_num"; db_query($query); // Update user_paypal_transactions db_query("UPDATE user_paypal_transactions SET posting_message = 'Payment processed ok' WHERE record_num = $record_num"); db_query("UPDATE user_paypal_transactions SET posting_result = 'Posted' WHERE trx_num = $trx_num"); echo("$txn_id - posted\n"); } ?>