Пример #1
0
require_once $_CONF['path'] . 'plugins/paypal/proversion/paypalfunctions.php';
$finalPaymentAmount = $_SESSION["Payment_Amount"];
/*
'------------------------------------
' Calls the DoExpressCheckoutPayment API call
'-------------------------------------------------
*/
if ($finalPaymentAmount > 0) {
    $resArray1 = ConfirmPayment($finalPaymentAmount);
    $ack = strtoupper($resArray1["ACK"]);
    if ($ack == "SUCCESS" || $ack == "SUCCESSWITHWARNING") {
        $items[1] = $_SESSION["item_id"];
        $quantities[1] = 1;
        $item_price[1] = $_SESSION["Payment_Amount"];
        $name[1] = $_SESSION["BILLINGDESCRIPTION"];
        $display .= PAYPAL_handlePurchase($items, $quantities, $data, $name, $item_price, 1, 'complete', 0, '', '', $resArray1["PAYMENTINFO_0_TRANSACTIONTYPE"], $resArray1["PAYMENTINFO_0_PAYMENTTYPE"]);
        // Add user to group
        PAYPAL_addToGroup($_SESSION["group_id"], $_USER['uid']);
    }
}
$resArray = CreateRecurringPaymentsProfile();
$ack = strtoupper($resArray["ACK"]);
if ($ack == "SUCCESS" || $ack == "SUCCESSWITHWARNING") {
    //Record profileid : ActiveProfile, PendingProfile, ExpiredProfile, SuspendedProfile, CancelledProfile
    $recdate = date("Y-m-d H:i:s");
    DB_query("INSERT INTO {$_TABLES['paypal_recurrent']} SET profileid='{$resArray['PROFILEID']}', recdate='{$recdate}', status ='{$resArray['PROFILESTATUS']}', user_id = '{$_USER['uid']}', product_id = '{$_SESSION['item_id']}', group_id = '{$_SESSION["group_id"]}' ");
    $display .= "<p>{$LANG_PAYPAL_1['recurrent_has_been_set']} {$LANG_PAYPAL_1['will_pay']} <span style=\"border: 1px solid #DDD; background:#EEE; padding:5px;\">{$_SESSION["currencyCodeType"]} {$_SESSION["BILLINGAMT"]}</span> {$LANG_PAYPAL_1['every']} <span style=\"border: 1px solid #DDD; background:#EEE; padding:5px;\">{$_SESSION["BILLINGFREQUENCY"]} {$_SESSION["BILLINGPERIOD"]}</span></p>";
    if ($finalPaymentAmount = 0) {
        PAYPAL_addToGroup($_SESSION["group_id"], $_USER['uid']);
    }
} else {
Пример #2
0
 }
 // price can only contain numbers and a decimal
 $_REQUEST['price'] = preg_replace('/[^\\d.]/', '', $_REQUEST['price']);
 if (!empty($_REQUEST['id'])) {
     // Edition
     $sql = "product_id = '{$_REQUEST['product_id']}', " . "user_id = '{$_REQUEST['user_id']}', " . "txn_id = '{$_REQUEST['txn_id']}', " . "purchase_date = '{$_REQUEST['purchase_date']}', " . "expiration = '{$_REQUEST['expiration']}', " . "price = '{$_REQUEST['price']}', " . "status = '{$_REQUEST['status']}', " . "add_to_group = '{$_REQUEST['add_to_group']}', " . "notification = '{$_REQUEST['notification']}'\n\t\t\t ";
     $sql = "UPDATE {$_TABLES['paypal_subscriptions']} SET {$sql} " . "WHERE id = {$_REQUEST['id']}";
 } else {
     // Creation
     $prod_id = $_REQUEST['product_id'];
     $products[1] = $_REQUEST['product_id'];
     $quantity[1] = 1;
     $product_name = DB_getItem($_TABLES['paypal_products'], 'name', "id={$prod_id}");
     $names[1] = $product_name;
     $prices[1] = $_REQUEST['price'];
     $txn_id = PAYPAL_handlePurchase($products, $quantity, $data, $names, $prices, 0, 'complete', $_REQUEST['user_id']);
     $sql = "product_id = '{$_REQUEST['product_id']}', " . "user_id = '{$_REQUEST['user_id']}', " . "txn_id = '{$txn_id}', " . "purchase_date = '{$_REQUEST['purchase_date']}', " . "expiration = '{$_REQUEST['expiration']}', " . "price = '{$_REQUEST['price']}', " . "status = '{$_REQUEST['status']}', " . "add_to_group = '{$_REQUEST['add_to_group']}', " . "notification = '{$_REQUEST['notification']}'\n\t\t\t ";
     $sql = "INSERT INTO {$_TABLES['paypal_subscriptions']} SET {$sql} ";
 }
 DB_query($sql);
 if (DB_error()) {
     $msg = $LANG_PAYPAL_1['save_fail'];
 } elseif ($_REQUEST['id'] == 0) {
     $msg = $LANG_PAYPAL_1['subscription_label'] . ' >> ' . $LANG_PAYPAL_1['save_success'];
     //add user to group
     if ($_POST['notification'] != '3') {
         PAYPAL_addToGroup($_REQUEST['add_to_group'], $_REQUEST['user_id']);
     }
 } else {
     $msg = $LANG_PAYPAL_1['subscription_label'] . ' ' . $_REQUEST['id'] . ' >> ' . $LANG_PAYPAL_1['save_success'];
     //add user to group
Пример #3
0
         $i = 1;
         for (;;) {
             if ($ipn['item_number' . $i] == '') {
                 break;
             }
             $products[$i] = $ipn['item_number' . $i];
             $quantity[$i] = $ipn['quantity' . $i];
             $names[$i] = $ipn['item_name' . $i];
             $prices[$i] = $ipn['mc_gross_' . $i];
             $i++;
         }
         $timestamp = strtotime($ipn['payment_date']);
         //Testing for check
         //$timestamp = strtotime($ipn['order_date']);
         $mysql_date = date("Y-m-d H:i:s", $timestamp);
         PAYPAL_handlePurchase($products, $quantity, $ipn, $names, $prices, 0, 'complete', $ipn['custom'], $ipn['txn_id'], $mysql_date);
         // Set verified to true
         DB_query("UPDATE {$_TABLES['paypal_ipnlog']} SET verified = 1 WHERE txn_id = '{$txn_id}'");
         if (DEBUG) {
             COM_errorLog("PAYPAL: handle purchase for old IPN {$txn_id} done!");
         }
     }
     echo $LANG_PAYPAL_1['done'];
     break;
 case 'paypal_new_ipn':
     $content = $_POST['content'];
     $raw_ipn = explode('&', $content);
     foreach ($raw_ipn as $keyval) {
         $keyval = explode('=', $keyval);
         if (count($keyval) == 2) {
             //if (DEBUG) COM_errorLog('PAYPAL: IPN pair: ' . $keyval[0] . ' | ' . $keyval[1]);
Пример #4
0
    $item_price[$i] = $item['price'];
    $A = DB_fetchArray(DB_query("SELECT * FROM {$_TABLES['paypal_products']} WHERE id = '{$item_id}' LIMIT 1"));
    if ($item_price[$i] != PAYPAL_productPrice($A) || !SEC_hasAccess2($A) || $A['active'] != '1') {
        $valid_prices = false;
    }
    $i++;
}
if ($valid_prices !== true) {
    echo COM_refresh($_CONF['site_url'] . '/index.php');
    exit;
}
//Main
// EMPTY THE CART
$cart->empty_cart();
$display .= PAYPAL_siteHeader();
$display .= paypal_user_menu();
switch ($_REQUEST['mode']) {
    default:
        //Display cart
        $display .= '<div id="cart">
		             <div id="jcart">
                        <ul id="ULcheckoutProcedure">
			                <li>' . $LANG_PAYPAL_1['checkout_step_1'] . '</li>
							<li>' . $LANG_PAYPAL_1['checkout_step_2'] . '</li>
							<li id="LIactiveStep">' . $LANG_PAYPAL_1['checkout_step_3'] . '</li>
						</ul>
					</div></div>';
        $display .= PAYPAL_handlePurchase($items, $quantities, $data, $namesfromcart, $item_price);
        $display .= PAYPAL_siteFooter();
}
COM_output($display);