예제 #1
0
                    //for notification
                }
                $fields = array("amount" => $_POST['mc_gross'], "timestamp" => time(), "method" => "paypal", "status" => $paymentStatus, "txn_id" => $_POST['txn_id'], "users_LOGIN" => $_POST['custom'], "charset" => $_POST['charset'], "comments" => $responseText, "lessons" => $lessonIds, "courses" => $courseIds);
                if (!isset($processedPayments[$_POST['txn_id']])) {
                    $payment = payments::create($fields);
                    if ($couponIds) {
                        $coupon = new coupons($couponIds);
                        is_array($lessonIds) or $lessonIds = array();
                        is_array($courseIds) or $courseIds = array();
                        $coupon->useCoupon($user, $payment, array('lessons' => $lessonIds, 'courses' => $courseIds));
                    }
                } else {
                    $result = eF_getTableData("payments", "id", "txn_id='" . $_POST['txn_id'] . "'");
                    $payment = new payments($result[0]['id']);
                    $payment->payments = array_merge($payment->payments, $fields);
                    $payment->persist();
                }
            } else {
                if (strcmp($res, "INVALID") == 0) {
                    $responseText = '';
                    foreach ($_POST as $key => $value) {
                        $responseText .= $key . " = " . $value . "\n";
                    }
                    file_put_contents($logFile, "Live-INVALID IPN\n" . $logText . "\n\n" . $req, FILE_APPEND);
                }
            }
        }
        fclose($fp);
    }
} catch (Exception $e) {
    file_put_contents($logFile, "==========System error: start===========\r\n    \t\t\t\t\t\t\t\t\n" . $e->getMessage() . "\n" . $e->getTraceAsString() . "\n\r\n    \t\t\t\t\t\t\t==========System error: end===========", FILE_APPEND);