function smart_cancelRebill($values, $action)
{
    $trans = new transaction_class(false);
    $trans->pull_transaction($values['append']);
    $status = $trans->process_cancel_request(array("actor" => 'Merchant', 'verifyuserId' => $companyInfo['userId']));
    return array("action" => "Subscription ID " . $trans->row['subscriptionTable']['ss_subscription_ID'] . " cancelled.", "status" => $status ? "success" : "fail");
}
function transaction_customer_cancel($trans)
{
    $id = $trans['transactionId'];
    $userid = $trans['userId'];
    $trans = new transaction_class(false);
    $trans->pull_transaction($id);
    $status = $trans->process_refund_request(array("actor" => 'Angel'));
    return $trans->row['transactionTable']['reference_number'];
}
function subscription_cancel($sub_id, $user_id, $sub_notes = "", $sub_status_text = "")
{
    requre_once('../transaction.class.php');
    $trans = new transaction_class(false);
    $trans->pull_subscription($sub_id, 'ss.ss_subscription_id');
    $status = $trans->process_cancel_request(array("actor" => 'System', 'notes' => $sub_notes, 'verifyuserId' => $user_id));
    if (!$status) {
        return false;
    }
    return $status['ss_cancel_id'];
}
 function rebill_subscriptions($sub_ids)
 {
     dieLog('Not using this anymore.');
     $count = array();
     $logged = "<table>";
     $processor = new transaction_class(false);
     foreach ($sub_ids as $sub_id) {
         $processor->pull_subscription($sub_id);
         if (!isset($count[$sub_id])) {
             $count[$sub_id] = 1;
             $res = $processor->processRebill();
             $logged .= "\n\t\t\t\t\t<tr>\n\t\t\t\t\t<td>{$id}</td><td></td>\n\t\t\t\t\t<td>" . $count[$sub_id] . "</td><td></td>\n\t\t\t\t\t<td>" . $res['success'] . "</td><td></td>\n\t\t\t\t\t<td>" . $res['errormsg'] . "</td><td></td>\n\t\t\t\t\t<td>" . $res['status'] . "</td><td></td>\n\t\t\t\t\t<td>" . $res['transactionId'] . "</td><td></td>\n\t\t\t\t\t</tr>\n\t\t\t\t";
         }
     }
     return $logged . "</table>";
 }
    $trans_table_name = "cs_test_transactiondetails";
}
$trans_recur = isset($HTTP_GET_VARS['trans_recur']) ? quote_smart($HTTP_GET_VARS['trans_recur']) : "";
$trans_chargeback = isset($HTTP_GET_VARS['trans_chargeback']) ? quote_smart($HTTP_GET_VARS['trans_chargeback']) : "";
$compID = $sessionlogin;
if (!$compID) {
    $compID = -1;
}
if ($_POST['Submit'] == "Issue Refund" && !$display_test_transactions) {
    $transID = intval($_POST['id']);
    $etel_debug_mode = 0;
    etelPrint($transID);
    $msg = exec_refund_request($transID, "Merchant Refund", "");
}
if ($_POST['Submit'] == "Cancel Rebill" && !$display_test_transactions) {
    $trans = new transaction_class(false);
    $trans->pull_transaction($_POST['id']);
    $status = $trans->process_cancel_request(array("actor" => 'Administrator'));
}
$search_date_type = "transactionDate";
$email = isset($HTTP_GET_VARS["email"]) ? quote_smart($HTTP_GET_VARS["email"]) : "";
if ($companyBlocked != 1) {
    $check_number = isset($HTTP_GET_VARS['check_number']) ? quote_smart($HTTP_GET_VARS['check_number']) : "";
    $credit_number = isset($HTTP_GET_VARS['credit_number']) ? quote_smart($HTTP_GET_VARS['credit_number']) : "";
    $account_number = isset($HTTP_GET_VARS['account_number']) ? quote_smart($HTTP_GET_VARS['account_number']) : "";
    $routing_code = isset($HTTP_GET_VARS['routing_code']) ? quote_smart($HTTP_GET_VARS['routing_code']) : "";
    $decline_reason = isset($HTTP_GET_VARS['decline_reasons']) ? $HTTP_GET_VARS['decline_reasons'] : "";
    $cancel_reason = isset($HTTP_GET_VARS['cancel_reasons']) ? $HTTP_GET_VARS['cancel_reasons'] : "";
    $str_type = isset($HTTP_GET_VARS['type']) ? quote_smart($HTTP_GET_VARS['type']) : "";
} else {
    $check_number = "";
Beispiel #6
0
            $service_notes = quote_smart($_REQUEST['service_notes']);
            $transID = intval($_REQUEST['td_transactionId']);
            if ($_POST['submit'] == 'Refund Order') {
                if ($td_transactionId && $service_notes) {
                    $trans = new transaction_class(false);
                    $trans->pull_transaction($td_transactionId, 'reference_number');
                    $status = $trans->process_refund_request(array("actor" => 'Customer Service', 'notes' => "{$service_notes}"));
                    $msg = "Refund Request " . $status['status'];
                }
            }
            if ($_POST['submit'] == 'Cancel Rebill') {
                //$ref_no = func_Trans_Ref_No($td_transactionId);
                //$qry_details="UPDATE `cs_transactiondetails` SET `td_enable_rebill` = '0', `reason` = 'Admininstrator Cancel', `cancel_refer_num` = '$ref_no'  WHERE `transactionId` = '$td_transactionId'";
                if ($td_transactionId && $service_notes) {
                    require_once "../../includes/transaction.class.php";
                    $trans = new transaction_class(false);
                    $trans->pull_transaction($td_transactionId, 'reference_number');
                    $status = $trans->process_cancel_request(array("actor" => 'Customer Service'));
                    $msg = "Subscription Cancel " . ($status ? "Succeeded" : "Failed");
                }
            }
            ?>
<table width="<?php 
            echo $maintablewidth;
            ?>
" cellspacing="1" cellpadding="1" class="boxborder" align="<?php 
            echo $maintablealign;
            ?>
">
  <tr bgcolor="#AACCEE">
    <td class="text"><?php 
        $ermsg = "";
        foreach ($ferror as $error) {
            $ermsg .= $error . "<br>";
        }
        $_SESSION['response_error'] = $ermsg;
    }
    if ($_SESSION['response']['status'] == 'A' || $_SESSION['response']['status'] == 'P' && $_SESSION['cardtype'] == "check") {
        $_SESSION['stat'] = 3;
    } else {
        if (!$_SESSION['response']['result']) {
            $_SESSION['stat'] = 1;
        }
    }
    if (isset($_POST['crosssales']) && $_SESSION['response']['result'] == 1) {
        //echo "first trans number:".$order->transArr['transactionId'];
        $xorder = new transaction_class(TRUE);
        $xorderArr = $xorder->buildOrderArr($_SESSION['xSaleArr']['cs_reference_ID'], $_SESSION['xSaleArr']['rd_subName']);
        $xorder->init_transaction($xorderArr['cs_ID'], "cs.`cs_ID`", FALSE, $xorderArr, $md, TRUE, $order->transArr['transactionId']);
        $xorder->transphase = $transphase;
        $xorder->processTransaction();
    }
}
if (isset($_REQUEST['submit_form'])) {
    if (!headers_sent()) {
        header("HTTP/1.1 301 Moved Permanently");
        header("Location: OrderProcessing.php");
        exit;
    }
}
$product_description = quote_smart($_SESSION['mt_prod_desc']);
$blockrebill = quote_smart($_SESSION['hid_blockrebill']);
Beispiel #8
0
function exec_refund_request($transID, $service_notes = "Administrator Refund", $customer_notes = "")
{
    $trans = new transaction_class(false);
    $trans->pull_transaction($transID);
    $error_msg = $trans->process_refund_request(array("actor" => $service_notes, 'notes' => "{$customer_notes}"));
    return $error_msg['status'];
    die;
    $error_msg = "Refund Request Created Successfully";
    $sql = "SELECT td.`transactionId`, td.`reference_number`, cd.`companyname`,cd.`username`,\r\n\t\t\t\t\tcd.`password`,cd.`ReferenceNumber`, cd.`email`, td.`email` as customer_email, `note_id`,cs_URL, name, surname\r\n\t\t\t\t\r\n\t\t\t\tFROM `cs_transactiondetails` AS td\r\n\t\t\t\tLEFT JOIN `cs_callnotes` AS cn ON cn.`transaction_id` = td.`transactionId` AND cn.cn_type = 'refundrequest'\r\n\t\t\t\tLEFT JOIN `cs_companydetails` AS cd ON td.`userId` = cd.`userId`  \r\n\t\t\t\tLEFT JOIN `cs_company_sites` AS cs ON td.td_site_ID = cs.cs_ID \r\n\t\t\t\tWhere  `transactionId` = '{$transID}'";
    $result = sql_query_read($sql);
    if (mysql_num_rows($result) == 0) {
        return "Error: Transaction {$transID} Not Found";
    }
    $statusInfo = mysql_fetch_assoc($result);
    if (!$statusInfo['note_id']) {
        $sql = "REPLACE INTO `cs_callnotes` (`transaction_id` , `call_date_time` , `service_notes` , `cancel_status` , `customer_notes` , `solved` , `is_bill_date_changed` , `call_duration` , `customer_service_id` , `prev_bill_date` , `dnc`, `cn_type` )\r\n\t\t\tVALUES ( '{$transID}', NOW() , '{$service_notes}', '', '{$customer_notes}', '' , '', '', '', '', '', 'refundrequest');";
        $qry_callnotes = sql_query_write($sql) or dieLog("Cannot execute query ");
        $data['companyname'] = $statusInfo['companyname'];
        $data['Reference_ID'] = $statusInfo['ReferenceNumber'];
        $data['reference_number'] = $statusInfo['reference_number'];
        $data['username'] = $statusInfo['username'];
        $data['password'] = $statusInfo['password'];
        $data['cancel_reference_number'] = $statusInfo['ReferenceNumber'];
        $data['email'] = $statusInfo['email'];
        $data['reason'] = $service_notes . ": " . $customer_notes;
        $data["gateway_select"] = $statusInfo['gateway_id'];
        $data['site_URL'] = $statusInfo['cs_URL'];
        $data['full_name'] = $statusInfo['name'] . " " . $statusInfo['surname'];
        send_email_template('merchant_refund_request_notification_email', $data);
        $data['email'] = $statusInfo['customer_email'];
        send_email_template('customer_refund_confirmation', $data);
    } else {
        $error_msg = "Refund Request Already Exists";
    }
    return $error_msg;
}
$userId = $companyInfo['userId'];
$transactionId = intval($_REQUEST['id']);
$ref = quote_smart($_REQUEST['ref']);
$transTable = 'cs_transactiondetails';
if ($_REQUEST['test']) {
    $transTable = 'cs_test_transactiondetails';
}
$id = $ref;
$field = 'reference_number';
//$access = getMerchantAccess();
$access = getAccessInfo("\ntransactionId,\n\n'Customer Information' as access_header,\n\tCONCAT(surname,', ',name) as Full_Name,\n\t{$transTable}.address as Address,\n\t{$transTable}.city,\n\t{$transTable}.state,\n\t{$transTable}.zipcode,\n\t{$transTable}.country,\n\tipaddress as IP_Address,\n\t{$transTable}.email,\n\t\n'Billing Information' as access_header,\n\trd_subName,\n\tamount,\n\tCONCAT(\t\n\t\tif(status!='D',\n\t\t\tif(status='P','Pending', 'Approved'),\n\t\t\t'Declined'\n\t\t)\t\t\n\t) as status,\n\ttd_process_msg as 'Processor_Response',\n\tif(td_is_a_rebill=1,' Rebilled Transaction',' New Order') as Type_Of_Purchase,\n\tcardtype,\n\tCCnumber,\n\tbankaccountnumber,\n\tbankroutingcode,\n\tif(cancelstatus='Y',CONCAT('Refunded - ',cancel_refer_num),'') as Refunded,\n\tif(td_is_chargeback='1','Charged Back','') as Chargeback,\n\t\n'Purchase Information' as access_header,\n\treference_number as Reference_ID,\n\tDate_Format(transactionDate,'%W %b %D %Y %H:%i:%s') as Transaction_Date,\n\tCONCAT(td_product_id,': ',productdescription) as Product_Description,\n\tcs.cs_name as Website,\n\tcs.cs_ID as WebsiteID,\n\t\n'Subscription Information' as access_header,\n\tss_subscription_ID as Subscription_ID,\n\tDate_Format(ss_account_start_date,'%W %b %D %Y %H:%i:%s') as Account_Started,\n\tDate_Format(ss_account_expire_date,'%W %b %D %Y %H:%i:%s') as Account_Expiration,\n\tss_cancel_id,\n\tss_cust_username,\n\tss_cust_password,\n\tss_account_status,\n\tCONCAT(ss_rebill_status_text,' (',ss_rebill_status,')') as Rebill_Status,\n\tDate_Format(ss_last_rebill,'%W %b %D %Y %H:%i:%s') as Last_Rebill_Date,\n\t\n'Tracking Information' as access_header,\n\tcd_enable_tracking,\n\ttd_enable_tracking,\n\ttd_tracking_id,\n\ttd_tracking_link,\n\ttd_tracking_order_id,\n\ttd_tracking_company,\n\ttd_tracking_ship_date,\n\ttd_tracking_ship_est,\n\ttd_tracking_info,\n\t\n'Misc Information' as access_header_spanned,\n\ttd_non_unique\n\t\n", "{$transTable}\nleft join cs_subscription on td_ss_ID = ss_ID\nleft join cs_rebillingdetails as rd on rd_subaccount = td_rebillingID\nleft join cs_company_sites as cs on cs_ID = td_site_ID\nleft join cs_companydetails as cd on cd.userId = {$transTable}.userId\n", "{$field} = '{$id}' && {$transTable}.userId = '{$userId}'", array('disable' => true));
if ($access == -1) {
    dieLog("Invalid Transaction ~ ({$id})", "Invalid Transaction ~ ({$id})");
}
$transactionId = $access['Data']['transactionId']['Value'];
$transaction = new transaction_class(false);
$transaction->pull_transaction($transactionId);
unset($access['Data']['transactionId']);
$access['Data']['email']['Value'] = "<a href='mailto:" . $access['Data']['email']['Value'] . "'>" . $access['Data']['email']['Value'] . "</a>";
$access['Data']['cardtype']['DisplayName'] = 'Billing Type';
$access['Data']['amount']['Value'] = '$' . formatMoney($access['Data']['amount']['Value']);
$access['Data']['amount']['DisplayName'] = 'Amount Charged';
$access['Data']['Website']['Value'] = "<a href='addwebsiteuser.php?mode=edit&cs_ID=" . $access['Data']['WebsiteID']['Value'] . "'>" . $access['Data']['Website']['Value'] . "</a>";
unset($access['Data']['WebsiteID']);
if (!$access['Data']['Chargeback']['Value']) {
    unset($access['Data']['Chargeback']);
}
if (!$access['Data']['Refunded']['Value']) {
    unset($access['Data']['Refunded']);
}
$ss_subscription_ID = $access['Data']['Subscription_ID']['Value'];
Beispiel #10
0
 function angel_refund_transaction()
 {
     foreach ($this->page_map as $index => $value) {
         ${$value} = $index;
     }
     $lookup = new lookup_class();
     $trans = $this->working_vars['transactions'];
     $curr = $this->working_vars['current_trans'] - 1;
     if (!isset($trans[$curr])) {
         return $this->angel_404("error message: 1000");
     }
     if (!$trans[$curr]['reference_number']) {
         return $this->angel_process_transaction();
     }
     $reference_number = $trans[$curr]['reference_number'];
     $trans = new transaction_class(false);
     $trans->pull_transaction($reference_number, 'td.reference_number');
     $refinfo = $trans->process_refund_request(array("actor" => 'Angel', 'notes' => $cancel_reason_decoded));
     if (!$refinfo['success']) {
         //angel_transfer_callcenter
         return "\n\t\t<ANGELXML>\n\t\t\t<MESSAGE>\n\t\t\t\t<PLAY>\n\t\t\t\t\t<PROMPT type=\"text\">\n\t\t\t\t\t\tThere was an error processing your refund request. " . $refinfo['status'] . " \n\t\t\t\t\t</PROMPT>\n\t\t\t\t</PLAY>\n\t\t\t\t<GOTO destination=\"/{$angel_transfer_callcenter}\" />\n\t\t\t</MESSAGE>\n\t\t</ANGELXML>\n\t\t\t";
     }
     $temp = "";
     $m = strlen($reference_number);
     for ($j = 0; $j < $m; $j++) {
         $temp .= $reference_number[$j] . ", ";
     }
     $refid = $temp;
     return "\n\t\t<ANGELXML>\n\t\t\t<MESSAGE>\n\t\t\t\t<PLAY>\n\t\t\t\t\t<PROMPT type=\"text\">\n\t\t\t\t\t\t" . $refinfo['status'] . ".  \n\t\t\t\t\t\t\n\t\t\t\t\t\tWe are sorry you were not satisfied with your purchase.\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\tThe refund reference number for this refund request is, {$refid}.\n\t\t\t\t\t\t\n\t\t\t\t\t\tAgain, that reference number is, {$refid}\n\t\t\t\t\t\t\n\t\t\t\t\t\tThank you for calling " . $this->template[$this->template_sel]['name'] . " support.\n\t\t\t\t\t</PROMPT>\n\t\t\t\t</PLAY>\n\t\t\t\t<ACTION type=\"hangup\"/>\n\t\t\t</MESSAGE>\n\t\t</ANGELXML>\t\t\n\t\t";
 }
