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 = "";
$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']);
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'];
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'];
$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) {
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);
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; }