require_once "includes/subscription.class.php";
require_once "includes/calendar.class.php";
require_once "includes/rebill.class.php";
$sessionlogin = $companyInfo['userId'];
$companyId = $companyInfo['userId'];
/**************
Define functions to process form
**************/
$rebills = new rebill_class();
$rebills->set_user($sessionlogin);
/****************
Process Form
****************/
if ($_POST['frm_cancel_rebills'] == "1") {
    foreach ($_POST['frm_cancel_ids'] as $id) {
        $trans = new transaction_class(false);
        $trans->pull_subscription($id, 'ss_subscription_id');
        $status = $trans->process_cancel_request(array("actor" => 'Merchant', 'verifyuserId' => $companyInfo['userId']));
    }
    unset($_REQUEST['frm_cancel_ids']);
    unset($_REQUEST['frm_cancel_rebills']);
    //$params = $rebills->request_params("frm_");
    //header("Location: rebillSummary_smart.php?$params");
    //exit();
}
$rebill_info = $rebills->get_rebill_info();
/**************
Define pairs
**************/
$my_sql['pairs']['SubAccounts'] = array();
$my_sql['pairs']['SubAccounts'][] = array("display" => "All", "value" => "");
$profit = $RF->get_profit(array('EffectiveOnly' => false, 'where_trans' => array('td_ss_ID' => $ss_ID)), 2);
$row = 2;
$access['Data']['Breakdown']['RowDisplay'] = 'Wide';
$access['Data']['Breakdown']['Input'] = '';
$access['Data']['Breakdown']['disable'] = true;
$smarty->assign("Profit", $profit);
$access['Data']['Breakdown']['AddHtml'] = $smarty->fetch('cp_profitreport.tpl');
if ($_POST['submit_access'] == 'Submit') {
    $result = processAccessForm(&$access);
    if ($result) {
        $msg .= "Company Updated Successfully (" . $result['cnt'] . " Field(s))<BR>";
    } else {
        $msg .= "No Updates Detected<BR>";
    }
    if ($_POST['update_manager']) {
        $subscription = new transaction_class(false);
        $subscription->pull_subscription($ss_subscription_ID, 'ss.ss_subscription_ID');
        $res = $subscription->update_account_status();
        $submsg = '';
        if ($res[0]['succeeded']) {
            $submsg .= " postNotify:" . htmlentities(substr($res[0]['response']['body'], 0, 20));
        }
        if ($res[1]['succeeded']) {
            $submsg .= " htaccess:" . htmlentities(substr($res[1]['response']['body'], 0, 20));
        }
        if ($res) {
            $msg .= "Account Status Updated Successfully ( {$submsg})<BR>";
        }
        $access['Data']['ss_account_status']['Value'] = $subscription->row['subscriptionTable']['ss_account_status'];
        $access['Data']['ss_account_notes']['Value'] = $subscription->row['subscriptionTable']['ss_account_notes'];
    }
print_r(subscription_get_notes("S2FD4FFED0C0732316"));

exit();
*/
/*
require_once("includes/subFunctions/banks.checkgateway.php");

$bankInfo = bank_GetByID("32");
$processor = new CheckGateway_Client($bankInfo,"Live");
$log = $processor->process_transactions();
echo $log;
*/
require_once "includes/SOAP/Client.php";
require_once "includes/subFunctions/banks.ipaygate.php";
$bankInfo = bank_GetByID(33);
$trans = new transaction_class();
$trans->pull_transaction("10001722");
$processor = new iPayGate_Client($bankInfo);
$transInfo = $trans->row['transactionTable'];
$params = array("customerpaymentpagetext" => "0001ETELEG01", "orderDescription" => "0001etelegate.net 1800-6760127", "currencyText" => "USD", "taxAmount" => "0", "purchaseAmount" => "1.95", "cardHolderName" => "fdgsgsd sgddstgsdg", "cardNo" => "4444333322221111", "cardTypeText" => "visa", "securityCode" => "123", "cardExpireMonth" => "08", "cardExpireYear" => "2020");
$res = $processor->Execute_Sale($params);
echo "<pre>";
print_r($res);
echo "</pre>";
/*

$compinfo = merchant_getInfo(1328);
$contract = genMerchantContract($compinfo);
echo $contract['et_htmlformat'];
*/
//////////////////////////////////////////
    }
}
if (sizeof($query) < 2) {
    beginTable();
    echo "Insufficient Information. Please try again.";
    endTable('Insufficient Information', "lookup.php?{$link_info}", false, true);
    die;
}
$access = getAccessInfo("\nss_ID,\n\n'Account Information' as access_header,\n\tss_subscription_ID as Subscription_ID,\n\tDate_Format(ss_account_start_date,'%W %b %D %Y %H:%i:%s') as Account_Started,\n\tss_productdescription,\n\tss_cust_username,\n\tss_cust_password,\n\tss_account_status,\n\tss_account_expire_date,\n\tcs.cs_name as Website,\n\tcs.cs_member_url as WebsiteURL,\n\t\n'Customer Information' as access_header,\n\tCONCAT(ss_billing_lastname,', ',ss_billing_mi,' ',ss_billing_firstname) as Full_Name,\n\tss_cust_email as Email,\n\t\n'Billing Information' as access_header,\n\tss_billing_type,\n\tss_billing_card,\n\tss_billing_check_account,   \t  \n\tss_billing_check_routing,\n\tDate_Format(ss_rebill_next_date,'%W %b %D %Y %H:%i:%s') as Next_Rebill_Date,\n\tss_rebill_amount,\n\tss_rebill_status,\n\tDate_Format(ss_last_rebill,'%W %b %D %Y %H:%i:%s') as Last_Rebill_Date,\n\treference_number as Last_Transaction,\n\t\n\n'Account Notes' as access_header,\n\tss_account_notes,\n\n'Cancel Subscription' as access_header,\n\tss_cancel_id,\n\t'' as cancel_subscription_select,\n\t'' as cancel_subscription_reason,\n\t'' as cancel_subscription\n", "cs_subscription\nleft join cs_transactiondetails on transactionID = ss_transaction_id\nleft join cs_rebillingdetails as rd on rd_subaccount = ss_rebill_ID\nleft join cs_company_sites as cs on cs_ID = ss_site_ID\n", "{$sql_where}", array('disable' => true, 'HideIfEmpty' => true));
if ($access == -1) {
    beginTable();
    echo "Transaction Information was not found. Please try again.";
    endTable('Transaction Not Found', "lookup.php?{$link_info}", false, true);
    die;
}
$subscription = new transaction_class(false);
$subscription->pull_subscription($access['Data']['ss_ID']['Value']);
$access['Data']['ss_rebill_amount']['Value'] = '$' . formatMoney($access['Data']['ss_rebill_amount']['Value']);
$access['Data']['ss_rebill_amount']['DisplayName'] = 'Next Rebill Amount';
if ($_POST['cancel_rebill'] && $access['Data']['ss_rebill_status']['Value'] == 'active') {
    if ($_POST['ss_rebill_status_text']) {
        $notes = quote_smart($_POST['ss_rebill_status_text'] . " - " . $_POST['cancel_subscription_reason']);
        $status = $subscription->process_cancel_request(array("actor" => '.NET', 'notes' => $notes));
        if ($status) {
            $msg = "Subscription ID " . $subscription->row['subscriptionTable']['ss_subscription_ID'] . " cancelled (Ref ID: " . $status['ss_cancel_id'] . ")";
        } else {
            $msg = "Subscription ID " . $subscription->row['subscriptionTable']['ss_subscription_ID'] . " failed to cancel.";
        }
        $access['Data']['ss_rebill_status']['Value'] = $subscription->row['subscriptionTable']['ss_rebill_status'];
        $access['Data']['ss_account_notes']['Value'] = $subscription->row['subscriptionTable']['ss_account_notes'];
        $access['Data']['ss_cancel_id']['Value'] = $subscription->row['subscriptionTable']['ss_cancel_id'];
Beispiel #15
0
        $refund_type = "Customer Service Refund";
        $error_msg = exec_refund_request($transactionInfo['transactionId'], $refund_type, $_REQUEST['refund_reason']);
        $cs_live_tree['lt_question_text'] = "Refund Request Completed. You will recieve an email notification as soon as your refund is processed. ({$error_msg})";
        $_SESSION['cs_found_call_log'] = $_REQUEST['refund_reason'];
        $_SESSION['cs_found_call_subject'] = 'Refund Request for ' . $transactionInfo['reference_number'];
        $_SESSION['cs_found_call_resolved'] = true;
    } else {
        $options = NULL;
        $actionurl = "livetree.php?lt_ID=" . $cs_live_tree['lt_ID'];
        $options[] = array("name" => "refund_text", "descr" => "Please Enter the Reason for this Refund:", "type" => "textarea", "title" => "Refund Request for {$reference_number}:\n");
        $options[] = array('url' => $actionurl . "&refundtd=" . $reference_number, 'title' => 'Refund Order', 'descr' => 'Refund Order:', "fields" => array(array("var" => "refund_reason", "val" => "refund_text")));
    }
}
if ($cs_live_tree['lt_action'] == 'cancel') {
    if ($_REQUEST['canceltd'] && $_REQUEST['canceltd'] == $reference_number) {
        $trans = new transaction_class(false);
        $trans->pull_transaction($transactionInfo['transactionId']);
        $status = $trans->process_cancel_request(array("actor" => 'Customer Service'));
        $msg = "Subscription Canceled";
        $cs_live_tree['lt_question_text'] = "Subscription Cancelation Complete. Your order will not be rebilled.";
        $_SESSION['cs_found_call_log'] = "Customer Service Subscription Cancel for " . $transactionInfo['reference_number'];
        $_SESSION['cs_found_call_subject'] = 'Customer Service Subscription Cancel for ' . $transactionInfo['reference_number'];
        $_SESSION['cs_found_call_resolved'] = true;
    } else {
        $options = NULL;
        $actionurl = "livetree.php?lt_ID=" . $cs_live_tree['lt_ID'];
        $options[] = array('url' => $actionurl . "&canceltd=" . $reference_number, 'title' => 'Cancel Subscription', 'descr' => 'Cancel Subscription');
    }
}
// Replace Variables
if ($reference_number) {
Beispiel #16
0
foreach ($file as $data1) {
    $assoc = array();
    $data = explode('|', $data1);
    foreach ($keys as $row => $key) {
        $assoc[trim($key)] = trim($data[$row]);
    }
}
print_r($assoc);
die;
require_once "../includes/subFunctions/banks.ipaygate.php";
$processor = new iPayGate_Client($bankInfo);
$sql = "SELECT ss_ID\r\nFROM cs_subscription where ss_billing_type in ('Check');\r\n";
$cnt = 0;
$result = mysql_query($sql) or dieLog(mysql_errno() . ": " . mysql_error() . "<BR>");
while ($cs_subscription = mysql_fetch_assoc($result)) {
    $subs = new transaction_class(false);
    $subs->pull_subscription($cs_subscription['ss_ID']);
    $transInfo['ss_billing_check_routing'] = $subs->etelDecSalted($subs->row['subscriptionTable']['ss_billing_check_routing']);
    $transInfo['ss_billing_check_account'] = $subs->etelDecSalted($subs->row['subscriptionTable']['ss_billing_check_account']);
    if (!is_numeric($transInfo['ss_billing_check_routing'])) {
        $transInfo['ss_billing_check_routing'] = etelDec($subs->row['transactionTable']['bankroutingcode']);
        if (is_numeric($transInfo['ss_billing_check_routing'])) {
            echo "update cs_subscription set ss_billing_check_routing = '" . $subs->etelEncSalted($transInfo['ss_billing_check_routing']) . "' \r\n\t\t\t\r\n\t\t\twhere ss_ID = '" . $cs_subscription['ss_ID'] . "';<br>";
        } else {
            echo $cs_subscription['ss_ID'] . ' PROBLEM ' . $transInfo['ss_billing_check_account'] . '<BR>';
        }
    } else {
    }
    flush();
}
die($sqlchange);
Beispiel #17
0
function smart_restartRebill($values, $action)
{
    $trans = new transaction_class(false);
    $trans->pull_transaction($values['append']);
    $status = $trans->process_subscription_restart(array("actor" => 'Administrator'));
    return array("action" => "Subscription ID " . $trans->row['subscriptionTable']['ss_subscription_ID'] . " restarted.", "status" => $status ? "success" : "fail");
}
    }
}
if (sizeof($query) < 2) {
    beginTable();
    echo "Insufficient Information. Please try again.";
    endTable('Insufficient Information', "lookup.php?{$link_info}", false, true);
    die;
}
$access = getAccessInfo("\ntransactionId,\n\n'Customer Information' as access_header,\n\tCONCAT(surname,', ',name) as Full_Name,\n\tcs_transactiondetails.country,\n\tcs_transactiondetails.email,\n\t\n'Billing Information' as access_header,\n\tamount,\n\tCONCAT(\t\n\t\tif(status!='D',\n\t\t\tif(status='P','Pending', 'Approved'),\n\t\t\t'Declined'\n\t\t)\t\t\n\t) as status,\n\tif(td_is_a_rebill=1,' Rebilled Transaction',' New Order') as Type_Of_Purchase,\n\tcardtype,\n\tCCnumber,\n\tbankaccountnumber,\n\tbankroutingcode,\n\tbk_descriptor_visa as Billing_Descriptor,\n\tif(cancelstatus='Y',CONCAT('Refunded - ',cancel_refer_num),'') as Refunded,\n\tif(td_is_chargeback='1','Charged Back','') as Chargeback,\n\t\n'Purchase Information' as access_header,\n\treference_number as Reference_ID,\n\tDate_Format(transactionDate,'%W %b %D %Y %H:%i:%s') as Transaction_Date,\n\tproductdescription as Product_Description,\n\tcs.cs_name as Website,\n\tcs.cs_member_url as WebsiteURL,\n\t\n'Subscription Information' as access_header,\n\tss_subscription_ID as Subscription_ID,\n\tDate_Format(ss_account_start_date,'%W %b %D %Y %H:%i:%s') as Account_Started,\n\tDate_Format(ss_account_expire_date,'%W %b %D %Y %H:%i:%s') as Account_Expiration,\n\tss_cancel_id,\n\tss_cust_username,\n\tss_cust_password,\n\tss_account_status,\n\tDate_Format(ss_last_rebill,'%W %b %D %Y %H:%i:%s') as Last_Rebill_Date,\n\t\n'Tracking Information' as access_header,\n\tcd_enable_tracking,\n\ttd_enable_tracking,\n\ttd_tracking_id,\n\ttd_tracking_link,\n\ttd_tracking_order_id,\n\ttd_tracking_company,\n\ttd_tracking_ship_date,\n\ttd_tracking_ship_est,\n\ttd_tracking_info,\n\t\n'Refund Request' as access_header,\n\t'' as refund_select,\n\t'' as refund_reason,\n\t'' as refund_request,\n\tnote_id,\n\tDate_Format(call_date_time,'%W %b %D %Y %H:%i:%s') as Refund_Requested_On,\n\tcustomer_notes\n\t\n", "cs_transactiondetails\nleft join cs_subscription on td_ss_ID = ss_ID\nleft join cs_bank as bk on cs_transactiondetails.bank_id = bk.bank_id\nleft join cs_rebillingdetails as rd on rd_subaccount = td_rebillingID\nleft join cs_company_sites as cs on cs_ID = td_site_ID\nLEFT JOIN `cs_callnotes` as cn ON `transactionId` = cn.`transaction_id` \nleft join cs_companydetails as cd on cd.userId = cs_transactiondetails.userId\n", "{$sql_where}", array('disable' => true, 'HideIfEmpty' => true));
if ($access == -1) {
    beginTable();
    echo "Transaction Information was not found. Please try again.";
    endTable('Transaction Not Found', "lookup.php?{$link_info}", false, true);
    die;
}
$transaction = new transaction_class(false);
$transaction->pull_transaction($access['Data']['transactionId']['Value']);
$style_refund_select = '';
$style_refund_reason = '';
if ($_POST['refund_request'] && !$access['Data']['Refunded']['Value'] && !$access['Data']['note_id']['Value']) {
    $notes = quote_smart($_POST['refund_select'] . " - " . $_POST['refund_reason']);
    $msg = "<b>Please Enter a Detailed Reason for the Refund Request.</b>";
    if (strlen($_POST['refund_reason']) > 10 && $_POST['refund_select']) {
        $refInfo = $transaction->process_refund_request(array("actor" => '.NET', 'notes' => $notes));
        $error_msg = $refInfo['status'];
        $msg = "Transaction Reference " . $transaction->row['transactionTable']['reference_number'] . " {$error_msg}.";
        $access['Data']['note_id']['Value'] = 1;
        unset($access['Data']['Refund_Requested_On']);
        $access['Data']['customer_notes']['Value'] = $notes;
    } else {
        if (!$_POST['refund_select']) {
 function createSubscription()
 {
     if ($this->transInfo['ss_account_status'] == 'inactive' && $this->transInfo['ss_rebill_status'] == 'inactive') {
         return $this->transInfo;
     }
     $expD = explode("/", $this->transInfo['validupto']);
     $expYear = $expD[0];
     $expMonth = $expD[1];
     $salt = md5(mt_rand(1, 2000000000));
     //if($this->transInfo['checkorcard']=='C') $ss_billing_type = 'Check';
     //else if($this->transInfo['cardtype'] == 'Visa') $ss_billing_type = 'Visa';
     //else if($this->transInfo['cardtype'] == 'Master') $ss_billing_type = 'Mastercard';
     //else
     $ss_billing_type = $this->transInfo['cardtype'];
     $ss_subscription_ID = $this->transInfo['td_subscription_id'];
     if (!$ss_subscription_ID) {
         $ss_subscription_ID = genRefId("subscription", "S");
     }
     $this->transInfo['td_subscription_id'] = $ss_subscription_ID;
     if (!$this->transInfo['ss_account_status']) {
         $this->transInfo['ss_account_status'] = 'active';
     }
     if (!$this->transInfo['ss_account_expire_date']) {
         $this->transInfo['ss_account_expire_date'] = $this->transInfo['td_recur_next_date'];
     }
     if (!$this->transInfo['ss_rebill_status']) {
         $this->transInfo['ss_rebill_status'] = $this->transInfo['td_enable_rebill'] == 1 ? "active" : "inactive";
     }
     if (!$this->transInfo['ss_rebill_status_text']) {
         $this->transInfo['ss_rebill_status_text'] = '';
     }
     if (!$this->transInfo['ss_rebill_amount']) {
         $this->transInfo['ss_rebill_amount'] = $this->transInfo['td_recur_charge'];
     }
     if (!$this->transInfo['ss_rebill_next_date']) {
         $this->transInfo['ss_rebill_next_date'] = $this->transInfo['td_recur_next_date'];
     }
     //$exists = $this->subscription_exists($this->transInfo['transactionId']);
     //if($exists) 																		// Why would this happen? -Ari
     //{
     //	$sql_action = "UPDATE";
     //	$sql_where = "WHERE ss_transaction_id = '" . $this->transInfo['transactionId']."'";
     //}
     //else
     //{
     $sql_action = "INSERT INTO";
     $sql_where = "";
     //}
     $ss_rebill_status = 'active';
     $subscription = "{$sql_action}\r\n\t\t\t\t\t\t\t`cs_subscription`\r\n\t\t\t\t\t\t\tSET\r\n\t\t\t\t\t\t\t `ss_subscription_ID`='" . quote_smart($ss_subscription_ID) . "',\r\n\t\t\t\t\t\t\t `ss_billing_firstname` = '" . quote_smart($this->transInfo['name']) . "',\r\n\t\t\t\t\t\t\t `ss_billing_mi` = '',\r\n\t\t\t\t\t\t\t `ss_billing_lastname` = '" . quote_smart($this->transInfo['surname']) . "',\r\n\t\t\t\t\t\t\t `ss_billing_address` = '" . quote_smart($this->transInfo['address']) . "',\r\n\t\t\t\t\t\t\t `ss_billing_address2` =  '',\r\n\t\t\t\t\t\t\t `ss_billing_city` = '" . quote_smart($this->transInfo['city']) . "',\r\n\t\t\t\t\t\t\t `ss_billing_state` = '" . quote_smart($this->transInfo['state']) . "',\r\n\t\t\t\t\t\t\t `ss_billing_country` = '" . quote_smart($this->transInfo['country']) . "',\r\n\t\t\t\t\t\t\t `ss_billing_zipcode` = '" . quote_smart($this->transInfo['zipcode']) . "',\r\n\t\t\t\t\t\t\t `ss_billing_last_ip` = '" . quote_smart($this->transInfo['ipaddress']) . "',\r\n\t\t\t\t\t\t\t `ss_billing_type` = '" . $ss_billing_type . "',\r\n\t\t\t\t\t\t\t `ss_billing_card` = '" . transaction_class::etelEncSalted($this->transInfo['CCnumber'], $salt) . "',\r\n\t\t\t\t\t\t\t `ss_billing_exp` = '" . ($this->transInfo['checkorcard'] == 'H' ? date("Y-m-d", strtotime($expYear . "-" . $expMonth . "-01")) : "") . "',\r\n\t\t\t\t\t\t\t `ss_billing_cvv2` = '" . transaction_class::etelEncSalted($this->transInfo['cvv'], $salt) . "',\r\n\t\t\t\t\t\t\t `ss_billing_check_account` = '" . transaction_class::etelEncSalted($this->transInfo['bankaccountnumber'], $salt) . "',\r\n\t\t\t\t\t\t\t `ss_billing_check_routing` = '" . transaction_class::etelEncSalted($this->transInfo['bankroutingcode'], $salt) . "',\r\n\t\t\t\t\t\t\t `ss_salt` = '{$salt}',\r\n\t\t\t\t\t\t\t `ss_cust_email` = '" . quote_smart($this->transInfo['email']) . "',\r\n\t\t\t\t\t\t\t `ss_cust_phone` = '" . quote_smart($this->transInfo['phonenumber']) . "',\r\n\t\t\t\t\t\t\t `ss_cust_username` = '" . quote_smart($this->transInfo['td_username']) . "',\r\n\t\t\t\t\t\t\t `ss_cust_password` = '" . quote_smart($this->transInfo['td_password']) . "',\r\n\t\t\t\t\t\t\t `ss_rebill_ID` = '" . quote_smart($this->transInfo['td_rebillingID']) . "',\r\n\t\t\t\t\t\t\t `ss_rebill_next_date` = '" . $this->transInfo['ss_rebill_next_date'] . "',\r\n\t\t\t\t\t\t\t `ss_rebill_amount` = '" . $this->transInfo['td_recur_charge'] . "',\r\n\t\t\t\t\t\t\t `ss_rebill_status` = '" . $this->transInfo['ss_rebill_status'] . "',\r\n\t\t\t\t\t\t\t `ss_rebill_status_text` = '" . $this->transInfo['ss_rebill_status_text'] . "',\r\n\t\t\t\t\t\t\t `ss_rebill_attempts` = 0,\r\n\t\t\t\t\t\t\t `ss_rebill_count` = 0,\r\n\t\t\t\t\t\t\t `ss_account_status` = '" . $this->transInfo['ss_account_status'] . "',\r\n\t\t\t\t\t\t\t `ss_account_start_date` = now(),\r\n\t\t\t\t\t\t\t `ss_account_notes` = CONCAT(NOW(), ': Transaction (" . $this->transInfo['reference_number'] . ") Approved. Creating Subscription...\nNext Rebill Date: " . $this->transInfo['td_recur_next_date'] . "'),\r\n\t\t\t\t\t\t\t `ss_account_expire_date` = '" . $this->transInfo['ss_account_expire_date'] . "',\r\n\t\t\t\t\t\t\t `ss_transaction_id` = '" . $this->transInfo['transactionId'] . "',\r\n\t\t\t\t\t\t\t `ss_productdescription` = '" . quote_smart($this->transInfo['productdescription']) . "',\r\n\t\t\t\t\t\t\t `ss_site_ID` = '" . $this->transInfo['td_site_ID'] . "',\r\n\t\t\t\t\t\t\t `ss_user_id` ='" . $this->transInfo['userId'] . "',\r\n\t\t\t\t\t\t\t `ss_bank_id` ='" . $this->transInfo['bank_id'] . "'\r\n\t\t\t\t\t\t\t {$sql_where} \r\n\t\t\t\t\t\t\t";
     sql_query_write($subscription) or dieLog(mysql_error());
     $this->transInfo['td_ss_ID'] = mysql_insert_id();
     return $this->transInfo;
 }